본문 바로가기

Development/SQL

[SQL] 데이터 무결성의 이해

728x90

 

데이터 무결성

 

여러 사용자가 규칙 없이 아무 데이터나 입력하면 데이터베이스는 엉망이 되어 사용할 수 없게 될지도 모릅니다.

이를 방지하기 위하여 관계형 데이터베이스 시스템은 데이터 무결성이라는 규칙을 만들었습니다.

  • 데이터베이스에 저장된 데이터 값과 사용자가 의도한 데이터 값은 일치해야 합니다.
  • 데이터는 정확성, 유효성, 일관성, 신뢰성이 지켜져야 하며 이를 어기는 잘못된 입력과 갱신 또는 삭제로부터 보호되어야 합니다.

데이터베이스 관리의 기본 규칙이 지켜지지 않으면 데이터베이스 시스템을 운영하는 데 어려움을 겪을 수 있습니다.

따라서, 데이터베이스 데이터는 사용자의 목적에 맞게 입력되고 저장되어야 하며 규칙을 위배하지 않아야 합니다.

이를 위해, 데이터베이스 시스템은 데이터에 접근하거나 데이터를 처리할 때마다 부적절한 데이터가 입력되는지 검사하여 데이터의 결점 없음, 즉 무결성을 유지합니다.

이를 지키기 위한 기본 규칙을 데이터 무결성(data integrity)이라고 합니다.

 

데이터 무결성의 종류

유형 설명
개체 무결성(entity integrity) 기본 키(primary key)로 선택된 열은 고유해야 하며 null 값을 가질 수 없습니다.
참조 무결성(reference integrity) 기본 키와 외래 키의 관계입니다. 외래 키가 있는 테이블의 경우에는 기본 키와 외래 키 간의 관계가 항상 유지됨을 보장한다. 참조하는 외래 키가 존재하면 행은 삭제될 수 없고 기본 키도 변경될 수 없다.
영역 무결성(domain integrity)

데이터 형태, 범위, 기본값, 유일성에 관한 제한이다. 주어진 속성 값은 그 속성이 정의된 도메인에 속한 값이어야 한다.

예) 값이 0 이상, YN 값 준수 여부, 기본값은 1 등

비즈니스 무결성(business integrity)

사용자의 업무 규칙에 따른 비즈니스적인 제약 조건이다.

예) 제약 조건, Default, Trigger 등의 사용자 정의

728x90

'Development > SQL' 카테고리의 다른 글

[SQL] SQL과 NoSQL의 비교  (0) 2021.06.24
[SQL] 관계(Relationship)의 이해  (0) 2020.05.21
[SQL] 엔터티(Entity)의 이해  (0) 2020.05.18
[SQL] 데이터 모델의 이해  (0) 2020.05.18
[SQL] 데이터베이스의 개요  (0) 2020.05.05