[Database] 데이터의 무결성

[Database] 데이터의 무결성

데이터의 무결성 : 데이터의 정확성, 일관성, 유효성이 유지되는 것
즉, 데이터가 인가되지 않은 방법으로 변경할 수 없도록 보호하는 성질
데이터의무결성을 유지하는 것은 데이터베이스 관리 시스템(DBMS)에서 중요한 기능
주로 데이터에 적용되는 연산에 제한을 두어 데이터의 무결성을 유지
데이터베이스에서 말하는 무결성에는 다음과 같은 4가지 종류가 있음


1. 개체 무결성(Entity integrity)

  • 모든 테이블은 기본 키(primary key)로 선택된 필드(column)를 가져야 함
  • 기본 키를 구성하는 어떠한 속성 값도 널(Null) 값이나 중복 값을 가질 수 없음을 의미


2. 참조 무결성(Referential integrity)

  • 관계형 데이터베이스 모델에서 참조 무결성은 참조 관계에 있는 두 테이블의 데이터가 항상 일관된 값을 갖도록 유지되는 것
  • 아래의 그림에서 관계형 데이터베이스 모델에서 참조 무결성이 깨지는 경우를 보여 준다.
    • department 테이블을 참조하는 student 테이블을 보여주고 있다.
    • 이러한 참조 관계에서 만약 departmetn테이블에서 id 값이 310인 레코드가 삭제되면 student테이블의 3번째 레코드는 더 이상 존재하지 않는 데이터를 참조함


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

  • 도메인 무결성은 테이블에 존재하는 필드의 무결성을 보장하기 위한 것
  • 필드의 타입, NULL값의 허용 등에 대한 사항을 정의하고, 올바른 데이터의 입력이 되는지 확인하는 것
    • ex) 주민등록 필드에 알파벳이 입력되는 경우는 도메인 무결성이 깨지는 경우
    • ex) DBMS의 기본값 설정, NOT NULL 옵션 등의 제약 사항으로 도메인 무결성을 보장할 수 있음

4. 키 무결성 규칙(Key integrity)

  • 한 릴레이션(테이블)에는 최소한 하나의 키가 존재해야 하는 제약조건

5. 무결성 규칙(Integrity rule)

  • 사용자 정의 무결성 제약 조건이라고도 함
  • 데이터베이스에서 무결성 규칙은 데이터의 무결성을 지키기 위한 모든 제약 사항들
  • 비즈니스 규칙(Business rule)은 데이터베이스를 이용하는 각각의 유저에 따라 서로 다르게 적용되지만, 무결성 규칙은 데이터베이스 전체에 공통적으로 적용되는 규칙


출처

댓글

이 블로그의 인기 게시물

[Python] # -*- coding: utf-8 -*-를 쓰는 이유

[소프트웨어공학] NS(Nassi-Schneiderman) 차트

[컴퓨터네트워크] Telnet이란?