본문 바로가기
DataBase/Data Modeling

[Data Modeling-데이터 모델링]데이터 모델링

by 빅경 2017. 2. 17.
728x90
반응형

모델링


모델링이란 "복잡한 현실 세계를추상화, 단순화, 명확화하기 위해 일정한 표기법에 의해 표현하는 기법"이라 한다.


여기서 말하는 추상화, 단순화, 명확화에 대해서 정의해 보겠다.

추상화 : 현실 세계를 일정한 형식에 맞춰 표현하는 것

단순화 : 현실 세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현하는 것

명확화 : 누구나 분명하게 이해하기 위해 정확하게 현상을 기술하는 것


모델링은 정보시스템 구축에서 계획/분석/설계 단계에서는 업무를 분석하고 설계하는데 이용되고, 구축/운영 단계에서는 변경과 관리 목적으로 이용된다.


모델링의 관점

모델링 = 데이터 관점 + 프로세스 관점 + 데이터와 프로세스의 상관관점


 데이터 관점 

 업무가 어떤 데이터와 관련 있는지 Or 데이터간의 관계는 무엇인지에 대해서 모델링하는 방법(What, Data) 

 프로세스 관점 

 업무가 실제하고 있는 일은 무엇인지 또는 무성을 해야 하는지를 모델링하는 방법(How, Process) 

 데이터와 프로세스의 

상관관점 

 업무가 처리하는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는지 모델일하는 방법(Interaction)



데이터 모델링


데이터 모델링이란 정보시스템 구축의 대상이 되는 업무 내용을 분석하여 이해하고 약속된 표기법에 의해 표현하는걸 의미한다. 이렇게 분석된 모델을 가지고 실게 데이터베이스를 생성하여 개발 및 데이터 관리에 사용된다.



데이터 모델링 3단계

현실세계에서 데이터베이스까지 만들어지는 과정에서 추상화 수준에 따라 개념적 데이터 모델, 논리적 데이터 모델, 물리적 데이터 모델로 정리된다.




개념적 데이터 모델링(Conceptual Data Modeling)

현실세계를 추상화 수준이 높은 상위 수준을 형상화하기 위해 개념적 데이터 모델링을 수행한다. 개념적 데이터 모델은 추상화 수준이 높고 업무중심적이고 포괄적인 수준의 모델일을 수행한다. 주요 활동으로는 핵심 엔터티와 그들간의 관계를 발견하고, 그것을 표현하기 위해서 엔터티-관계 다이어그램을 생성하는 것이다.

주로 전사적 데이터 모델링, EA 수립시 많이 이용된다.


논리적 데이터 모델링(Logical Data Modeling)

엔터티 중심의  상위 수준의엔터티 중심의 모델이 완성되면 구체화된 업무중심의 데이터 모델을 만들어 내는데 이것을 논리적인 데이터 모델링이라고한다. 이 단계에서 업무에 대한 Key, 속성, 관계등을 표시하며, 정규화 활동을 수행한다.

정규화는 데이터 모델의 일관성을 확보하고 중복을 제거하여 신뢰성있는 데이터 구조를 얻는데 목적이 있다.


물리적 데이터 모델링(Physical Data Modeling)

물리 데이터모델링은 논리 데이터 모델이 데이터 저장소로서 어떻게 컴퓨터 하드웨어(테이블스페이스)에 표현될 것인가를 다룬다. 이 단계에서는 테이블, 컬럼 등으로 표현되는 물리적인 저장구조와 사용될 저장 장치 등을 표시한다.


일반적으로 데이터 모델링은계획 또는 분석단계에서 개념적데이터 모델링 분석단계에서 논리적 데이터 모델링 설계단계에서 물리적 데이터 모델링이 수행된다.



데이터 모델링에서 데이터의 독립성


데이터가 어플리케이션의 종속되면 해당 어플리케이션 외에는 데이터를 이용할 수 없는 제약 사항이 생긴다. 또한 불가피하게 어플리케이션을 바꿀때도 데이터 이전을 위한 많은 비용이 소모될 것이다. 이처럼 데이터가 종속될 경우 여러 단점이 발생해 데이터의 독립성은 매우 중요한 사항이다.


데이터의 독립성을 확보하게 되면 각 View의 독립성을 유지하고 계층별View에영향을주지 않고 계층별 변경이 가능하다.


데이터 독립성은 미국표준 협회ANSI)에서1978년에DBMS와 그 인터페이를 위해 제안한 "three-schema architecture"로정의할 수 있다.



데이터베이스 3단계 구조

데이터 독립성모델은 외부단계, 개념단계, 내부단계로 구성되어 있으면 논리적 데이터 독립성, 물리적 데이터독립성에 의해서로간섭되지 않는 모델이다.



