쏭의 개발 블로그
[DB] Key 본문
1. key란?
key attribute (키 속성)
- entity type에 해당하는 entity들을 유일하게 식별해 낼 수 있는 속성
-
- 같은 속성을 가지는 entity들의 그룹 유형
- 데이터베이스 스키마 ex) EMPLOYEE, COMPANY1개의 entity type에 1개 이상의 key attribute를 가질 수 있음
💡 Entity type이란?
- - 같은 속성을 가지는 entity들의 그룹 유형 - 데이터베이스 스키마
- ex) EMPLOYEE, COMPANY
key
- 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 기준이 되는 속성
2. Key의 종류
(1) Super Key :슈퍼키
- 유일성을 만족하는 속성
- 유일성 : key 하나로 튜플을 유일하게 식별 가능
- ex) {학번+이름}, {주민등록번호+학번}, 학번
- 어떤 속성끼리 묶던 중복값이 안나오고 서로 구별만 할 수 있으면 됨
- super key에서 하나라도 제거하면 super key가 아닌 attribute의 집합이 됨
- ex) {학번+이름}에서 학번이 제거되면 super key가 아님
💡 Key 는 minimal super key이다.
- 모든 key는 super key이다 (O)
- 모든 super key는 key이다 (X)
2) Candidate Key :후보키
- 유일성과 최소성을 만족하는키
- 유일성 : key 하나로 튜플을 유일하게 식별 가능
- 최소성 : 꼭 필요 속성으로만 구성
- 기본키가 될 수 있는 후보
- 모든 릴레이션은 반드시 1개 이상의 후보키를 가져야 함
- ex) {학번+이름}은 최소성을 만족하지 못하므로 후보키X
3) Primary Key :기본키
- = key
- 후보키(Candidate Key) 중 선택된 1개의 키로 최소성과 유일성을 만족하는 속성
- 기본키는 오직 1개만 지정 가능
- NULL값 불가능, 중복값 불가
- 후보키(Candidate Key) 중에서 사이즈(attribute 수)가 가장 작은 키
- 특징
- 릴레이션에서 각 튜플을 유일하게 식별해냄
- 다른 튜플에서 튜플을 참조 (참조하는 릴레이션의 foreign key)
4) Surrogate Key :대체키
- 후보키(Candidate Key) 중 기본키(Primary Key)로 선택되지 않은 키
- 오로지 식별을 하기위한 key
- 기본키가 없어지게 되면 없어진 기본키를 대체 가능
5) Foreign Key :외래키
- 어떤 테이블(Relation)의 기본키(Primary Key)를 참조하는 속성
- 참조되는 테이블(A) 생성 후 참조하는 테이블(B) 생성
- A의 primary key를 참조하여 B의 foreign key
'DB' 카테고리의 다른 글
[DB] 정규화 (0) | 2023.01.31 |
---|---|
[DB] 이상현상(Anomaly) (0) | 2023.01.31 |
[DB] SQL vs NoSQL (0) | 2023.01.31 |
[DB] Index 색인 (1) | 2023.01.30 |
[DB] 데이터베이스 개념 (0) | 2023.01.30 |