Wie macht man einen zusammengesetzten Schlüssel einzigartig?

Ich erstelle eine Datenbank mit Schülern einer Schule. Hier ist, was ich bisher habe:

Wenn Sie nicht gerne lesen, gehen Sie zum Teil "Kurz"

Das Problem ist, dass ich mit diesem Design nicht zufrieden bin. Ich möchte die Kombination vongrade, subgrade undid_class einzigartig zu sein und als Primärschlüssel für den Schülertisch zu dienen. Ich kann das entfernenstudent_id und mache einen zusammengesetzten Schlüssel aus den 3, aber ich will das auch nicht. Vielleicht sollte ich einen anderen Tisch machen, sagen wir malcombination_id wohergrade, subgrade undid_class sind Fremdschlüssel und es gibt eine zusätzliche Spaltecomb_id das dient als ID für die Tabelle. Alle Spalten sind Primärschlüssel. Das Problem ist jedoch, dass diese 3 Spalten aufgrund dieser zusätzlichen Spalte immer noch wiederholt werden können (comb_id). Zum Beispiel kann ich das gleiche habengrade, subgrade undclass_id aber anderscomb_id wodurch die Zeile aufgrund des zusammengesetzten Schlüssels der 4 Spalten der Tabelle gültig wird (combination_id).

Kurz gesagt, ich willstudents_id der einzige Primärschlüssel der Tabelle zu bleiben, aber ein Fremdschlüssel für eine andere Tabelle zu sein, die irgendwie eine einzigartige Kombination von istgrades, subgrade undclass_id.

Wenn ich nicht klar genug war, frage in den Kommentaren unten und danke im Voraus.

PSDer unbeschreibliche Titel tut mir leid, aber ich kann ihn schlecht benennen

EDIT 1: Um es klarer zu machen:grade kann 1 bis 12 seinsubgrade kann a bis j seinid_class kann 1 bis 30 sein und es ist Ihre Nummer in der Klasse

So kann ein Schüler aus der Klasse 7b und seine Nummer in der Klasse 5 sein

Antworten auf die Frage(3)

Ihre Antwort auf die Frage