학생 릴레이션(테이블)
| 학번 (primary key) | 이름 | 학과 | 주민등록번호 | 성별 | 전화번호 |
| 20230001 | 김 | A학과 | 000000-1231230 | 남 | 1 |
| 20230002 | 김 | A학과 | 000000-1931231 | 남 | 2 |
| 20230003 | 신 | B학과 | 000000-2731232 | 여 | 3 |
| 20230004 | 홍 | D학과 | 000000-2631233 | 여 | 4 |
| 20230005 | 임 | C학과 | 000000-2531234 | 여 | 5 |
| 20230006 | 최 | A학과 | 000000-1431235 | 남 | 6 |
기본키 (primary key)
- 릴레이션에서 튜플을 유일하게 식별할 수 있는 속성이나 속성의 집합입니다. 예를 들어, 학생 릴레이션에서 학번이 기본키가 될 수 있습니다. 기본키는 유일성과 최소성을 만족해야 합니다. 즉, 중복되거나 불필요한 속성이 없어야 합니다.
후보키 (candidate key)
- 기본키(primary key)로 사용할 수 있는 속성들의 부분집합입니다. 예를 들어, 학생 릴레이션에서 주민등록번호나 전화번호도 후보키가 될 수 있습니다. 후보키도 유일성과 최소성을 만족해야 합니다
대체키 (alternate key)
- 후보키(candidate key) 중에서 기본키로 선택되지 않은 키입니다. 예를 들어, 학생 릴레이션에서 학번을 기본키로 정하면 주민등록번호나 전화번호가 대체키가 됩니다.
슈퍼키 (super key)
- 튜플을 유일하게 식별할 수 있는 속성들의 집합입니다. 예를 들어, 학생 릴레이션에서 학번+주민등록번호나 전화번호+학번+주민등록번호가 슈퍼키가 될 수 있습니다. 슈퍼키는 유일성은 만족하지만 최소성은 만족하지 않습니다. 즉, 불필요한 속성이 포함될 수 있습니다.
외래키 (foreign key)
- 다른 릴레이션의 기본키를 참조하는 속성입니다. 예를 들어, 수강 릴레이션에서 학번은 외래키가 됩니다.
수강 릴레이션(테이블)
| ID (primery key) | 학번 (foreign key) | 과목 |
| 1 | 20230001 | 수학 |
| 2 | 20230004 | 국어 |