제약 조건이란?
오라클에서 사용하는 제약 조건은 테이블의 특정 열에 지정한다. 제약 조건을 지정한 열에 제약 조건에 부합하지 않는 데이터를 저장할 수 없다. 제약 조건 지정 방식에 따라 기존 데이터의 수정이나 삭제 가능 여부도 영향을 받는다.
제약 조건의 종류
1) NOT NULL ; 지정한 열에 NULL을 허용하지 않는다. NULL을 제외한 데이터의 중복은 허용된다.
2) UNIQUE ; 지정한 열이 유일한 값을 가져야 한다. 중복이 불가능하지만 NULL은 허용한다.
3) PRIMARY KEY : 지정한 열이 유일한 값이면서 NULL을 허용하지 않는다. 테이블에 하나만 지정 가능하다.
4) FOREIGN KEY : 다른 테이블의 열을 참조하여 존재하는 값만 입력할 수 있다.
5) CHECK : 설정한 조건식을 만족하는 데이터만 입력 가능하다.
데이터 무결성이란?
데이터 무결성(data integrity)은 데이터베이스에 저장되는 데이터의 정확성과 일관성을 보장한다는 의미이며 이를 위해 항상 유지해야 하는 기본 규칙을 가지고 있다. 제약 조건은 이런 데이터 무결성을 지키기 위한 안전 장치로서 중요한 역할을 한다. 그리고 테이블 데이터의 삽입, 수정, 삭제 등 모든 과정에서 지켜야한다.
데이터 무결성의 종류
1) 영역 무결성 (domain integrity) : 열에 저장되는 값의 적정 여부를 확인한다. 자로형, 적절한 형식의 데이터, NULL 여부같은 정해 놓은 범위를 만족하는 데이터임을 규정한다.
2) 개체 무결성 (entity integrity) : 테이블 데이터를 유일하게 식별할 수 있는 기본키는 반드시 값을 가지고 있어야 하며, NULL이 될 수 없고 중복될 수도 없음을 규정한다.
3) 참조 무결성 (referential integrity) : 참조 테이블의 외래키 값은 참조 테이블의 기본키로서 존재해야 하며 NULL이 가능하다.
이러한 무결성을 보장하기 위해 다섯가지 제약 조건을 오라클이 제공한다. 제약 조건은 데이터베이스 설계 시점, 즉 테이블을 생성할 때 주로 지정한다. 하지만 테이블 생성 후에도 추가, 변경, 삭제할 수 있다. 따라서 제약 조건은 데이터 정의어에서 활용한다.
'DATABASE > CONSTRAINT : 제약조건' 카테고리의 다른 글
06. 데이터 형태와 범위를 정하는 CHECK (0) | 2024.03.26 |
---|---|
05. 다른 테이블과 관계를 맺는 FOREIGN KEY (0) | 2024.03.26 |
04. 유일하게 하나만 있는 값 PRIMARY KEY (0) | 2024.03.26 |
03. 중복되지 않는 값 UNIQUE (0) | 2024.03.26 |
02. 빈값을 허락하지 않는 NOT NULL (0) | 2024.03.23 |