2013-01-17 2 views
1

고유 키에 식별 열을 사용하는 이점을 알고 싶습니다. 필자는 항상 ID 열을 사용했으며 고유 키보다 더 우수하다는 것을 알고 있습니다. 그러나 고유 키에 대한 Identity 키의 이점을 알고 싶습니다.고유 키 대신 식별 열 사용의 이점

감사

+4

당신은 그것이 더 낫다는 것을 알고 있습니다, 그러나 당신은 왜 그런지 모릅니다. –

+0

@ MrLister 예 ... 그리고 이것을 내 고객에게 설명하고 싶습니다. –

+0

그들은 실제로 비슷하지 않습니다. 식별 열은 본질적으로 고유하지만 다른 열의 고유성을 강요하지 않으므로 열을 고유하게 만들려면 고유하게 만들어야합니다. ID 열을 추가하면 다른 열에 동일한 레코드를 반복해서 삽입 할 수 있으며 나머지 레코드 정보를 복제하는 동안 행에서 고유성을 계속 제공합니다. 신원 열 증분 기능을 켜거나 끌 수 있으며 ID를 건너 뛰도록 현재 신원 값을 변경할 수 있습니다. 당신은 모든 종류의 물건을 할 수 있습니다. –

답변

-1

기본 키는 다른 테이블의 외래 키로 사용할 수 있습니다 ID 열은 할 수 없습니다. 저장하려는 데이터 유형을 보지 않고도 ID 열을 사용하는 것이 좋지만 기본 키로 설정하는 것도 좋습니다.

+0

SQL Server에서 모든 테이블은 ** 기본 키 ** 또는 ** 고유 인덱스 **를 참조 할 수 있습니다. 그래서 당신이 당신의 IDENTITY 컬럼에 유일한 인덱스를 가지고 있다면 ** 다른 테이블에서 참조 될 수 있습니다 **. –

+1

외래 키는 상위 테이블에서 고유 한 키만 있으면됩니다. IDENTITY는 UNIQUE 선언과 관련이 없습니다. – gbn

+1

@ 브레인 - 기본 키만 varchar를 사용하는 이점이 있으므로 왜 더 많은 열을 하나 사용해야하는지 짐을 짊어 져야합니다. –

1

ID 열과 uniqueidentifier 열을 기본 키로 사용할지 결정하려고합니까?

고유 식별자 (Guids)는 전체 환경에서 고유하다는 장점이있어 주어진 테이블의 컨텍스트 외부에서 레코드를 고유하게 식별하기 쉽습니다. 또한 쉽게 반복 할 수없는 응용 프로그램에 공개 할 수있는 키를 제공합니다.

식별 열은 저장 공간을 덜 차지하므로 더 빠르고 효율적입니다.

해당 용도에 대한 정답은 없습니다. 그것은 실제 상황에 달려 있습니다.

+0

Kimberly Tripp의 우수한 [GUID를 PRIMARY KEY 및/또는 클러스터링 키] (http://www.sqlskills.com/blogs/kimberly/guids-as-primary-keys-andor-the-clustering-key/) 블로그를 읽어보십시오. ** 전에 ** 귀하의 클러스터링 키로 GUID를 사용하여 ** ** SQL Server에서 "GUID는"** 귀하의 클러스터링 키에 대한 ** 끔찍한 나쁜 선택입니다 .... –