DB key
DB key
DB key란
관계형 DB 모델에서 튜플(레코드)을 유일하게 구별할 수 있는 attribute(컬럼) 집합. 다음과 같은 종류 존재.
- Candidate key
- Primary key
- Alternate key
- Super key
- Foreign key
Super key
- 튜플을 유일하게 구별할 수 있는 attribute 집합. (key의 정의와 상동)
- Attribute 전체 집합은 무조건 super key이므로, 모든 relation은 한 개 이상의 super key를 가짐.
- 최소성을 만족하지 않음. 어떤 super key의 proper subset 역시 super key가 될 수 있음.
Candidate key
- Super key 중에서 최소성을 만족하는 key.
- 어떤 candidate key의 proper subset은 candidate key가 될 수 없음.
- 모든 relation은 하나 이상의 candidate key를 가짐.
Primary key
- Candidate key 중에서 주로 사용하기로 선택한 하나의 key.
- 해당 속성에는 NULL 값 및 중복된 값이 존재할 수 없음.
- 테이블에서 primary key를 기준으로 index를 생성하게 됨.
Alternate key
- Candidate key 중에서 primary key가 아닌 key.
Foreign key
- Attribute 집합 중 다른 테이블의 primary key를 참조하는 key.
- 두 relation간의 참조 관계를 표현.
- 참조하는 테이블의 primary key에 존재하지 않는 값은 존재할 수 없음. 이 조건을 참조 무결성이라고 함.
- 참조하는 테이블의 값이 변경되더라도 외래키 조건으로 인해 무결성을 유지 가능.
References
- https://limkydev.tistory.com/108
- https://kosaf04pyh.tistory.com/201
- https://en.wikipedia.org/wiki/Unique_key
- https://en.wikipedia.org/wiki/Foreign_key