무결성 제약조건
- 무결성이란 데이터에 결함이 없는 상태, 즉 데이터를 정확하게 유효하게 유지하는 것
- 무결성은 보안과 유사하지만, 보안은 권한이 없는 사용자로부터 데이터를 보호하는 것이라면, 무결성은 권한이 있는 사용자의 잘못된 요구에 의해 데이터가 부정확해지지 않도록 보호하는 것
- 무결성 제약조건은 데이터베이스에 저장된 데이터의 무결성을 보장하고, 데이터베이스의 상태를 일관되게 유지하는 것임
- 데이터베이스의 상태가 삽입, 삭제, 수정 연산으로 변화하더라도 무결성 제약조건은 항상 유지되어야 함
개체 무결성 (Entity Integrity)
- 기본키를 구성하는 모든 속성은 널 값을 가지면 안 된다는 규칙
- 기본키가 널을 포함한다면, 튜플의 유일성을 판단할 수 없어 기본키의 목적 상실
참조 무결성 (Referential Integrity)
- 외래키는 참조할 수 없는 값을 가질 수 없다는 규칙
- 외래키가 자신이 참조하는 릴레이션의 기본키와 상관이 없는 값을 가지게 되면 두 릴레이션을 연관시킬 수 없으므로 외래키 의미 상실
- 단, 외래키가 참조 가능한 값만 가져야 하지만, 널 값을 가진다고 해서 참조 무결성 제약조건을 위반한 것으로 판단하면 안됨
도메인 무결성 (Domain Integrity)
- 특정 속성 값이 그 속성에 정의된 도메인에 속한 값이어야 한다는 규칙
- 예를 들어 성별 속성의 도메인은 ‘남’과 ‘여’로 그 외의 값은 입력하지 못함, 나이 속성에 음수 값이나 이상한 값이 들어갈 수 없음
고유 무결성 (Unique Integrity)
- 특정 속성(또는 속성 조합)의 값이 고유한 값을 가지도록 조건이 주어진 경우, 그 속성 값은 모두 고유한(Unique) 값을 가져야 한다는 제약 조건
- 예를 들어, 사용자의 아이디는 중복될 수 없음
NULL 무결성 (NULL Integrity)
- 특정 속성 값에 NULL이 올 수 없다는 조건이 주어진 경우, 그 속성 값은 NULL이 될 수 없다는 제약 조건
- 해당 무결성을 적용하면 해당 컬럼에는 반드시 값이 존재해야 함
Reference
https://terms.naver.com/list.naver?cid=58430&categoryId=58430&so=st4.asc