14회차 - 논리적 설계 단계 심화

prana·2022년 10월 12일

database

목록 보기
15/38
post-thumbnail

1. 개체 통합의 장단점

1) 개체 통합의 장점

  • 종합적으로 정보를 조회하기 용이하다.
  • 불필요한 조인이 제거되어 성능이 향상된다.
  • 비슷한 속성이 통합되므로 중복이 제거된다.
  • ERD가 간결해진다.
  • 물리적으로 관리해야 하는 테이블 수가 감소한다.

2) 개체 통합의 단점

  • 업무 확장에 따른 데이터 모델의 변경이 유연하지 않다.
  • 데이터 모델만으로 업무 흐름을 파악하기 어렵다.
  • 많은 양의 데이터가 한군데 집약되므로 성능이 저하될 수 있다.
  • SQL 문에서 체크해야 할 조건이 증가한다.

3) 개체 통합 유형

  • 동일한 기본 키를 갖는 개체 타입의 통합
  • 기본 키가 상호 식별자가 될 수 있는 개체 타입의 통합
  • 기본 키나 도메인, 속성이 비슷한 개체 타입의 통합

2. 이력 데이터 모델링

1) 이력 데이터(History Data)란?

하나의 업무 단위가 시간의 흐름에 따라 반복적으로 발생한 과거 및 현재 데이터를 의미한다.

2) 모델링 대상

  • 업무적인 활동(예: 주문, 입고, 발주, 접수, 예약 등)
  • 이력과 간접적인 관계에 있는 대상들(예: 고객, 상품 등)
  • 최신 정보 (예: 최신 예약, 최신 주문 등)

3) 모델링 장점

  • 과거 특정 시점의 데이터를 조회할 수 있다.
  • 변경 내역을 관리할 수 있다.
  • 오류 발생 시 현재 정보를 가장 최근 이력 정보로 복구할 수 있다.

4) 이력 데이터 발생의 3가지 유형

(1) 변경 이력

데이터가 변경될 때마다 변경 전후의 차이를 확인해야 하는 경우, 약한 개체로 변경 이력을 확인한다.

(2) 발생 이력

데이터가 발생할 때마다 이력 정보를 남겨야 하는 경우, 약한 개체로 발생 이력을 저장한다.

(3) 진행 이력

업무가 진행되는 상황을 남겨야 하는 경우, 언제, 누가, 어떤 업무를 했는지 약한 개체로 진행 이력을 저장한다.

5) 이력 데이터 모델링 형태

(1) 시점이력 : 데이터 변경이 발생한 시점만 관리
(2) 선분 이력 : 데이터 변경이 발생한 시작 시점부터 종료 시점까지 전체 시간을 관리한다.

6) 주의사항

최신 데이터를 조회할 수 있도록 변경 이력에 '최신 여부 속성'을 추가한다.


3. 코드 데이터 모델링

1) 코드란?

코드(Code)는 업무에서 또는 정보시스템에서 쉽게 구분할 수 있도록 데이터들을 간단하게 구분해 놓은 단위이다.

2) 코드 구분

  • 코드에 한 개의 값(속성)이 반복적으로 나타나는 경우
  • 코드에 여러 개의 값(속성)이 반복적으로 나타나는 경우

3) 주의사항

DBMS의 함수(FUNCTION)를 사용해서 코드 값을 변환하는 것이 가장 효율적인 방법이다.


4. 개체 및 참조 무결성

1) 개체 무결성 규칙

  • 기본 키를 구성하는 속성은 널 값을 가져서는 안 된다.
  • 기본 키는 개체를 유일하게 식별할 수 있어야 한다.
  • 기본 키는 유일성을 보장하는 최소한의 집합이어야 한다.

2) 참조 무결성 규칙

외래 키(Foreign Key)는 반드시 피참조 릴레이션에 존재하고 있는 기본 키와 연결되거나 널(Null) 값을 가져야 한다.


5. 데이터 표준화

1) 데이터 표준화란?

시스템 별로 산재되어 있는 데이터의 명칭, 정의, 규칙, 형식 등에 대한 원칙을 수립해서 전사적으로 적용하는 것을 의미한다.

2) 필요성

데이터가 기업의 전략적 의사소통의 핵심 요소이므로 데이터의 품질을 확보하기 위해서 데이터 표준화가 필수적이다.

3) 대상

  • 표준 단어
  • 표준 용어
  • 표준 도메인
  • 표준 코드

4) 단계

  • 메타데이터 수집(정보 시스템들의 데이터 요소 수집, 유일한 요소 추출)
  • 메타데이터 표준화(표준 단어, 표준 용어, 표준 도메인, 표준 코드)

6. 공통 지침 정의 방법

1) 공통 지침 정의 방법

  • 현재 사용 중인 모든 용어를 수집하고, 필요한 경우 추가 용어를 정의한다.
  • 수집 및 정의된 용어들을 기본 단어로 분할한다.
  • 기본 단어들을 정제한다. (정제 대상: 중복 단어, 동음이의어, 이음동의어 등)
  • 데이터 표준화 지침을 참고해서 '표준 단어 사전'을 작성한다.

2) 표준 코드 정의 방법

  • 업무에서 사용하는 용어를 선택해서 업무 용어를 정의하고, 유사 용어는 표준 용어로 대체한다.
  • 표준 단어를 이용해서 표준 용어를 구성하고, 표준 도메인과 표준 코드를 기준으로 데이터 타입과 길이를 결정해서 표준 용어를 정의한다.
  • 데이터 표준화 지침을 참고해서 '표준 용어 사전'을 작성한다.

3) 표준 도메인 정의 방법

  • 현재 사용 중인 용어에서 유사한 속성의 용어를 그룹핑한다.
  • 그룹핑된 유사 속성에 대해 표준 도메인을 정의한다.
  • 데이터 표준화 지침을 참고해서 '표준 도메인 정의서'를 작성한다.

4) 표준 코드 정의 방법

  • 현재 사용 중인 코드와 필요하다면 추가 코드를 정의한다.
  • 표준 도메인을 적용해서 표준 코드를 정의한다.
  • 데이터 표준화 지침을 참고해서 '표준 코드 정의서'를 작성한다.

0개의 댓글