데이터 무결성
- 데이터의 정확성, 일관성, 유효성이 유지되는 것
- 정확성 : 중복이나 누락이 없는 상태
- 일관성 : 원인과 결과의 의미가 연속적으로 보장되어 변하지 않는 상태
데이터 무결성 제약조건
- 개체 무결성(Entity Integrity)
- 모든 테이블이 기본 키(Primary Key)로 선택된 필드(Column)를 가져야 한다.
- 기본 키는 테이블 내에서 오직 하나의 값만 존재해야함
- 기본 키에는 NULL값이 올 수 없음
- 참조 무결성(Referential Integrity)
- 관계형 데이터베이스 모델에서 참조 무결성은 참조 관계에 있는 두 테이블의 데이터가 항상 일관된 값을 갖도록 유지되는 것 => 외래 키 제약이라고도 함
- 외래 키(Foreign Key)의 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해야 함
- 외래 키 속성은 참조할 수 없는 값을 지닐 수 없음
- 도메인 무결성(Domain Integrity)
- 테이블에 존재하는 필드의 무결성을 보장하기 위한 것
- 필드의 타입, NULL 값 허용 등에 대한 사항 정의
- 올바른 데이터가 입력되었는지 확인하는 조건
- NULL무결성(NULL Integrity)
- 테이블의 특정 속성 값이 NULL이 될 수 없게 하는 조건
- 고유 무결성(Unique Integrity)
- 테이블의 특정 속성에 대해 각 레코드들이 갖는 값들이 서로 달라야 하는 조건
- 키 무결성(Key Integrity)
- 하나의 테이블에는 적어도 하나의 키가 존재해야 하는 조건
- 관계 무결성(Relationship Integrity)
- 테이블의 어느 한 레코드의 삽입 기능 여부 또는 한 테이블과 다른 테이블의 레코드들 사이의 관계에 대한 적절성 여부를 지정한 조건
무결성 제약조건 장단점
- 장점
- 스키마를 정의할 때 일관성 조건을 오직 한 번만 명시
- 데이터베이스가 갱신될 때 DBMS가 자동적으로 일관성 조건 감시 => 응용 프로그램들은 일관성 조건을 검사할 필요 없음
- 단점
- 프로그래밍 작업 복잡성 증가
- 무결성 제약조건을 반복해서 구현
- 무결선 제약조건들 간에 충돌 발생 가능성 존재
참조