Da Sie keine Lehrbuchdefinitionen wollen, ist ein Superschlüssel, grob gesagt, eine Reihe von Spalten, die eine Zeile eindeutig definieren.
Diese Menge kann ein oder mehrere Elemente haben, und es kann mehr als einen Superschlüssel für eine Tabelle geben. Normalerweise tun Sie dies über funktionale Abhängigkeiten.
In Ihrem Beispiel gehe ich davon aus:
StudentNumber unique
FamilyName not unique
Degree not unique
Major not unique
Grade not unique
PhoneNumber not unique
In diesem Fall ist ein Superschlüssel eine beliebige Kombination, die die Matrikelnummer enthält.
Das Folgende sind also Superschlüssel
StudentNumber
StudentNumber, FamilyName
StudentNumber, FamilyName, Degree
StudentNumber, FamilyName, Degree, Major
StudentNumber, FamilyName, Degree, Major, Grade
StudentNumber, FamilyName, Degree, Major, Grade, PhoneNumber
StudentNumber, Degree
StudentNumber, Degree, Major
StudentNumber, Degree, Major, Grade
StudentNumber, Degree, Major, Grade, PhoneNumber
StudentNumber, Major
StudentNumber, Major, Grade
StudentNumber, Major, Grade, PhoneNumber
StudentNumber, Grade
StudentNumber, Grade, PhoneNumber
StudentNumber, PhoneNumber
Nehmen wir nun an, wenn PhoneNumber eindeutig ist (wer teilt heutzutage Telefone), dann sind die folgenden auch Superkeys (zusätzlich zu dem, was ich oben aufgelistet habe).
PhoneNumber
PhoneNumber, Grade,
PhoneNumber, Major, Grade
PhoneNumber, Degree, Major, Grade
PhoneNumber, FamilyName, Degree, Major, Grade
PhoneNumber, Major
PhoneNumber, Degree, Major
PhoneNumber, FamilyName, Degree, Major
PhoneNumber, StudentNumber, FamilyName, Degree, Major
PhoneNumber, Degree
PhoneNumber, FamilyName, Degree
PhoneNumber, StudentNumber, FamilyName, Degree
PhoneNumber, FamilyName
PhoneNumber, StudentNumber, FamilyName
Ein Kandidatenschlüssel ist einfach der "kürzeste" Superschlüssel. Zurück zur ersten Liste der Superkeys (d. h. die Telefonnummer ist nicht eindeutig), der kürzeste Superkey ist StudentNumber.
Der Primärschlüssel ist normalerweise nur der Kandidatenschlüssel.