2018년 11월 23일
키(Key) 제약
I. 데이터 모델링 무결성 위한, 키(Key)의 제약
유형 | 구현 형태 | 설명 |
---|---|---|
본질적 제약 | – 데이터 모델 구조적 특성 제약 – 반드시 Primary Key 있어야하고 테이블 셀 단일 값(1차 정규화) | – Primary Key – Unique Key |
내재적 제약 | – 의미를 정확히 표현, 오류 방지 – DB 스키마 지정 제약 – 영역 제약, 참조 무결성 제약 | – Foreign Key – Check – Not null |
명시적 제약 | – 프로그램에 명시하거나 사용자 수작업으로 생성 | – Programmatic |
- DBMS가 발전할수록 프로그램 통한 명시적 제약 대신 스키마 통한 내재적 제약 형태 사용
II. 키(Key)의 본질적 제약 및 내재적 제약
가. 키(Key)의 본질적 제약
- 본질적 제약을 위한 키의 특성 및 종류
구분 | 항목 | 설명 |
---|---|---|
키의 특성 | 유일성 | – 기본키로서 각 튜플 유일하게 구별 |
최소성 | – 최소 속성을 기본키로 사용, 유일성 보장 | |
키의 종류 | 후보키 | – 항상 유일성과 최소성 모두 만족 |
기본키 | – 후보키 중 하나를 대표로 선정하여 사용 | |
대체키 | – 기본키 외 후보키들의 집합 |
- 관계형 데이터모델은 다른 데이터 모델에 비해 비교적 적은 본질적 제약 가짐
나. 키(Key)의 내재적 제약
- 내재적 제약의 제약 유형 및 형태
제약 유형 | 구현 형태 | 설명 |
---|---|---|
참조 무결성 제약 | – Foreign Key | – 두 관계 튜플 간 일관성 유지 위한 명시 제약 |
범위 제약 | – Check, Default – Not null, Rule | – 컬럼(속성) 형식의 제약 – 잘못된 입력 방지 |
- 개발자의 생산성이나 입력 오류 가능성 고려 시 무결성 내재적 제약으로 지키는 것이 효율