검색
색인
무결성 제약 조건, 無結成制約條件, integrity constraints
데이터베이스에서 데이터를 추가, 수정, 삭제하는 과정에 부적절한 자료가 입력되는 것을 방지하기 위해서 정의하는 규칙.

예를 들어 학생 관계(relation)에 학번이라는 속성이 있다고 할 때 여기에 저장되는 값은 학번에 적합한 데이터가 입력되어야 한다. 학번과 연관된 학생의 성적이라는 속성에 입력되는 값으로 0~100 사이의 정수라는 무결성 제약 조건이 존재한다. 무결성 제약 조건을 만족하는 데이터베이스의 엔티티를 적법한 엔티티라고 한다. 무결성 제약 조건은 데이터베이스 스키마에 정의된 조건을 따른다.

무결성 제약 조건을 위배하지 않으면 데이터베이스무결성을 유지하는 것으로 간주한다. 무결성 제약 조건은 일반적으로 SQL과 같은 데이터베이스 언어를 사용하여 트리거 조건, 제약 조건, 위반 조치 등을 기술한다.

무결성 제약 조건의 종류는 도메인 무결성, 개체 무결성, 참조 무결성 등이 있다.
- 도메인 무결성(domain integrity): 특정 속성 값이 그 속성에 정의된 도메인에 속한 값이어야 한다는 규칙. 예를 들어 성별 속성의 도메인은 '남'과 '여'로 그 외의 값은 입력하지 못한다.
- 개체 무결성(entity integrity): 기본 키로 정의한 속성은 항상 널(null) 값을 가질 수 없다는 규칙. 예를 들어 관계(relation)에서 '사번' 속성이 기본 키로 정의되어 있으면 투플(tuple)을 추가할 때 '주소'나 '보직' 속성에는 값을 입력하지 않아도 되지만 '사번' 속성에는 반드시 값을 입력해야 한다.
- 참조 무결성(referential integrity): 관계 대응이 안되는 외래 키(foreign key)값을 가질 수 없다는 규칙. 예를 들어, 업무 관계(relation)의 '사번' 속성에는 직원 관계(relation)의 '사번' 속성에 없는 값은 입력할 수 없다.
일반적으로 개체 무결성참조 무결성데이터베이스무결성을 유지하기 위해 항상 만족시켜야 할 기본 규칙이다. 만일, 데이터베이스가 이 두 제약 규칙을 만족시키지 못하면 이 데이터베이스의 데이터는 부정확한 것으로 간주한다. 이와 같은 무결성 제약 조건은 사용자가 아니라 시스템 수준에서 자동적으로 수행되도록 하고, 데이터베이스를 설계할 때 데이터베이스 관리 시스템(DBMS)에 추가하여 데이터 추가, 변경시 실시간으로 무결성 제약 조건을 유지할 수 있도록 해야 한다.