데이터 무결성

박영준·2023년 7월 3일
0

DB

목록 보기
33/41

1. 정의

  • 데이터의 정확성, 일관성, 유효성이 유지되는 것

    • 정확성 : 중복이나 누락이 없는 상태

    • 일관성 : 원인과 결과의 의미가 연속적으로 보장되어 변하지 않는 상태

  • 만약 DB에서 데이터 무결성 설계를 하지 않는다면

    • 테이블에 중복된 데이터 존재 (정확성 X)
    • 부모와 자식 데이터 간의 논리적 관계 깨짐 (일관성 X)
    • 잦은 에러와 재개발 비용 발생
    • ...
  • 주로 데이터에 적용되는 연산에 제한을 둬서, 데이터의 무결성을 유지한다

2. 무결성 제약조건의 장단점

장점

  • 스키마를 정의할 때, 일관성 조건을 오직 한 번만 명시

  • DB가 갱신될 때, DBMS가 자동적으로 일관성 조건을 검사하므로
    응용 프로그램들은 일관성 조건을 검사할 필요 X

단점

  • 프로그래밍 작업이 훨씬 복잡해짐

  • 무결성 제약조건을 반복해서 구현해야 함

  • 무결성 제약조건들 간에 서로 충돌 발생 가능성

3. 종류

1) 개체 무결성(Entity integrity)

  • "기본 키 제약" 이라고도 한다

  • 테이블은 기본 키(PK)를 지정하고, 그에 따른 무결성 원칙을 지켜야 하는 조건

2) 참조 무결성(Referential integrity)

  • "외래 키 제약" 이라고도 한다

  • 테이블 간의 참조 관계를 선언하는 제약조건

    • 외래 키의 값은 Null이거나 참조 릴레이션의 기본키 값과 동일해야 함

    • 외래 키 속성은 참조할 수 없는 값을 지닐 수 없음

      • 즉, 외래 키 속성 값이 상위 테이블의 인스턴스에 반드시 존재하거나 Null이어야 함

3) 도메인 무결성(Domain integrity)

  • 테이블에 존재하는 필드의 무결성을 보장하기 위한 것

    • 필드의 타입, Null 값 허용 등에 대한 사항을 정의
    • 올바른 데이터가 입력되었는지 확인하는 조건
  • 예시

    • 주민등록번호 필드에 문자가 입력되는 경우, 메인의 무결성이 깨졌다고 볼 수 있다

4) Null 무결성(Null integrity)

  • 테이블의 특정 속성 값이 Null이 될 수 없게 하는 조건

5) 고유 무결성 (Unique integrity)

  • 테이블의 특정 속성에 대해 각 레코드들이 갖는 값들이 서로 달라야 하는 조건

6) 키 무결성 (Key integrity)

  • 하나의 테이블에는 적어도 하나의 키가 존재해야 하는 조건

7) 관계 무결성 (Relationship integrity)

  • 테이블의 어느 한 레코드의 삽입 가능 여부 or 한 테이블과 다른 테이블의 레코드들 사이의 관계에 대한 적절성 여부를 지정한 조건

참고: [Database] 데이터 무결성(Data Integrity)이란?

profile
개발자로 거듭나기!

0개의 댓글