제약 조건이란 데이터베이스에 저장되는 데이터의 정확성을 보장하기 위하여 키(Key)를 이용하여 입력되는 데이터에 제한을 주는 것으로 개체 무결성 제약, 참조 무결성 제약 등이 해당된다.
데이터베이스에서 튜플들을 서로 구분할 수있는 기준이 되는 애트리뷰트를 말함
릴레이션을 구성하는 속성들 중 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합이다. 즉, 기본키로 사용할 수 있는 속성들을 말함
모든 릴레이션은 반드시 하나 이상의 후보키를 가져야 함
모든 튜플들에 대해 유일성, 최소성을 만족해야 함
<학생> 릴레이션에서 학번, 주민번호
후보키 중에서 선택한 주키로 NULL 값이 될 수 없음
한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성
기본키로 저장된 속성에는 동일한 값이 중복되어 저장될 수 없음
<학생> 릴레이션에서 학번이나 주민번호, <수강> 릴레이션에서는 '학번+과목명' 조합
후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키들을 말함
<학생> 릴레이션에서 학번을 기본키로 정의할 시 주민번호는 대체키가 됨
한 릴레이션 내에 있는 속성들의 집합으로 구성된 키
<학생> 릴레이션에서 '학번', '주민번호', '학번+주민번호', '학번+주민번호+상명' 등으로 슈퍼키 구성 가능
다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합
외래키는 참조되는 릴레이션의 기본키와 대응되어 참조 관계를 표현함
외래키로 지정되면 참조 릴리에션의 기본키에 없는 값은 입력할 수 없음
<수강> 릴레이션이 <학생> 릴레이션을 참조하고 있으므로
<학생> 릴레이션의 학번이 기본키이고 <수강> 릴레이션의 학번은 외래키가 됨