#데이터 무결성(Data Integrity) : 데이터 값이 정확한 상태
#데이터 정합성 : 어떤 데이터들이 값이 서로 일치함.
- 중복 데이터를 많이 사용하면 데이터끼리 정합성을 맞추기 어렵다.
- 비정규형을 사용해 아노말리(Anomaly : 이상현상)가 발생하면 정합성이 깨진다.
- 정합성은 데이터가 서로 모순 없이 일관되게 일치해야 함을 의미
( cf : 무결성-데이터가 정확하고 완전해야 함을 의미)
#어떤 데이터는 정합성은 이상이 없으나, 무결성이 훼손 : 중복 데이터가 다 틀린 값으로 일치(정합성 O, 무결성 X)
따라서 무결성의 정의가 더 광범위하고 무결성을 지키는 것이 데이터 모델링의 최고 목표.
#관계형 데이터베이스의 가장 큰 목표는 "데이터 무결성을 높이는 것"
-무결성의 종류
1) 엔터티 무결성(Entity Integrity) = 개체 무결성
: 모든 인스턴스는 고유한 값(=같은 값 존재 X)이거나, 널(Null) 값을 가지면 안 됨
2) 참조 무결성(Referential Integrity)
: 참조되는 엔터티의 주 식별자 값과 일치(=참조하는 기본키 값 중에 하나와 일치)하거나, 널(Null) 값이어야 함.
참조 무결성은 FK(Foreign Key) 제약에 의해 지켜짐.
3) 도메인 무결성(Domain Integrity)
: 속성 값과 관련된 제약.
같은 속성에 사용되느니 값들은 같은 성격의 값.
기본 값이나 널 여부, 체크 조건 등으로 지켜질 수 있음.
4) 업무 무결성(Business Integrity)
: 기업에서 업무를 수행하는 방법이나 데이터를 처리하는 규칙을 의미
넓게 보면 엔터티 무결성, 참조 무결성, 도메인 무결성도 업무 무결성에 포함될 수 있음.
업무 무결성은 범위가 넓어 주로 프로그램에서 체크.
업무 무결성을 물리적으로 강제하는 대표적인 방법으로는 트리거(Trigger)가 존재.
ex) '주문 금액이 3만원 이상이면 배송비 무료', '초회(=첫회) 보험료를 입금하지 않은 보험계약은 효력 없음" 등.
출처:
'DataBase' 카테고리의 다른 글
[DataBase] 샤딩(Sharding)과 파티셔닝(Partitioning) (0) | 2021.01.12 |
---|---|
[DataBase] Oracle 의 스키마 (Schema)그리고 유저(User) (0) | 2021.01.08 |
[데이터베이스] 데이터 표준 관리 도구 (0) | 2020.12.13 |
[데이터베이스]데이터 표준화 개념 (0) | 2020.12.13 |
[데이터베이스] 데이터 표준화 필요성 (0) | 2020.12.13 |
댓글