DA 가이드

DA, SQL, DB보안 등 실무자를 위한 위한 DB기술 바이블!

논리 데이터 모델

데이터 품질관리 이해
데이터 구조 이해
논리 데이터 모델
작성자
admin
작성일
2021-02-10 16:38
조회
9199

정의 및 관리 목적

논리 데이터 모델이란 개념 데이터 모델을 상세화 하여 논리적인 데이터 집합, 관리 항목, 관계를 정의한 모델을 말한다. 논리 데이터 모델은 전체 데이터 구조에서 가장 핵심을 이루는 모델로서 전체 업무 범위와 업무 구성요소를 확인할 수 있다.

따라서 모든 업무의 데이터 구조를 구체적으로 정의하고 최신의 내용으로 관리될 수 있도록 해야 한다. 논리 데이터 모델은 데이터 구조 정의시 상세하게 정의될 수 있는 모든 정보를 포함해야 하며, 논리 데이터 모델이 구체적이고 상세할수록 업무에서 관리하는 모든 데이터 구조는 상세하게 관리될 수 있다.

데이터가 논리 데이터 모델 단계에서 상세하게 관리되면 불필요한 데이터 중복을 방지할 수 있다. 데이터의 중복은 결과적으로 중복된 데이터로 인해 발생하는 데이터의 불일치(Inconsistency)를 방지하므로 궁극적으로 목적하는 데이터의 품질을 보장할 수 있다. 즉, 구조적이고 상세화된 논리 데이터 모델의 관리와 현재의 논리 데이터 모델이 현재의 업무를 반영하는 주의 깊은 논리 데이터 모델의 관리는 데이터의 품질 보증을 위한 핵심 사항이다.

논리 데이터 모델의 관리는 무엇보다 해당 논리 데이터 모델이 현재의 업무 상태를 그대로 반영해 야 한다. 물리 데이터 모델이나 데이터베이스의 객체는 변경하였으나 논리 데이터 모델에는 변경 사 항을 반영하지 않는다면 논리 데이터 모델의 정확성이 떨어지고 결과적으로 관리하는 데이터의 품질 에도 영향을 주게 된다. 가능하다면 논리 데이터 모델의 변경 사항 이력도 관리되는 것을 권장한다. 이력이 관리되면 사안에 따라 과거 일정 시점의 논리 데이터 모델로 복귀할 수 있다. 또한 논리 데이 터 모델에서 엔터티나 속성, 관계명을 표현하는 용어는 표준 데이터에서 명시한 표준 단어와 표준 용 어 내에서 정의할 것을 권장한다. 논리 데이터 모델에 대한 예로 [그림 6-2-6]을 들 수 있다. [그림 6-2-6]에 나타낸 모델은 식별자 상속모드를 사용하지 않고 작성하여 부모 엔터티의 식별자가 자식 엔터티에 관계 속성으로 나타나지 않았음을 감안하여야 한다. [그림 6-2-7]은 [그림 6-2-6]의 논리 데이터 모델을 IE표기법을 기준으로 작성한 예이다.

[그림 6-2-6] 논리 데이터 모델 예

[그림 6-2-7] IE표기법을 기준으로 작성한 논리 데이터 모델 예


세부 관리 대상

주제 영역(Subject Area)

주제 영역은 업무상 친밀도가 높은 데이터 집합을 하나의 주제 영역에서 선언하여 관리한다. 논리 데이터 모델의 주제 영역 관리 기준은 개념 데이터 모델의 주제 영역 관리 기준을 따른다. 주제 영역을 통해 전체 업무 범위 결정과 업무 구성 요소를 확인할 수 있다.


엔터티(Entity)

엔터티는 개념 데이터 모델의 정의를 포함하고 이력 관리와 동질성, 독립성 정보가 보다 더 상세히 파악된 서브타입 정보가 추가될 수 있으며, 다음과 같은 기준에 따라 관리되어야 한다.


완전성

엔터티는 개별적인 데이터 집합으로 두 개 이상의 속성과 두 개 이상의 인스턴스를 유지해야 한다.


영속성

현재 관리하고 있는 데이터 집합이거나 앞으로도 관리할 데이터 집합이다.


식별성

엔터티의 인스턴스를 개별적으로 구별할 수 있는 하나 이상의 속성이 존재해야 한다.


동질성

하나의 데이터 집합인 엔터티에는 동질의 데이터가 모인 데이터 집합이어야 한다.


정규화

엔터티는 일반적으로 3차 정규화까지 정규화 되는 것을 권장한다.
개념 데이터 모델의 관리 방법을 따르면서 정보의 상세화에 따라 엔터티 정의, 데이터 발생 규칙 등의 세부 정보를 추가 관리한다.


관계(Relationship)

관계는 개념 데이터 모델의 정의를 포함하고 상세 논리 데이터 모델 단계에서 모든 M:M 관계는 해소되어야 한다. 다음과 같은 기준에 따라 관리되어야 한다.


선택성

관계는 필수와 선택으로 나누어질 수 있다. 필수 관계는 해당 관계를 갖는 인스턴스가 반드시 엔터티에 존재해야 함을 의미한다.


관계 형태

관계는 1:1 혹은 1:M, M:M의 관계를 가질 수 있다.


관계 명칭

관계는 관계명이 명확한 경우 표현에 있어 생략 가능할 수 있으나 일반적으로 반드시 엔터티와 엔터티 간의 관계 설정시 관계명을 갖는다.

개념 데이터 모델의 관리 방법을 따르면서 엔터티의 통합, 관계의 통합에 따라 관계는 순환 관계, 배타 관계가 추가되어 보다 복잡해 질 수 있다. 또한, 관계에서 내포하는 비즈니스들을 상세하게 정의하여 관리한다.


속성(Attribute)

속성은 엔터티 내에서 관리하고자 하는 정보의 항목들을 말하며, 다음과 같은 기준에 따라 관리되어야 한다.


원자성

의미 있는 최소 단위까지 분할되어야 하며, 하나의 속성은 동시에 여러 상태의 정보를 포함할 수 없다.


일관성

하나의 속성은 하나의 데이터 유형을 가리키며 하나의 데이터만 관리한다.


무결성

참조되는 속성의 데이터는 해당 속성을 참조하는 속성의 데이터와 일치해야 한다.


정보성

업무와 관련해 의미 있는 범위 내에서 상세화의 수준이 결정되어야 한다. 속성은 엔터티의 관리 항목 범위 내에서 초기에 결정된 후 사용자의 요구에 따라 무분별하게 증가될 우려가 있다. 속성은 기존의 정보에서 추출이 가능하지 않을 때 새로 추가될 수 있고 속성의 상세화에 따라 엔터티가 추가될 수 있다.