데이터베이스 스키마 구조는 3단계로 구분되고 각각은 상호 독립적인 의미를 가지고 고유한 기증을 가진다.


 외부스키마

(External Schema)

 사용자또는 응용프로그래머의 관점에서접근하는 DB 스키마 

 개념스키마

(Conceptual Schema)

 모든사용자관점을통합한 조직 전체의 DB를 기술한것으로DB에 저장될는데이터와 그들간의관계를 표현한는스키마

 내부스키마

(Internal Schema)

 물리적 저장 장치에데이터가 실제로저장되는 방법을 표현하는 스키마


논리적 독립성

 - 개념 스키마가변경되어도외부 스키마에는 영향을미치지 않도록 지원하는 것

 - 논리적 구조가 변경되어도 응용 프로그램에 영향 없음물리적 독립성

 물리적 독립성

 - 내부 스키마가 변경되어도외부/개념스키마는 영향을 받지 않도록지원하는것.

 - 저장장치의 구조변경은 응용프로그램과 개념 스키마에 영향없음



사상(Mapping)

사상이란 "상호 독립적인 개념을 연결"이라고 정의할 수 있다.


부적/개념적 사상(논리적 사상)

 외부적 뷰와 개념적뷰의 상호 관련성을 정의함

 개념적/내부적 사상(물리적 사상)

 개념적 뷰와 저장된 데이터베이스의 상호 관련성을 정의함


외부스키마 구조는 개념적스키마와 연결되는다는 것이 논리적사상이다.

또한 개념적 스키마 구조와 물리적인 테이블스페이스와 연결되는 구조가 물리적 사상이다.



데이터 모델의 3가지 요소


데이터 모델에 표현하는 요소들은 "어떤 업무Entity)", "그업무가가지는성격(Attribute)", "업무간의관계(RelationShip)" 이 있다.


위 세가지 요소의 단수와 복수일 때를 구분하여 정의한다.


개념

복수/집합 개념

타입/클래스

개별/단수 개념

어커런스/인스턴스

어떤것

(Thing)

엔터티 타입(Entity Type) 

엔터티(Entity) 

엔터티(Entity) 

인스턴스(Instance)

어커런스(Ouccurence) 

어떤것간의 관계

(Association between Things)

관계(Relationship) 

패어링(Paring) 

어떤것의 성격

(Characteristic of a Thing) 

속성(Attribute) 

속성값(Attribute Value) 




데이터 모델링의 이해관계자


정보시스템구축을 진행하기 위해서는 여러 분야의 전문가들이 투입된다.


 

이런 관계자들은 시스템 구축을 진행하기 위해서 데이터 모델링을 이해할 수 있어야 하며, 전문 모델러나 프로젝트 개발자는 작성까지 할수 있어야 한다.




ERD 표기법


데이터 모델의 표기법으로1976년Peter Chen이 Entity-relationship model(E-R Model)을 만들었다. ERD는 업무분석에서 도출된 내용을 이해하기 쉽게 도식화된 다이어그램으로 표시하는 방법으로현업에서 데이터의 흐름과 프로세스와의 연관성을 이야기 하는데 중요한 표기법이자 산출물이다. ERD는 일정한 규칙을 바탕으로 그려지므로 업무 관계자들 간에 의사소통을 원활하게 하는 장점이 있다.


엔터티 -> 사각형

관계 -> 마름모

속성-> 타원


표기명 

표기법 

Chen 

 

IE/Crow's Foot 

Barker



ERD 표기순서

1. 엔터티를 그린다.

2. 엔터티를 적절하게 배치한다.

- 권고 사항 : 가장 중요한엔터티는 왼쪽상단에 배치하고 이것을 중심으로 다른 에터티를나열하면서전개하도록한다.

3. 엔터티간 관계를설정한다.

4. 관계명을기술한다.

5. 관계의참여도 관계차수Cardinality)를 기술한다.

6. 관계의 필수여부를 기술한다.


엔터티 배치 이미지



데이터 모델 권고사항


완전성(Completeness)

- 업무에서 필요로 하는 모든 데이터가 데이터 모델에 정의되어 있어야한다.

중복배제(Non-Redundancy)

- 하나의 데이터베이스 내에 동일한 사실은 반드시 한 번만 기록하여야 한다. 

업무규칙Business Rules)

- 업무규칙을 모델에 표현하고이를 이용하는관계자들에게 공유한다.

데이터 재 사용(Data Reusability)

- 데이터의 통합성과독립성을 고려하여 데이터의 재사용성을향상시켜 업무변화에 대해서 유연하게 대응하도록 한다.

의사소통Communication)

- 관계자들간 업무 내용을 이해할 수 있도록 한다.

통합성(Integration)

- 동일한 데이터는조직 전체에서 한번만 정의되고 여러 다른 영역에서  참조, 활용하도록 한다.



감사합니다.

728x90
반응형