제약조건
제약조건
제약조건은 데이터의 무결성을 지켜주는 중요한 역할을 수행한다.
즉 이를 통해서 해당 칼럼에 적절하지 않은 데이터가 입력되는 것을 막아준다.
즉 이를 통해서 해당 칼럼에 적절하지 않은 데이터가 입력되는 것을 막아준다.
제약조건 생성은 두 가지 방법이 존재한다.
- create문을 사용하여 테이블 생성 시
- alter문을 사용하여 테이블 생성 이후
- create문을 사용하여 테이블 생성 시
- alter문을 사용하여 테이블 생성 이후
그리고 테이블 생성 시 제약조건은 테이블 수준과 칼럼 수준 두 가지로 정의된다. 그리고 이렇게 정의된 제약조건은 user_constraints라는 데이터 딕셔너리에서 검색 가능하다.
그리고 제약조건 생성시 이름을 정해주지 않을 경우, sys_숫자 형식으로 저장되기 때문에 추후 관리가 어렵다. 따라서 관리가 필요한 제약 조건에 대해서는 꼭 구분할 수 있는 이름을 지정하도록 하자.
제약조건 정의 방법은 먼저 테이블 생성 시, 그 중 칼럼 수준부터 살펴보자.
- 칼럼 수준 제약 조건
create table 테이블명 (
칼럼명 자료형,
칼럼명 자료형 constraint 제약조건-이름 제약조건
….
);
기존에 테이블 생성 시 칼럼을 생성할 때 그 뒤에 제약조건에 대하여 기술하면 된다.
- 테이블 단위 제약조건
create table 테이블명(
칼럼명 자료형,
칼럼명 자료형,
….,
constraint 제약조건 - 이름 unique (칼럼명, 칼럼명, ….)
);
선언하는 방법은 칼럼 선언이 끝나고, 원하는 제약 조건을 선언한 후 각 각 이름을 지정하고, 이 제약 조건을 적용할 칼럼을 정해주면 된다. 사실 기술 상의 차이 외엔 기능 상의 차이는 존재하지 않는다.
댓글
댓글 쓰기