Computer >> 컴퓨터 >  >> 프로그램 작성 >> SQL Server

SQL Server의 고유 제약 조건

이 튜토리얼은 SQL Server에서 고유한 제약 조건을 생성, 추가 및 삭제하는 방법을 설명합니다.

SQL Server의 유일한 제약 조건은 무엇입니까?

유일한 제약 조건은 레코드를 고유하게 식별하는 필드 또는 데이터 필드의 조합입니다. 값 조합이 고유한 한 일부 필드에는 NULL 값이 포함될 수 있습니다.

고유 제약 조건과 기본 키의 차이점

기본 키 기본 키 고유 고유 제약 조건 기본 키의 필드에는 NULL 값이 포함될 수 없습니다. 고유 제약 조건의 일부 필드에는 값 조합이 고유한 경우 NULL 값이 포함될 수 있습니다.

CREATE TABLE 명령으로 고유 제약 조건 생성

  CREATE TABL E ten_bang 
(
cot1 kieudulieu [ NULL | NOT NULL ];
cot2 kieudulieu [ NULL | NOT NULL ];

CONSTRAINT ten_rangbuoc UNIQUE (cot1_rb, cot2_rb, … cot_n_rb)
);

ten_bang

만들고자 하는 테이블의 이름

cot1, cot2

표에 만들고자 하는 열

ten_rangbuoc

고유 바인딩의 이름

cot1_rb, cot2_rb, . cot_n_rb

열은 고유한 제약 조건을 구성합니다.

SQL Server의 데이터 유형

예:

  CRE ATE TABLE nhanvien 
( id_nhanvien INT PRIMARY KEY,
so_nhanvien INT NOT NULL,
ho VARCHAR(50) NOT NULL,
ten VARCHAR(50),
luong MONEY,
CONSTRAINT nhanvien_duynhat UNIQUE (so_nhanvien)
);

이 예에서는 단일 필드 so_nhanvien을 포함하여 CREATE TABLE 명령으로 생성된 테이블에 nhanvien_duynhat이라는 고유 제약 조건을 생성했습니다.

아래 예와 같이 둘 이상의 필드로 고유한 제약 조건을 만들 수 있습니다.

  CREATE TABL E nhanvien 
( id_nhanvien INT PRIMARY KEY,
so_nhanvien INT NOT NULL,
ho VARCHAR(50) NOT NULL,
ten VARCHAR(50),
luong MONEY,
CONSTRAINT nhanvien_duynhat UNIQUE (ho, ten)
);

ALTER TABLE 명령으로 고유 제약 조건 생성

  ALTER T ABLE ten_bang 
ADD CON STRAINT ten_rangbuoc UNIQUE (cot1, cot2, . cot_n);

ten_bang

편집하려는 테이블의 이름입니다. 고유 제약 조건을 추가하려는 테이블입니다.

ten_rangbuoc

만들고자 하는 고유 제약 조건의 이름입니다.

cot1, cot2 . 유아용 침대

열은 고유한 제약 조건을 구성합니다.

예:

  ALTER TABL E nhanvien 
ADD CONSTR AINT nhanvien_duynhat UNIQUE (so_nhanvien);

위의 예는 ALTER TABLE 명령을 사용하여 so_nhanvien 필드라고 하는 nhanvien이라는 기존 테이블에 고유한 제약 조건을 생성합니다. 필드가 2개 이상인 제약 조건을 만들려면 아래 예를 참조하세요.

  ALTER TABLE nhanvi en 
ADD CONSTRAINT ten _nhanvien_duynhat UNIQUE (cough, ten);

고유 바인딩 삭제

구문

  ALTER TABLE ten_ bang 
DROP CONSTRAINT ten_rangbuoc;

ten_bang

편집하려는 테이블의 이름입니다. 고유 제약 조건을 삭제하려는 테이블입니다.

ten_rangbuoc

삭제하려는 고유 제약 조건의 이름입니다.

예:

  ALTER TABL E nhanvien 
DROP CONST RAINT nhanvien_duynhat;

위의 예는 테이블에서 nhanvien_duynhat이라는 고유 제약 조건을 제거합니다.