키(key)의 종류
- 후보키(Candidate Key) : 릴레이션(테이블)에서 각 튜플을 유일하게 식별할 수 있는 속성이나 속성의 집합. 유일성과 최소성을 모두 만족해야한다.
- 기본키(Primary Key) : 후보키 중에서 튜플을 식별하기 위해 특별히 선택된 키. 중복될 수 없으며, NULL 값이 올 수 없다.
- 대체키(Alternate Key) : 후보키 중에서 기본키를 제외한 속성.
- 외래키(Foreign Key) : 다른 키를 참조하기 위하여 사용되는 속성. 외래 식별자. 참조 릴레이션(테이블)의 기본키와 같아야 한다.
- 슈퍼키(Super Key) : 한 테이블(릴레이션)내의 튜플들을 식별할 수 있는 후보키와 다른 속성들과의 모든 조합. 유일성은 만족, 최소성은 만족 안함.
무결성(Integrity) 제약 조건
- 개체 무결성 : 모든 테이블의 튜플들은 유일값으로 식별되어야 함. 기본키는 null값이 올 수 없으며, 중복될 수 없다.
- 참조 무결성 : 테이블과 테이블 간에 외래 식별자를 이용해 상호 참조할 때 오류가 없어야 함. 외래키는 널값이 올 수 있으며, 참조 릴레이션의 기본키와 같아야 한다.
- 도메인 무결성 : 릴레이션(테이블)에서 속성값의 범위가 정의된 경우 그 속성값은 정해진 범위 이내의 값으로 구성되어야 함. 동일한 속성에 대해 데이터 타입과 데이터 길이가 동일해야 함.
- 고유(Unique) 무결성 : 특정 속성에 대해 고유한 값을 가지도록 조건이 주어진 경우, 그 속성값은 모두 달라야 한다.
- NULL 무결성 : 특정값에 NULL값이 올 수 없다는 조건.
- 키 무결성 : 한 릴레이션에는 최소한 하나의 키가 존재해야 한다.