[정보처리기사] 무결성 규정(Integrity Rule)

yurinnn·2024년 4월 13일

정보처리기사

목록 보기
18/21

무결성(Integrity)이란?

데이터베이스에서 무결성 이란 결함이 없는 성질을 의미하며, 정확성, 유효성의 의미로서 사용된다. 즉, 데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계의 실제값이 일치하는 정확성을 의미한다.

무결성 제약 조건 이란 현실 세계를 반영하는 오류가 없는 정확한 데이터만 데이터베이스에 저장하기 위한 도구를 의미한다.
무결성 제약 조건은 DB에 들어 있는 데이터의 정확성을 보장하기 위해 부정확한 자료가 DB 내에 저장되는 것을 방지하기 위한 제약조건을 말한다.

1. 개체 무결성(Entity Integrity, 실체 무결성)

기본 테이블의 기본키(primary key)를 구성하는 어떤 속성도 Null 값이나 중복값을 가질 수 없다는 규정이다.

2. 도메인 무결성(Domain Integrity, 영역 무결성)

속성 값은 정의된 도메인에 속해야 한다는 규정이다.

3. 참조 무결성(Referential Integrity)

외래키 값은 Null이거나 참조 릴레이션의 기본키 값과 동일해야 한다. 
즉, 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없다는 규정이다. 
외래키가 참조하려는 테이블의 기본키는 도메인과 속성 개수가 같아야 한다.
(Restrict, Cascade)

4. 사용자 정의 무결성

속성 값들이 사용자가 정의한 제약조건에 만족해야 한다는 규정이다.

5. NULL 무결성

릴레이션의 특정 속성 값이 NULL이 될 수 없도록 하는 규정이다.

6. 고유 무결성

릴레이션의 특정 속성에 대해 각 튜플이 갖는 속성값들이 서로 달라야 한다는 규정이다.

7. 키 무결성

하나의 릴레이션에는 적어도 하나의 키가 존재해야 한다는 규정이다.

8. 관계 무결성

릴레이션에 어느 한 튜플의 삽입 가능 여부 또는 한 릴레이션과 다른 릴레이션의 튜플들 사이의 관계에 대한 적절성 여부를 지정한 규정이다.

데이터 무결성 강화란?

데이터 무결성은 데이터에 직접적인 영향을 미치므로 데이터 특성에 맞는 적절한 무결성을 정의하고 강화해야 한다. 보통 데이터베이스 구축 과정에서 정의한다.

무결성 강화 방법

  • 애플리케이션 : 데이터 생성, 수정, 삭제 시 무결성 조건을 검증하는 코드를 프로그램 내 추가
  • 데이터베이스 트리거 : 트리거 이벤트에 무결성 조건을 실행하는 절차형 SQL 추가
  • 제약 조건 : 데이터베이스에 제약조건을 설정하여 무결성 유지
profile
슬기로운 개발 생활

0개의 댓글