반응형

 

 

⭐️ 데이터 무결성

데이터 무결성은 데이터의 정확성, 일관성, 유효성이 유지되는 것을 의미합니다. 여기서 정확성이란 중복이나 누락이 없는 상태를 뜻하고, 일관성은 원인과 결과의 의미가 연속적으로 보장되어 변하지 않는 상태를 뜻합니다. 

만약 데이터베이스에서 데이터 무결성 설계를 하지 않는다면 테이블에 중복된 데이터 존재, 부모와 자식 데이터 간의 논리적 관계 깨짐, 잦은 에러와 재개발 비용 발생 등과 같은 문제가 발생할 것입니다.

그렇기 때문에 DBMS에서 데이터의 무결성이 유지되는 것은 중요한 사항이며, 주로 데이터에 적용되는 연산에 제한을 두어 데이터의 무결성을 유지합니다.

 

 

⭐️ 데이터 무결성 제약조건의 종류와 개념

1. 개체 무결성(Entity integrity)

기본 키 제약이라고도 하며, 테이블은 기본키를 지정하고 그에 따른 무결성 원칙을 지켜야 하는 조건

  • 기본 키(Primary Key)에는 Null 값이 올 수 없음
  • 기본 키는 테이블 내에 오직 하나의 값만 존재해야 함
    (하나의 테이블 내에 동일한 기본 키를 가진 레코드는 존재할 수 없음)

기본 키란?
테이블에서 특정 레코드를 구별하기 위해 후보 키 중에서 선택된 고유한 식별자 키

 

2. 참조 무결성(Referential integrity)

외래 키 제약이라고도 하며, 테이블 간의 참조 관계를 선언하는 제약조건

  • 외래 키(Foreign Key)의 값은 Null이거나 참조 릴레이션의 기본키 값과 동일해야 함
  • 외래 키 속성은 참조할 수 없는 값을 지닐 수 없음
    (즉, 외래 키 속성 값이 상위 테이블의 인스턴스에 반드시 존재하거나 Null이어야 함)

외래 키란?
한 테이블의 키 중에서 다른 테이블의 레코드를 유일하게 식별할 수 있는 키

 

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

테이블에 존재하는 필드의 무결성을 보장하기 위한 것으로 필드의 타입, Null 값 허용 등에 대한 사항을 정의하고 올바른 데이터가 입력되었는지 확인하는 조건

예를 들어 주민등록번호 필드에 문자가 입력되는 경우엔 도메인의 무결성이 깨졌다고 볼 수 있음

 

4. Null무결성(Null integrity)

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

 

5. 고유 무결성 (Unique integrity)

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

 

6. 키 무결성 (Key integrity)

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

 

7. 관계 무결성 (Relationship integrity)

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

 

 

⭐️ 무결성 제약조건의 장단점

장점

스키마를 정의할 때 일관성 조건을 오직 한 번만 명시하고, 데이터베이스가 갱신될 때 DBMS가 자동적으로 일관성 조건을 검사하므로 응용 프로그램들은 일관성 조건을 검사할 필요가 없음

단점

프로그래밍 작업이 훨씬 복잡해지고, 무결성 제약조건을 반복해서 구현해야 하고, 무결성 제약조건들 간에 서로 충돌이 발생할 수 있음

 

 

 

반응형

+ Recent posts