본문 바로가기
개발/ETC

PK와 UK 차이

by devhooney 2023. 4. 25.
728x90

유일성(Uniqueness):

PK는 테이블에서 유일한 값을 가져야 한다. 즉, 테이블의 각 레코드는 PK 값을 중복으로 가질 수 없다.

UK는 테이블에서 유일한 값을 가지긴 하지만, 한 테이블에서 중복된 UK 값을 가질 수 있다. UK는 여러 개의 NULL 값을 가질 수 있다.

NULL 값 허용 여부: 

PK는 NULL 값을 가질 수 없다. 즉, PK는 반드시 값을 가져야 한다.

UK는 NULL 값을 가질 수 있다.

기능(Functionality): 

PK는 테이블에서 각 레코드를 식별하는 데 사용되며, 테이블 간의 관계를 설정하는 데 사용된다. PK는 외래 키(Foreign Key)를 참조할 수 있다.

UK는 테이블에서 유일한 값을 갖는다는 점에서 PK와 유사하지만, 외래 키를 참조할 수 없다.

개수(Count): 

테이블당 PK는 한 개만 가질 수 있다. 

UK는 여러 개 가질 수 있다.

사용 범위(Scope): 

PK는 테이블 전체에 대한 유일성을 보장.

UK는 특정 열 또는 열의 조합에 대한 유일성을 보장.

자동 생성(Auto-generation): 

일반적으로 PK는 자동으로 생성되며, 데이터베이스 시스템이 PK 값을 자동으로 관리.

UK는 사용자가 직접 값을 지정해야 함.

요약하면, PK와 UK는 둘 다 데이터베이스에서 테이블의 레코드를 식별하기 위해 사용되는 키이지만, PK는 유일한 값을 가지고 NULL 값을 허용하지 않으며, 테이블 간의 관계를 설정하는 데 사용되며, 자동으로 생성되는 등의 차이점이 있다. UK는 테이블에서 유일한 값을 가질 수 있고, NULL 값을 허용하며, 외래 키를 참조할 수 없는 등의 특징을 가지고 있다.

728x90

'개발 > ETC' 카테고리의 다른 글

REST API 란?  (0) 2023.06.08
Index가 적용되지 않는 경우 정리  (0) 2023.05.11
Git, SVN 차이  (0) 2023.04.24
로그인 세션, 토큰 장단점  (0) 2023.04.22
Inner Join, Outer Join 차이  (0) 2023.04.20