Data Architecture/데이터 모델링

[Data Architecture] 관계형 모델 이론_데이터 무결성_엔터티 무결성 규칙

한기리 2020. 12. 5. 21:08
728x90
320x100

다. 데이터 무결성

 

 관계형 모델이 갖는 중요한 장점 중의 한 가지가 데이터 관점에서의 다중(엔터티 무결성, 참조무결성, 도메인(속성) 무결성, 연쇄작용) 무결성을 보장한다는 것이다.

 

데이터 무결성

  • 사용자가 일련의 관계형 처리(입력, 수정, 삭제, 조회)를 수행할 때 관계형 엔터티(테이블)의 데이터 값이 어떻게 작용해야 하는지를 통제하는 일련의 업무규칙으로 엔터티, 관계, 도메인 무결성 규칙 및 연쇄 작용이 있다.

     

    • 엔터티 무결성 규칙(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) 일 것

 

 최소한의 속성으로 구성되어야 할 식별자가 최소한의 속성으로 구성되지 않으면 업무 관점에서 유일성을 보장해야 하는 성질이 파괴된다. 예를 들면, 최소한의 속성이 '사원번호'로 구성되지 않고, '사원번호, 사원명'까지 구성되어있다면 사원명은 다르면서 사원번호가 같은 현상이 발생하게 된다.

 

  • 유일 식별자는 왜 최소한의 속성 집합으로 구성되어야 하는가?

 

  • 유일성은 수학의 무한대처럼 어떤 다른 속성을 합쳐도 유일하다.

  • 최소한의 속성 집합이 아니면 유일 식별자의 유일성이 깨질 수 있다.

728x90
320x100