n PRIMARY KEY 제약 조건
테이블 생성 시에는 PRIMARY KEY 제약 조건을 지정합니다. PRIMARY KEY 제약 조건은 테이블을 생성할 때에 생성하는 것이 바람직하지만, PRIMARY KEY 제약 조건을 정의하지 않았더라도 테이블 생성 후에 추가로 생성할 수 있습니다. PRIMARY KEY 제약 조건을 설정할 열은 NOT NULL 속성을 가지고 있어야 하며, 고유한 데이터를 가지는 열이어야 합니다. 두 개 이상의 열에 PRIMARY KEY가 정의될 때에는, 한 열에 중복된 값이 있을 수 있지만, 열을 조합한 각 값은 고유해야 합니다.
CREATE TABLE 문에서 PRIMARY KEY를 정의하는 구문에 인덱스의 종류를 지정하지 않으면 PRIMARY KEY 열에 클러스터형 인덱스가 생성됩니다. 테이블들의 PRIMARY KEY는 반드시 클러스터형 인덱스일 필요는 없으며, 클러스터형 인덱스와 비클러스터형 인덱스 두 가지 중 성능적인 측면을 고려하여 효율적인 것을 사용해야 합니다.
[따라하기] 테이블 생성 시 PRIMARY KEY 제약 조건을 비클러스터형 인덱스로 설정하기 |
CREATE TABLE Tab_Sample ( Col1 int identity(1,1) NOT NULL PRIMARY KEY Nonclustered, Col2 char(3) NULL, Col3 int NULL ); GO |
[따라하기] 테이블 생성 후, PRIMARY KEY 제약 조건 설정하기 |
CREATE TABLE Tab_Sample ( Col1 int identity(1,1) NOT NULL, Col2 char(3) NULL, Col3 int NULL ); GO ALTER TABLE Tab_Sample ADD CONSTRAINT PK_Tab_Sample PRIMARY KEY Nonclustered (Col1); GO |
n UNIQUE 제약 조건
PRIMARY KEY에 참여하지 않는 열 중에서 항상 고유한 값이 저장된다면 UNIQUE 제약 조건을 생성합니다. 데이터의 고유성이 보장될 뿐만 아니라, 응용 프로그램에서 데이터의 고유함을 확인할 필요가 없습니다.
n FOREIGN KEY 제약 조건
참조 무결성이 보장되어야 하는 경우에는 FOREIGN KEY 제약 조건을 생성합니다. FOREIGN KEY 제약 조건이 없는 상태에서 응용 프로그램이 운영되는 상황에서 나중에 FOREIGN KEY 제약 조건을 추가하게 되면 응용 프로그램을 수정해야 하는 경우가 발생하므로, FOREIGN KEY 제약 조건은 최초에 테이블을 생성할 때 만드는 것이 좋습니다.
'연구개발 > SQL2005' 카테고리의 다른 글
[SQL 2005 GUIDE] Objects 이름 변경하기 (0) | 2009.07.06 |
---|---|
[SQL 2005 GUIDE] CHECK 제약 조건 (0) | 2009.07.06 |
[SQL 2005 GUIDE] 큰 값 데이터 형식 (0) | 2009.07.06 |
트랜잭션 로그 백업(Transaction Log Backup)에 관하여 (0) | 2009.06.28 |
잠금에 관한 고찰(3) - 교착상태(데드락,DeadLock)에 대하여 (0) | 2009.06.28 |