관계데이터모델에서 정의하는 기본적인 제약constraint은
키key와 관련한
무결성제약조건integrity_constraint이다.
DB의 상태가 변하더라도 무결성 제약조건은 반드시 지켜져야 한다.
from DB개론 ¶
관계데이터모델에선,
릴레이션relation에 포함된 tuple들을 유일하게 구별할 수 있도록 각 relation마다 기본키를 정의한다. 그런데 기본키를 구성하는
속성attribute 전체나 일부가 null 값이 되면 tuple의 유일성을 판단할 수 없으므로 기본키의 목적을 상실하게 된다.
이 조건을 만족시키려면,
- 새 tuple 삽입 연산
- 기존 tuple의 기본키 속성 값을 변경하는 연산
이 발생할 때, 기본키에 null 값이 포함되면 연산 수행을 거부해야 한다. (DBMS가 자동으로 수행함.)
Ref.
DB개론: 개체 무결성 제약조건(https://terms.naver.com/entry.naver?docId=3431154&cid=58430&categoryId=58430&expCategoryId=58430)
}
참조'하는' relation에서 삭제를 하면 여기에 위배되지 않는데,
참조'되는' relation에서 삭제를 하면 문제가 생길 수 있다.
DB개론: 참조 무결성 제약조건(https://terms.naver.com/entry.naver?docId=3431155&cid=58430&categoryId=58430&expCategoryId=58430) (링크의 example 참조.)
}
황인준 ¶
From Slide 22/82: Integrity Constraint Review
변시우 ¶
Ref.
DB개론: 관계 데이터 모델의 제약(https://terms.naver.com/entry.naver?docId=3431153&cid=58430&categoryId=58430&expCategoryId=58430)