[DB기초] 여러가지 키(기본키,후보키,외래키등)의 종류와 개념
- DB/Database Knowledge
- 2018. 8. 14.
키(Key)란? : 키는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 튜플들을 서로 구분할 수 있는 기준이 되는 애트리뷰트를 말한다.
키(Key)의 종류
후보키(Candidate Key)
1. 후보키는 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합, 즉 기본키로 사용할 수 있는 속성들을 말한다.
2. 하나의 릴레이션내에서는 중복된 튜플들이 있을 수 없으므로 모든 릴레이션에는 반드시 하나 이상의 후보키가 존재한다.
3. 후보키는 릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 만족시켜야 한다.
유일성 : 하나의 키값으로 하나의 튜플만을 유일하게 식별할 수 있어야한다.
최소성 : 모든 레코드들을 유일하게 식별하는데 꼭 필요한 속성만으로 구성되어 있어야한다.
기본키(Primary Key)
1. 기본키는 후보키 중에서 선택한 주키(Main Key)이다.
2. 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성이다.
3. Null값을 가질 수 없다.
4. 기본키로 정의된 속성에는 동일한 값이 중복되어 저장될 수 없다.
대체키(Alternate Key)
1. 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키들을 말한다.
2. 보조키라고도 한다.
슈퍼키(Super Key)
1. 슈퍼키는 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로서 릴레이션을 구성하는 모든 튜플들 중 슈퍼키로 구성된 속성의 집합과 동일한 값을 나타나지 않는다.
2. 슈퍼키는 릴레이션을 구성하는 모든 튜플에 대해 유일성을 만족시키지만, 최소성은 만족시키지 못한다.
최소성 : 학번 + 주민번호를 사용하여 슈퍼키를 만들면 다른 튜플들과 구분할 수 있는 유일성은 만족하지만 학번이나 주민번호 하나만 가지고도 다른 튜플들을 구분할 수 있으므로 최소성은 만족시키지 못한다.
외래키(Foregin Key)
1. 관계를 맺고 있는 릴레이션 R1,R2에서 릴레이션 R1이 참조하고 있는 릴레이션 R2의 기본키와 같은 R1 릴레이션의 속성을 외래키라고 한다.
2. 외래키는 참조되는 릴레이션의 기본키와 대응되어 릴레이션 간에 참조관계를 표현하는데 중요한 도구이다.
'DB > Database Knowledge' 카테고리의 다른 글
[DB기초] 관계대수, 관계해석이란 무엇인가? (1) | 2018.08.16 |
---|---|
[DB기초] 무결성이란 무엇인가(무결성 제약조건) (2) | 2018.08.15 |
[DB기초] 데이터베이스 설계시 고려사항 (1) | 2018.08.13 |
[DB기초] 데이터 모델의 개념과 구성요소 (1) | 2018.08.12 |