정보처리산업기사 필기 공부/데이터베이스
022 키( Key )의 개념 및 종류
개발자 김맹고
2021. 5. 15. 19:56
키의 개념
키(Key)는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 다른 튜플들과 구별할 수 있는 유일한 기준이 되는 애트리뷰트(속성)이다.
<학생> 릴레이션
<수강> 릴레이션
키의 종류
후보키 (Candidate Key) |
· 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합, 즉 기본키로 사용할 수 있는 속성들을 말함 · 릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 만족시켜야 함 ex. <학생> 릴레이션에서 '학번'이나 '주민번호'는 다른 레코드를 유일하게 구별할 수 있는 기본키로 사용할 수 있으므로 후보키이다. |
기본키 (Primary Key) |
· 후보키 중에서 선택한 주키(Main Key) · 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성 · Null 값을 가질 수 없음 · 기본키로 정의된 속성에는 동일한 값이 중복되어 저장될 수 없음 ex. <학생> 릴레이션에서는 '학번'이나 '주민번호'가 기본키가 될 수 있고, <수강> 릴레이션에서는 '학번'+'과목명'으로 조합해야 기본키가 만들어진다. ex. '학번'이 <학생> 릴레이션의 기본키로 정의되면 이미 입력된 '1001'은 다른 튜블의 '학번' 속성의 값으로 입력할 수 없다. |
대체키 (Alternate Key) |
· 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키들을 말하며, 보조키라고도 함 ex. <학생> 릴레이션에서 '학번'을 기본키로 정의하면 '주민번호'는 대체키가 된다. |
슈퍼키 (Super Key) |
· 슈퍼키는 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로서 릴레이션을 구성하는 모든 튜플 중 슈퍼키로 구성된 속성의 집합과 동일한 값은 나타나지 않음 · 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족시키지만, 최소성은 만족시키지 못함 ex. <학생> 릴레이션에서는 '학번', '주민번호', '학번'+'주민번호', '주민번호'+'성명', '학번'+'주민번호'+'성명' 등으로 슈퍼키를 구성할 수 있다. |
외래키 (Foreign Key) |
· 관계(Relationship)를 맺고 있는 릴레이션 R1, R2에서 릴레이션 R1이 참조하고 있는 릴레이션 R2의 기본키와 같은 R1 릴레이션의 속성 · 관계형 데이터 모델에서 외래키는 참조되는 릴레이션의 기본키와 대응되어 릴레이션 간에 참조 관계를 표현하는데 중요한 도구로 사용됨 · 외래키로 지정되면 참조 테이블의 기본키에 없는 값은 입력할 수 없음 ex. <수강> 릴레이션이 <학생> 릴레이션을 참조하고 있으므로 <학생> 릴레이션의 '학번'은 기본키이고, <수강> 릴레이션의 '학번'은 외래키이다. ex. <수강> 릴레이션의 '학번'에는 <학생> 릴레이션의 '학번'에 없는 값은 입력할 수 없다. |
널 값 / 최소성과 유일성
- 널 값(NULL Value) : 데이터베이스에서 아직 알려지지 않았거나 모르는 값으로서 '해당 없음' 등의 이유로 정보 부재를 나타내기 위해 사용하는, 이론적으로 아무것도 없는 특수한 데이터
- 최소성과 유일성 : '학번'+'주민번호'를 사용하여 슈퍼키를 만들면 다른 튜플들과 구분할 수 있는 유일성은 만족하지만, '학번'이나 '주민번호' 하나만 가지고도 다른 튜플들을 구분할 수 있으므로 최소성은 만족시키지 못함
길벗알앤디 (강윤석, 김용갑, 김우경), 정보처리 산업기사 필기 1권 핵심요약, 길벗(2019), p 31-32.
반응형