본문 바로가기
dataVisualization

[데이터모델링] PK와 UK의 차이 (Primary Key vs. Unique Key)

by holaf 2021. 9. 12.
반응형

*테이블 내 고유식별자가 PK이고, UK는 고유한 값을 가진다는 컬럼의 속성에 가깝다. 즉, UK는 PK가 가지는 유니크하다는 속성이다.

A primary key is a column of table which uniquely identifies each tuple (row) in that table.
A table can have more than one unique key unlike primary key.

 

테이블 내 중복이 가능한가?

NO → PK.
PK는 테이블 내 중복되거나 값이 null일 수도 없다.

YES → UK.
UK는 테이블 내 중복될 수 있고 (한 테이블이 여러 UK를 가질 수 있으니까, 물론 row 중복은 안됨) 값이 null일 수도 있다.

PK는 테이블 내에서 해당 row를 식별하기 위한 식별자이다. 무조건 식별자가 필요하기 때문에 null일 수 없다. 반면 UK는 값이 없을 경우 null일 수도 있다 (드물겠지만?) ex. 이름이 없는 사람은 이름이 null일 수 있다.

 

포함관계는?

UK 개념이 PK를 포함한다고 보면된다.
모든 PK는 UK이지만, 역은 성립하지 않는다.

예시로 PK, UK 개념을 담는 테이블을 그려봤다.

번호 (PK) 이름 (UK) 주민등록번호(UK)
1 V  
2 Jin  
3 JK  
4 RM  
5 J-hope  
6 Suga  
7 Jimin  


Reference

 

Difference between Primary key and Unique key - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org

 

반응형

댓글