IT/SQLD(SQL개발자)

[SQLD] 데이터 모델링의 이해

pandada 2019. 6. 7. 01:25
반응형

데이터 모델링의 이해

 

모델이란?

  -> 다양한 현상에 대해서 일정한 표기법에 의해 표현해 놓은 모형이라고 할 수 있다.

  -> 모델을 만들어가는 일 자체를 모델링 이라고 한다.

 

 

모델링의 다양한 정의

  * 가설적 또는 일정 양식에 맞춘 표현

  * 어떤 것에 대한 예비표현으로 그로부터 최종대상이 구축되도록 하는 계획으로서 기여하는 것.

  * 복잡한 '현실세계'를 단순화 시켜 표현하는 것.

 

모델링의 특징

  * 추상화

    - 현실세계를 일정한 형식에 맞추어 표현을 한다는 의미, 다양한 현상을 일정한 양식인 표기법에 의해 표현한다는 것.

  * 단순화

    - 쉽게 이해할 수 있도록 하는 개념

  * 명확화

    - 누구나 이해하기 쉽게 하기 위해 정확하게 현상을 기술하는 것을 의미

 

요약한다면?!   모델링은 '현실세계를 추상화, 단순화, 명확하기 위해 일정한 표기법에 의해 표현하는 기법이다'

 

 

 

모델링의 관점

  * 데이터 관점 : 데이터와 관련이 있는지 또는 데이터간의 관계는 무엇인지에 대해서 모델링하는 방법(What, Data)

  * 프로세스 관점 : 실제하고 있는 일은 무엇인지 또는 무엇을 해야 하는지를 모델링하는 방법(How,Process)

  * 데이터와 프로세스의 상관관점 : 처리하는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는지 모델링 하는 방법

 

<모델링의 관점>

데이터 모델링   

  - 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법 

  - 현실세계의 데이터에 대해 약속된 표기법에 의해 표현하는 과정

  - 데이터베이스를 구축하기 위한 분석/설계의 과정

 

데이터모델링을 하는 이유

  - 정보시스템 구축의 대상이 되는 업무 내용을 정확하게 분석하기 위해

  - 분석된 모델을 가지고 실제 데이터베이스를 생성하여 개발 및 데이터 관리에 사용하기 위해

 

데이터 모델이 제공하는 기능

   * 시스템을 현재 또는 원하는 모습으로 가시화하도록 도와준다.

  * 시스템의 구조와 행동을 명세화 할 수 있게 한다.

  * 시스템을 구축하는 구조화된 틀을 제공한다.

  * 시스템을 구축하는 과정에서 결정한 것을 문서화 한다.

  * 다양한 영역에 집중하기 위해 다른 영역의 세부사항은 숨기는 다양한 관점을 제공한다.

  * 특정 목표에 따라 구체화된 상세 수준의 표현방법을 제공한다.

 

데이터 모델링의 중요한 이유

  - 파급효과

  - 간결한 표현

  - 데이터 품질

 

데이터 모델링 유의점

  - 중복 : 데이터가 중복 되는 것을 피해야 한다.

  - 비유연성 : 데이터 혹은 프로세스의 작은 변화가 애플리케이션과 데이터베이스에 중대한 변화를 일으킬 수 있는 가능성을 줄어야 한다.

  - 비일관성 : 데이터 모델링을 할 때 데이터와 데이터간 상호 연관 관계에 대한 명확한 정의함으로써 사전의 위험을 예방해야 한다.

 

 

 

데이터 모델링 3단계

<데이터 모델링 3단계>

 

  1. 개념적 데이터 모델링

    - 추상화 수준이 높은 상위 수준을 형상화 하기 위해(엔티티-관계 다이어그램 생성) 

    - 사용자와 시스템 개발자가 데이터 요구 사항을 발견하는 을 지원한다.

    - 현 시스템이 어떻게 변형되어야 하는가를 이해하는데 유용

 

  2. 논리적 데이터 모델링

    - 업무의 구체적인 모습과 흐름에 따른 구체화된 업무중심의 데이터 모델 만들기(데이터 모델링이 최종적으로 완료된 상태) 

 

  3. 물리적 데이터 모델링

    - 이후 데이터베이스의 저장구조에 따른 테이블스페이스 등을 고려한 방식 

    (논리 데이터 모델이 데이터 저장소로서 어떤세 하드웨어에 표현될 것인가?)

 

하지만?! 실질적으로는 개념 + 논리 -> 물리   2단계로 진행됨

 

 

 

데이터 독립성이 필요한 이유

  1. 유지보수 비용증가

  2. 데이터복잡도 증가

  3. 데이터 중복성 증가

  4. 요구사항 대응 저하 

 

데이터 독립성을 규정한 이후의 효과

  * 각 View의 독립성을 유지하고 계층별 View에 영향을 주지 않고 변경 가능하다.

  * 단계별 Schema에 따라 데이터 정의어(DDL)와 데이터 조작어(DML)가 다름을 제공한다.

 

  논리적 독립성 : 개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않도록 지원하는것.

  물리적 독립성 : 내부스키마가 변경되어도 외부/개념 스키마는 영향을 받지 않도록 지원한는것

 

★데이터 모델 표기법

SQLD에서는 IE표기법을 사용할 것이므로 IE(information Engineering)만 알아봅시다^^

explanation

1. 대학교는 entity를 나타낸다.

2. Line은 관계를 의미한다.

3. 학과는 대학교에 소속되는 하위 항목을 의미한다.

 

데이터 모델 표기법 예시(간단한 예시)

<간단한 예시>

 

 

좋은 데이터 모델의 요소

  1. 완전성

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

  2. 중복배제

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

  3. 업무규칙

    - 업무규칙을 데이터 모델에 표현하고 이를 해당 데이터 모델을 활용하는 모든 사용자가 공유할 수 있도록 제공하는것.

  4. 데이터 재사용

    - 기업이 관리하고자 하는 데이터를 합리적으로 균형이 있으면서도 단순하게 분류 하는것.

  5. 의사소통

    - 대상으로 하는 업무를 데이터 관점에서 분석하고 이를 설계하여 나오는 최종 산출물이다.

  6. 통합성

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

    - 동일한 성격의 데이터를 한 번만 정의하기 위해서는 공유 데이터에 대한 구조를 여러 업무 영역에서 공동으로 사용하기 용이하게 정의할 수 있어야 한다.

 

 

반응형

'IT > SQLD(SQL개발자)' 카테고리의 다른 글

[SQLD] 데이터 모델링관점과 분류  (0) 2019.06.13
[SQLD] 식별  (0) 2019.06.11
[SQLD] 관계(Relationship)  (0) 2019.06.10
[SQLD] 속성(Attribute)  (0) 2019.06.09
[SQLD] 엔터티(Enterty)  (0) 2019.06.08