본문 바로가기
Computer Science/Database

[데이터베이스 핵심 요약] 7. 데이터 무결성 (Data Integrity)

by pilgyeong 2022. 11. 12.

1. 개념

  • 사용자의 목적이나 의도와 다른 데이터의 오류방지, 정확성, 유효성, 일관성, 신뢰성을 위해 무효 갱신으로부터 데이터를 보호하는 개념
  • 데이터 가치: 업무에 있어서 사용자에게 의미 있는 정보를 제공하기 위함
  • 데이터 신뢰성: 항상 정확하고 오류가 없는 데이터가 데이터베이스에 저장되는 신뢰성을 제공함

 

2. 종류

무결성의 종류 내용 명령어
개체(엔티티) 무결성 • 한 엔티티는 중복과 누락이 있을 수 없음
• 즉, 동일한 PK를 가질 수 없거나 PK 속성이 null값을 허용할 수 없음
• Primary key
• Unique index
참조(도메인) 무결성 • 외래키가 참조하는 다른 개체의 기본 키에 해당하는 값이 기본 키 값이나 Null이어야 함 • Foreign key
속성 무결성 • 속성 값은 기본값, Null여부, 도메인(데이터 타입, 길이)이 지정된 규칙을 준수하여 존재하여야 함 • CHECK
• NULL/NOT NULL
• DEFAULT
사용자(의미) 무결성 • 사용자의 의미적 요구사항을 준수해야 함 • Trigger
• User defined data type
키 무결성 • 한 릴레이션에 같은 키 값을 가진 튜플들이 허용되지 않음 • Unique

 

3. Foreign Key(외래키)의 무결성 설정 조건

  • 입력 참조 무결성: DEPENDENT, AUTOMATIC, DEFAULT, NULL
  • 수정 참조 무결성: RESTRICT, CASCADE
  • 삭제 참조 무결성: RESTRICT, CASCADE, DEFAULT, NULL
-- <예시> test_table1을 참조하여 Update하면 같이 변경되고, Delete할 땐 같이 삭제되게끔 설정
CREATE TABLE test_table(
    ID INT,
    ParentID INT,
    FOREIGH KEY (ParentID)
    REFERENCES test_table1 ON UPDATE CASCADE ON DELETE RESTRICT
);