Skip to content

무결성 제약조건

무결성이란?

테이블에 중복된 데이터가 존재하거나, 부모와 자식 데이터 간의 논리적 관계가 깨지면 프로그램에 큰 장애가 발생할 수 있다. 데이터 무결성은 이러한 일이 일어나지 않도록 데이터의 정확성, 일관성, 유효성을 유지되는 것을 의미하며, DBMS에서 꼭 신경써야 할 사항이다. 그렇기 때문에 DBMS는 무결성을 지키기 위해 제약조건이라는 기능을 기본적으로 제공한다.

무결성 제약조건의 종류

1. 개체 무결성(Entity integrity) : 기본키는 null 값이 될 수 없음

각 튜플에 접근하기 위해 정의된 기본키가 null값이 되면 튜플의 유일성을 판단할 수 없기 때문에 기본키는 null이 되면 안된다.

2. 참조 무결성(Referential integrity) : 외래키는 참조할 수 있는 값을 가져야함

존재하지 않는 값을 참조하는 외래키가 존재하면 두 릴레이션의 관계를 표현할 수 없다. 그렇기 때문에 외래키는 다른 테이블에 존재하는 유효한 값을 참조해야한다.

3. 도메인 무결성(Domain integrity) : 속성의 값은 정의된 사항에 맞아야함

DB의 정보를 알맞게 읽고 사용하기 위해선 각각의 속성이 갖는 도메인에 맞는 데이터를 삽입해야만 한다. 도메인은 숫자, 또는 문자 등 데이터형을 범위로 가질 수도 있고, ‘남’, ‘여’ 등 특정 값을 범위로 가질 수도 있다.