아이덴티티 컬럼

아이덴티티 컬럼(identity column)은 데이터베이스가 수집하는 값들로 구성된 데이터베이스 테이블이다. 마이크로소프트 액세스의 AutoNumber 필드 또는 오라클의 시퀀스와 비슷하다. 이 개념이 데이터베이스 과학에 매우 중요하기 때문에 수많은 관계형 데이터베이스(RDBMS)들은 일정한 유형의 생성된 키를 구현하며 DB마다 자신들만의 용어가 존재한다.

아이덴티티 컬럼은 값들이 서버에 의해 관리되어 보통은 수정이 불가능한 기본 키와는 다르다. 많은 경우에 아이덴티티 컬럼은 프라이머리 키로 사용되지만, 무조건 그러한 것은 아니다.

아이덴티티 컬럼이 고유성(uniqueness)을 강제한다는 일반적인 오해가 있으나 사실이 아니다. 컬럼에 고유성을 강제하려면 적절한 제약(constraint) 조건도 포함시켜야 한다.

마이크로소프트 SQL 서버에서 씨드(seed, 시작값)와 인크리먼트(increment)의 옵션이 있다. 기본적으로 씨드와 인크리먼트는 모두 1로 설정되어 있다.

 코드 예시 
Create Table Contacts (
   FirstName varChar(30),
   LastName  varChar(30),
   Phone     varChar(16),
   ContactID int identity(1, 1)
)

또는

Create Table Contacts (
   FirstName varChar(30),
   LastName  varChar(30),
   Phone     varChar(16)
)
GO
Alter Table Contacts Add ContactID int identity(1, 1)

 같이 보기 
 대체키
 유일 키

 외부 링크 
 MSDN Article "Managing Identity"

분류:데이터베이스