본문 바로가기

Database

SQL 사용법 : 키의 정의/ 제약 조건

키의 정의

primary key : 기본키를 지정하는 키워드

예) primary key (칼럼명, 칼럼명)  : 복수 선택 가능

 

Unique : 대체키를 지정하는 키워드, 유일성을 가지며 기본키와 달리 널 값이 허용됨

예) unique (칼럼명) : 유일성

 

Foreign key : 외래키가 어떤 테이블의 무슨 속성을 참조하는지 References 키워드 다음에 제시

예) foreign key(현재 테이블 칼럼명) references 가져올_테이블명(칼럼명)

 

- 참조 무결성 제약 조건 유지를 위해 참조되는 테이블에서 투플 삭제 시 처리 방법을 지정하는 옵션

on delete no action 원본 테이블의 투플을 삭제하지 못하게함
on delete cascade 현재 테이블에서 삭제시 원본 테이블의 투플을 함께 삭제
on delete set null 현재 테이블에서 관련 투플의 외래키 값을 NULL로 변경함
on delete set default 현재 테이블에서 투플의 외래키 값을 미리 지정한 기본 값으로 변경함

투플 = 행(row)

예) foreign key(현재 테이블의 칼럼명) references 가져올_테이블명(칼럼명) on delete cascade

 

- 참조 무결성 제약 조건 유지를 위해 참조되는 테이블에서 투플 변경 시 처리 방법을 지정하는 옵션

on update no action 원본 테이블의 투플을 변경하지 못하게함
on update cascade 관련 투플을 함께 변경
on update set null 관련 투플의 외래키 값을 NULL로 변경함
on update set default 관련 투플의 외래키 값을 미리 지정한 기본 값으로 변경함

예) foreign key(현재 테이블의 칼럼명) references 가져올_테이블명(칼럼명) on update cascade

 

데이터 무결성 제약 조건의 정의

Check : 테이블에 정확하고 유효한 데이터를 유지하기 위해 특정 속성에 대한 제약조건을 지정

Constraint 키워드와 함께 고유의 이름을 부여할 수도 있음

예) check(칼럼명 >= 0 and 칼럼명 <= 10000)

예) constraint 제약조건_고유명 check(칼럼명 = "고정된 문자열")