릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별할 수 있는 속성들의 부분집합을 의미한다.
모든 릴레이션은 반드시 하나 이상의 후보키를 가져야 한다.
릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 만족시켜야한다.
후보키들 중 메인으로 선정되는 키로 후보키의 성질을 갖는다.
후보키의 성질인 유일성과 최소성을 가지며, 해당 레코드를 식별할때 사용하는 유일한 속성.
NULL값이 존재할 수 없다.(개체 무결성의 첫번째 조건)
레코드의 값은 중복이 불가능하다.
테이블에는 하나의 기본키만 가질 수 있지만 경우에 따라 1개 이상의 기본키를 정의할 수도 있다. (다수 열 기본 키, 복합 기본 키)
기본키는 꼭 모든 테이블에 존재 하는걸까?
기본 키를 정의하지 않고 테이블 생성이 가능하지만 데이터베이스의 제어 및 관리, 최적화를 위해서라면 기본 키를 생성하는 것이 바람직하다.
후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키들을 말합니다.
보조키라고도 합니다.
슈퍼키는 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로서 릴레이션을 구성하는 모든 튜플 중 슈퍼키로 구성된 속성의 집합과 동일한 값은 나타내지 않습니다.
릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족하지만, 최소성은 만족시키지 못한다.
관계(Relation)를 맺고 있는 릴레이션 R1, R2에서 릴레이션 R1이 참조하고 있는 릴레이션 R2의 기본키와 같은 R1 릴레이션의 속성
외래키는 참조되는 릴레이션의 기본키와 대응되어 릴레이션 간에 참조 관계를 표현하는데 중요한 도구로 사용된다.
외래키로 지정되면 참조 테이블의 기본키에 없는 값은 입력할 수 없습니다. (참조 무결성 조건)