IT기술/Data Modeling

03 실전 데이터 모델링 이슈

dobbby 2014. 2. 6. 17:29
반응형

1. M:N 관계 해소 방법

기본적인 M:N 관계 해소 방법 - 관계 엔티티타입 분리

PK 에 의한 M:N 관계의 해소 방법 - 주식별자 통합

속성에 의한 M:N 관계의 해소 방법 - 부모 엔티티타입에 속성 추가


꼭 기억해야할 것은 관계 엔티티타입이 발견되는 시점에는 반드시 먼저 엔티티타입간 관계를 검증하여

관계 엔티티타입을 도출하도록 해야 한다는 것이다.



2. 1:1 관계 해소 방법

별개의 엔티티타입으로 따로 표현하는 방법

하나의 엔티티타입으로 완전히 통합하는 방법

부분 통합을 하는 방법

슈퍼 엔티티타입 생성




3. 엔티타타입의 통합

엔티티타입을 통합하는 목적

1) 정보를 조회하는 작업이 용이해진다.

2) 엔티티타입간 중복성이 제거된다.

3) 동일한 규칙에 따라 하나의 엔티티타입으로만 표현이 가능하다.

4) ERD 의 표현이 간편해진다.


엔티티타입 통합 시 문제점

1) 업무의 확장성이 감소할 수 있다.

2) 데이터 모델만으로 업무 흐름을 이해하기는 쉽지 않다.

3) 시스템 성능이 저하될 수 있다.

4) 속성에 제약을 걸지 못하는 경우가 발생한다.

5) 체크해야 할 조건이 늘어난다.

6) SQL 문장을 작성하기가 힘들다.


엔티티타입을 통합하는 순서

1) 엔티티타입과 PK 그리고 PK 와 관련된 업무 규칙을 통합한다.

2) 관계와 관계에 의해 발생된 FK 그리고 FK 와 관련된 업무 규칙을 통합한다.

3) 속성과 속성에 관련된 업무 규칙을 통합한다.


엔티티타입 통합을 고려하는 경우

1) PK 가 동일한 엔티티타입이다.

2) 두 엔티티타입의 PK 가 꼭 일치하지는 않지만, 엔티티타입의 성격이 비슷하여 둘 중 하나의 PK 를 선택하여 통합하여도 

나머지 PK 는 AK (Alternate Key) 로 이용될 수 있는 경우에 두 엔티티타입은 통합 대상이 된다.

3) 두 엔티티타입의 PK 가 일치하지는 않지만 도메인이 비슷하고, 엔티티타입에 포함된 속성이 비슷할 경우 하나의 엔티티타입으로 통합할 수 있다.

4) 복합 PK 를 가진 엔티티타입에서 두 엔티티타입의 PK 구성이 전혀 다르더라도 

PK 를 구성하는 복합 속성 중 일부 비슷한 속성을 이용하여 통합 엔티티타입을 구성할 수 있다.




4. 코드 엔티티타입 설계 방법

코드화

정보시스템을 구현할 때 코드란 업무적으로 또는 정보화 시스템에서 구분하기 쉽도록 데이터들을 간단하게 구분해 놓은 단위다.


업무 코드는 두 가지 형식으로 나타난다.

- 코드값 하나가 반복적으로 나타나는 경우

- 한 가지 코드에 대해 여러 개의 속성이 반복적으로 나타나는 경우


데이터 모델링 방법

- 코드값 하나가 반복적으로 나타나는 경우

1) 코드 구분에 대해 먼저 설계한다.

2) 상세 코드와 코드값을 조사한다.

3) 엔티티값을 설계한다.

4) 각각의 코드에 별도의 제약이 있을 수 있는 것을 가정하여 설계한다. (Optional)


- 한 가지 코드에 대해 여러 개의 속성이 반복적으로 나타나는 경우




5. 도미노 속성에 대한 데이터 모델링 방법

도미노 속성의 정의

앞의 값에 규칙적인 제약이 연쇄적으로 발생하는 경우를 도미노 속성이라 한다.


도미노 속성의 데이터 모델링 방법

- 해당 업무에서 도미노가 발생할 수 있는 최대값을 정의하여 모델링하는 방법

- 도미노 속성을 BOM 을 이용하여 모델링하는 방법


도미노 속성의 활용

- 도미노 속성 전체를 하나의 속성처럼 활용하는 형태

- 사용자 인터페이스에서 앞 값에 의해 뒤의 값이 한정되어 보여주는 경우




6. 메시지 엔티티타입 설계 방법

메시지의 종류

정보, 경고, 에러


메시지 데이터 모델링 과정

1) 업무와 관련하여 개발하고자 하는 시스템과 연관된 모든 메시지를 조사한다.

2) 메시지 성격에 맞게 데이터 모델링을 진행한다.




7. 이력 엔티티타입 설계방법

하나의 업무 단위가 시간이 흐름에 따라 발생하는 과거와 현재 데이터를 지속적으로 유지하는 관리방법을 이력 관리라 하고, 

이력관리를 위해 데이터 모델에 반영하여 표현한 엔티티 타입을 이력 엔티티타입이라 한다.


이력 데이터 발생의 세가지 유형

- 변경이력

- 발생이력

- 진행이력


이력 데이터의 데이터 모델링 방법




반응형