제로하우스

[TIL][DB] 13 데이터 무결성 본문

DB&SQL

[TIL][DB] 13 데이터 무결성

송제로투 2022. 6. 2. 22:48

개념

Data Integrity

  • 데이터베이스에 저장되는 데이터의 정확성일관성을 유지하는 것
  • 데이터에 정확성일관성을 부여하기 위해 제약 사항을 설정한다.

 

종류

:pushpin: 여기서 relation은 DB 테이블을 의미한다.
- PK: Primary Key
- FK: Foreign Key

Domain Integrity

relation에서 입력되는 데이터가 그 속성의 도메인 영역에서 포함되어야 한다는 규정

  • 예시
    • '성별' 속성에 입력될 수 있는 값을 로 한정시킨다. 이외의 값은 입력되지 않도록 한다.

Entity Integrity

relation에서 각각의 tuple은 유일하게 식별되어야 한다는 규정

  • 전후 관계가 의미적으로 이상이 없는가를 규정, 즉 중복된 tuple이 존재하면 안 된다.
  • :ballot_box_with_check: PK는 Null값이나 중복된 값을 가질 수 없다.
  • 예시
    • PK가 Null 값이나 중복된 값이 없으면 개체 무결성(Entity Integrity)을 충족한다.

Referential Integrity

어떤 relation에 있는 tuple 데이터가 다른 relation에 있는 tuple 데이터와 관계성이 있어야 한다는 규정

  • 예시
    • A relation의 PK를 B relation에서 FK로 설정했을 때, B relation의 해당 키들이 모두 A relation PK에 존재하면 참조 무결성(Referential Integrity)을 만족한다.

Business Integrity

기업에서 업무를 수행하는 방법이나 데이터를 처리하는 규칙을 의미

  • 넓게 보면 Domain, Entity, Referential Integrity도 업무 무결성(Business Integrity)에 포함될 수 있음
  • 업무 무결성은 범위가 넓어 주로 프로그램에서 체크
  • 업무 무결성을 물리적으로 강제하는 대표적인 방법으로는 Trigger가 존재
  • 예시
    • 주문 금액이 3만원 이상이면 배송비 무료
    • 첫 회 보험료를 입금하지 않은 보험계약은 효력 없음

 

<참고> 데이터 정합성

어떤 데이터들이 값이 서로 일치함

  • 중복 데이터를 많이 사용하면 데이터끼리 정합성을 맞추기 어렵다.
  • 비정규형을 사용해 Anomaly(이상현상)가 발생하면 정합성이 깨진다.
  • 정합성은 데이터가 서로 모순 없이 일관되게 일치해야 함을 의미한다.

 

Copyright © 2021 Song_Artish

'DB&SQL' 카테고리의 다른 글

[TIL][DB] 22 SQL 문법 종류  (0) 2022.06.02
[TIL][DB] 21 SQL Intro  (0) 2022.06.02
[TIL][DB] 12 Database Normalization  (0) 2022.06.02
[TIL][DB] 11 ACID  (0) 2022.06.02
[TIL][DB] 03 NoSQL  (0) 2022.06.02
Comments