유일성(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 값을 허용하며, 외래 키를 참조할 수 없는 등의 특징을 가지고 있다.
'개발 > 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 |