하나의 테이블에서 각 로우(Row)를 고유(Unique)하게 식별(Identify)할 수 있는 칼럼(Column) 또는 칼럼의 조합이다.
- 슈퍼키
Super
Key- 후보키
Candidate
Key- 기본키
Primary
Key- 대체키
Alternate
Key- 외래키
Foreign
Key
테이블을 생성할 때 기본키(PK)와 외래키(FK)는 명시적으로 선언해야 한다.
- 테이블의 각 로우(Row)들을 식별할 수 있는 칼럼(Column) 또는 칼럼의 집합
- 고객 테이블을 분석하여 슈퍼키가 될 수 있는 칼럼이나 칼럼의 집합을 선정
판단 기준 : 모든 로우(Row)가 서로 다른 값을 가질 수 있는가?유일성(Unique)
- 선정된 슈퍼키의 예시
- 고객번호
- 아이디
- 휴대폰번호
- 주민번호
- 고객명 + 직업
- 최소한의 칼럼(가장 적은 수의 칼럼)으로 구성된 슈퍼키(Super Key)만 선정한 것
- 후보키는
유일성 + 최소성
- 선정된 후보키의 예시
- 고객번호
- 아이디
- 휴대폰번호
- 주민번호
- 후보키(Candidate Key) 중에서 DBA가 선택한 키를 의미
- 기본키(Primary Key, PK, 주키)는
유일성 + 최소성
- 기본키는
개체 무결성
NOT NULL
: 널(NULL) 값 XUNIQUE
: 중복된 값 X- 값이 변경되거나 의미가 변경될 수 있는 칼럼은 기본키로 부적절
- 선정된 기본키의 예시
- 고객번호
- 기본키(Primary Key)의 종류
자연키(Natural Key)
: 비즈니스 모델을 통해서 추출한 키, 즉 실제로 존재하는 데이터인공키(Artificial Key)
: 실제로 존재하지 않는 데이터를 인위적으로 추가한 키, 주로 AUTO INCREMENT 값을 사용
고객번호
아이디
휴대폰번호
주민번호
- 기본키(Primary Key) 키를 제외한 나머지 후보키(Candidate Key)를 의미
- 보조키
- 선정된 대체키의 예시
- 아이디
- 휴대폰번호
- 주민번호
중복 가능
, NULL 가능
참조 무결성
릴레이션은 참조할 수 없는 외래키값을 가질 수 없다.
개체 무결성
한 릴레이션의 기본키를 구성하는 어떠한 속성 값도 NULL값
이나 중복 값
을 가질 수 없다.
도메인 무결성
각 속성 값은 반드시 정의된 도메인에 속한 값이어야 한다.
예시 ) 성적은 A ~ F 중 1개