see 키key#s-6
DB의 상태가 변하더라도 무결성 제약조건은 반드시 지켜져야 한다.
보안과의 비교
{
기본키primary_key를 구성하는 모든 속성attribute은 null 값을 가질 수 없다. 가지면 안 된다. 는 규칙.
보안security: 권한이 없는 사용자로부터 data를 보호하는 것
무결성integrity: 권한이 있는 사용자의 잘못된 요구에 의해 data가 부정확해지는 것을 방지하는 것
개체무결성제약조건entity_integrity_constraint무결성integrity: 권한이 있는 사용자의 잘못된 요구에 의해 data가 부정확해지는 것을 방지하는 것
{
기본키primary_key를 구성하는 모든 속성attribute은 null 값을 가질 수 없다. 가지면 안 된다. 는 규칙.
관계데이터모델에선, 릴레이션relation에 포함된 tuple들을 유일하게 구별할 수 있도록 각 relation마다 기본키를 정의한다. 그런데 기본키를 구성하는 속성attribute 전체나 일부가 null 값이 되면 tuple의 유일성을 판단할 수 없으므로 기본키의 목적을 상실하게 된다.
이 조건을 만족시키려면,
- 새 tuple 삽입 연산
- 기존 tuple의 기본키 속성 값을 변경하는 연산
개체무결성 | 참조무결성 |
기본키에 대한 규칙: 각 relation마다 적용됨 | 외래키에 대한 규칙: 연관된 relation들에 적용됨 |
Up: database