What's the difference between a primary key and a unique key?

2008. 5. 9. 11:53Coders

Q:
What's the difference between a primary key and a unique key?
A:
Both primary key and unique enforce uniqueness of the column on which they are defined. But by default primary key creates a clustered index on the column, where are unique creates a nonclustered index by default. Another major difference is that, primary key doesn't allow NULLs, but unique key allows one NULL only.

비교적 간단하니 영어를 잘 못해도 한번 해석해 보자.

문:
주키(PK)와 유일키(UK)의 차이점은 무엇인가요?
답:
PK 와 UI 는 둘 다 그들이 정의되어 있는 컬럼(테이블 내에서)이 유일하게 한다(?)는 것으로 같다.
하지만 기본적(값)으로 컬럼에 생성될 때 PK는 클러스터 된 색인으로서 생성이 되며, UK는 클러스터되지 않은 색인으로서 생성된다. 가장 큰 차이점은, PK는 NULL 값을 허용하지 않지만, UK는 NULL 값을 허용한다.
(여기에서 "only" 가 그러한 의미인지는 모르겠으나, NULL 을 허용하더라도 해당 값이 NULL 인 값 또한 유일해야 하므로 단 하나만 존재할 수 있다.)

써 놓고 보니, 공부할 땐 왜 원서를 봐야 하는지 느끼게 해 주는 빌어먹을 해석이네...
진정 PK와 UK의 차이점을 분석하자면 좀 더 많이 찾아보고 알아봐야 할 듯 하다.

저 질답문의 출처는 여기
PK와 UK에 대해 좀 더 심도있는 질답은 여기