教科書の定義は必要ないので、大まかに言えば、スーパーキーは行を一意に定義する列のセットです。
このセットには1つ以上の要素を含めることができ、テーブルには複数のスーパーキーを含めることができます。通常、これは機能依存性を介して行います。
あなたの例では、私は次のことを想定しています:
StudentNumber unique
FamilyName not unique
Degree not unique
Major not unique
Grade not unique
PhoneNumber not unique
この場合、スーパーキーは学生番号を含む任意の組み合わせです。
したがって、以下はスーパーキーです
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
ここで、PhoneNumberが一意である(最近電話を共有している)場合、以下もスーパーキーであると想定します(上記のリストに加えて)。
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
候補キーは、単に「最短」のスーパーキーです。スーパーキーの最初のリストに戻ると(つまり、電話番号は一意ではありません)、最短のスーパーキーはStudentNumberです。
通常、主キーは候補キーです。