Super Key
슈퍼키는 튜플을 유일하게 찾기만 하면 된다
최소성은 아직 따지지 않습니다. 이미 유일한 속성에 다른 속성을 붙여도 식별력은 유지되므로 여전히 슈퍼키입니다.
students 릴레이션
student_id와 email은 제약으로 유일하다고 가정합니다.
| student_id | name | |
|---|---|---|
| 2024001 | 김철수 | kim@ex.com |
| 2024002 | 김철수 | kim2@ex.com |
| 2024003 | 이영희 | lee@ex.com |
속성 집합 판정
모든 행이 서로 다른 값 조합을 갖는지 확인합니다.
{student_id}
학번이 중복되지 않음
슈퍼키
{student_id, name}
불필요한 name이 붙어도 유일함
슈퍼키
{all attributes}
이론적 릴레이션에서는 전체 튜플 조합이 유일함
슈퍼키
{name}
동명이인이 있으면 구분 불가
키 아님
조건
유일성만 만족하면 된다
최소성은 후보키 단계에서 따집니다.
확장
속성을 더해도 슈퍼키다
불필요해질 수는 있어도 식별력은 유지됩니다.
SQL 현실
중복 금지는 제약으로 선언한다
SQL 테이블은 PK나 UNIQUE가 없으면 중복 행을 허용할 수
있습니다.