본문 바로가기
DATABASE

키(Key) 의 종류에 대해 알아보자

by YoonJong 2023. 2. 19.
728x90

키는 릴레이션(테이블)에서 투플(행)을 구별하는 역할을 하는 속성 또는 속성의 집합을 의미합니다.

 

키에는 다양한 종류가 있습니다. 데이터베이스 개론이라는 책에서는 관계형 데이터베이스의 키를 5가지로 나누었지만,

추가적으로 같은 의미로 불리는 자연키와 대리키가 있습니다.

 

후보키 = 자연키 / 기본키 = 대리키 

종류 의미 예시
슈퍼키 유일성을 만족하는 속성 고객아이디 + 고객이름
후보키 유일성과 최소성을 만족하는 속성 고객아이디
기본키 후보키 중에서 기본적으로 사용하기 위해 선택한 키 Auto_Increment
대체키 기본키로 선택되지 못한 후보키 고객이름, 주소
외래키 다른 릴레이션의 기본키를 참조하는 속성 고객테이블(고객아이디) -> 주문테이블(주문고객)

 

가장 중요시 되는 키는 기본키(=대리키) 라고 생각합니다.

 

기본키를 선택할 때 고려해야할 사항에 대해 알아보겠습니다

 

1. 널(Null) 값을 가질 수 있는 속성이 포함된 후보키는 기본키로 부적합

-> 기본키로 투플을 구별해야 하기 때문에, 그에 대한 값이 없을 경우에는 부적합합니다.

 

2. 값이 자주 변경될 수 있는 속성이 포함된 후보키는 기본키로 부적합

-> 속성이 자주 변경된다면 기본키 값으로 적합한지 확인하는 과정이 필요합니다.

예를 들어, 전화번호로 기본키를 등록했는데 번호가 바뀔 경우에는 적합하지 않습니다.

 

3. 단순한 후보키를 기본키로 선택

-> 단순하고 이해하기 쉬운 키로 선택하는 것이 좋습니다.

보통 Auto_Increment 를 사용해서 시퀀스 값을 증가시키며, 절대 중복되지 않는 값으로 설정하는 것을 지향합니다.

 

 

728x90

'DATABASE' 카테고리의 다른 글

DB 모델링 연습(2)  (0) 2024.03.09
DB 모델링 연습(1)  (0) 2024.03.09
릴레이션(테이블)의 특징 4가지  (0) 2023.02.15
Centos mysql 비밀번호 재설정 방법  (0) 2023.01.13
ec2 linux mysql8 설치하기  (0) 2023.01.12

댓글