다. 데이터 무결성
관계형 모델이 갖는 중요한 장점 중의 한 가지가 데이터 관점에서의 다중(엔터티 무결성, 참조무결성, 도메인(속성) 무결성, 연쇄작용) 무결성을 보장한다는 것이다.
데이터 무결성
-
사용자가 일련의 관계형 처리(입력, 수정, 삭제, 조회)를 수행할 때 관계형 엔터티(테이블)의 데이터 값이 어떻게 작용해야 하는지를 통제하는 일련의 업무규칙으로 엔터티, 관계, 도메인 무결성 규칙 및 연쇄 작용이 있다.
-
엔터티 무결성 규칙(Entity integrity rule)
주 키(특정 행을 유일하게 인식하는 하나 이상의 열)는 널(Null) 값을 포함하지 않는다.
-
참조 무결성 규칙(Referential integrity rule)
관계 엔터티(테이블)으 모든 외래 키 값은 관련 있는 관계 엔터티(테이블)의 모든 주 키 값이 존재해야 한다.
-
도메인(속성) 무결성 규칙(Domain integrity rule)
엔터티(테이블) 내의 모든 열(Column)에 관한 무결성 규칙으로 데이터 타입, 길이, 허용 값, 기본값, 유일성, 널(Null) 여부 등에 관한 제한이다.
-
연쇄 작용(Triggering operation) 또는 업무 규칙(Business Rule)
입력, 삭제, 수정 또는 조회 등의 작업이 동일 엔터티(테이블) 혹은 다른 엔터티(테이블)의 속성에 영향을 미치는 업무규칙을 정의하는 것이다.
-
1 ) 엔터티 무결성 규칙
수학적 의미의 집합은 분별할 수 있는 원소의 모임이기 때문에 한 집합에 분별할 수 없는 똑같은 원소가 중복해서 포함될 수 없는 특성을 튜플(Tuple)의 유일성이라고 하였다. 즉 두 개의 똑같은 튜플은 한 릴레이션에 포함될 수 없다.
-
유일 식별자란 엔터티 내 특정 건(instance)을 다른 것과 구별할 수 있도록 식별해주는 한 이상의 속성과 관계의 조합이다.
-
식별자를 구성하는 각 속성이 널(Null)이 아닐 것.
-
엔터티 내 특정 건(instance)의 유일성(Uniqueness)을 보장할 것.
-
최소한의 속성 집합(Minimal set)일 것.
-
■ 식별자를 구성하는 각 속성이 널(NULL)이 아닐 것
-
식별자(Identifier)는 왜 널(Null) 값을 허용하지 않는가?
-
T1 테이블을 이용해 T2, T3 테이블을 만들고, T2, T3 테이블을 JOIN하면 T1 테이블에 있었던 원래의 행을 조회할 수 없다. 이를 무결성이 깨졌다고 한다.
■ 엔터티 내 특정 건(Instance)의 유일성을 보장할 것
-
식별자(Identifier)는 왜 유일해야 하는가?
-
T1 테이블을 이용해 T2, T3 테이블을 만들고, T2, T3 테이블을 JOIN하면 T1 테이블에 원래의 행에는 없었던 행이 조회된다.(Product - 다대다 곱집합 발생). 이런 경우도 우리는 무결성이 깨졌다고 한다.
■ 최소한의 속성 집합(Minimal Set) 일 것
최소한의 속성으로 구성되어야 할 식별자가 최소한의 속성으로 구성되지 않으면 업무 관점에서 유일성을 보장해야 하는 성질이 파괴된다. 예를 들면, 최소한의 속성이 '사원번호'로 구성되지 않고, '사원번호, 사원명'까지 구성되어있다면 사원명은 다르면서 사원번호가 같은 현상이 발생하게 된다.
-
유일 식별자는 왜 최소한의 속성 집합으로 구성되어야 하는가?
-
유일성은 수학의 무한대처럼 어떤 다른 속성을 합쳐도 유일하다.
-
최소한의 속성 집합이 아니면 유일 식별자의 유일성이 깨질 수 있다.
'Data Architecture > 데이터 모델링' 카테고리의 다른 글
[Data Architecture] 관계형 모델 이론_데이터 무결성_도메인 무결성 규칙 (0) | 2020.12.05 |
---|---|
[Data Architecture] 관계형 모델 이론_데이터 무결성_참조무결성 규칙 (0) | 2020.12.05 |
[Data Architecture] 관계형 모델 이론_데이터 조작 (0) | 2020.12.05 |
[Data Architecture] 관계형 모델 이론_데이터 구조_6가지 특성 (0) | 2020.12.05 |
[Data Architecture] 관계형 모델 이론_관계형 모델 이란? (0) | 2020.12.05 |