Ponieważ nie chcesz definicji podręcznikowych, ogólnie mówiąc, super klucz to zestaw kolumn, które jednoznacznie definiują wiersz.
Ten zestaw może zawierać jeden lub więcej elementów, a dla tabeli może być więcej niż jeden superklucz. Zwykle robisz to poprzez zależności funkcjonalne.
W twoim przykładzie zakładam:
StudentNumber unique
FamilyName not unique
Degree not unique
Major not unique
Grade not unique
PhoneNumber not unique
W tym przypadku superklucz to dowolna kombinacja zawierająca numer ucznia.
Oto superklucze
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
Teraz załóżmy, że jeśli numer telefonu jest unikalny (który współdzieli telefony w dzisiejszych czasach), to następujące są również superklucze (oprócz tego, co wymieniłem powyżej).
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
Klucz kandydujący to po prostu „najkrótszy” superklucz. Wracając do pierwszej listy superkluczy (tj. numer telefonu nie jest unikalny), najkrótszym superkluczem jest Numer Studenta.
Klucz podstawowy jest zwykle tylko kluczem kandydującym.