제약조건

제약조건


제약조건은 데이터의 무결성을 지켜주는 중요한 역할을 수행한다.
즉 이를 통해서 해당 칼럼에 적절하지 않은 데이터가 입력되는 것을 막아준다.


제약조건 생성은 두 가지 방법이 존재한다.

- create문을 사용하여 테이블 생성 시

- alter문을 사용하여 테이블 생성 이후



그리고 테이블 생성 시 제약조건은 테이블 수준과 칼럼 수준 두 가지로 정의된다. 그리고 이렇게 정의된 제약조건은 user_constraints라는 데이터 딕셔너리에서 검색 가능하다.


그리고 제약조건 생성시 이름을 정해주지 않을 경우, sys_숫자 형식으로 저장되기 때문에 추후 관리가 어렵다. 따라서 관리가 필요한 제약 조건에 대해서는 꼭 구분할 수 있는 이름을 지정하도록 하자.


제약조건 정의 방법은 먼저 테이블 생성 시, 그 중 칼럼 수준부터 살펴보자.


  • 칼럼 수준 제약 조건


create table 테이블명 (
칼럼명  자료형,
칼럼명 자료형  constraint  제약조건-이름 제약조건
….
);


기존에 테이블 생성 시 칼럼을 생성할 때 그 뒤에 제약조건에 대하여 기술하면 된다.

  • 테이블 단위 제약조건


create table 테이블명(
칼럼명 자료형,
칼럼명 자료형,
….,
constraint 제약조건 - 이름 unique (칼럼명, 칼럼명, ….)
);


선언하는 방법은 칼럼 선언이 끝나고, 원하는 제약 조건을 선언한 후 각 각 이름을 지정하고, 이 제약 조건을 적용할 칼럼을 정해주면 된다. 사실 기술 상의 차이 외엔 기능 상의 차이는 존재하지 않는다.


댓글

이 블로그의 인기 게시물

데이터베이스 PL/SQL - 배열과 테이블

데이터베이스 PL/SQL 변수선언

데이터베이스 PL/SQL 제어문 - 반복문