SQLD/1과목 데이터 모델링의 이해

[SQLD] Ⅰ- 1장 데이터 모델링의 이해 - 1절 데이터 모델의 이해

ss__jae2 2022. 3. 16. 17:26
반응형

1. 모델링

- 복잡한 '현실세계'를 단순화시켜 일정한 표기법에 의해 표현하는 것

  • 특징
    • 추상화( 모형화, 가설적 ) : 다양한 현상을 일정한 양식인 표기법에 의해 표현한다.
    • 단순화 : 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현하여 쉽게 이해할 수 있다.
    • 명확화 : 누구나 이해하기 쉽게 하기 위해 대상에 대한 애매모호함을 제거하고 정확하게 현상을 기술한다.
  • 관점
    • 데이터 관점 : 업무가 어떤 데이터와 관련이 있는지 또는 데이터 간의 관계는 무엇인지에 대해서 모델링하는 방법( What, Data )
    • 프로세스 관점 : 업무가 실제 하고 있는 일은 무엇인지 또는 무엇을 해야 하는지를 모델링하는 방법( How, Process )​
    • 데이터와 프로세스의 상관 관점 : 업무가 처리하는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는지 모델링하는 방법( Interaction )

2. 데이터 모델링

  • 정의
    • 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법
    • 현실세계의 데이터(what)에 대한 약속된 표기법에 의해 표현되는 과정
    • 데이터베이스를 구축하기 위한 분석/설계의 과정
  • 목적
    • 정보에 대한 표기법을 통일하여 업무 내용 분석 정확도 증대
    • 데이터 모델을 기초로 DB 생성
  • 기능
    • 시스템을 현재 또는 원하는 모습으로 가시화하도록 도와준다.
    • 시스템의 구조와 행동을 명세화할 수 있게 한다.
    • 시스템을 구축하는 구조화된 틀을 제공한다.
    • 시스템을 구축하는 과정에서 결정한 것을 문서화한다.
    • 다양한 영역에 집중하기 위해 다른 영역의 세부 사항은 숨기는 다양한 관점을 제공한다.
    • 특정 목표에 따라 구체화된 상세 수준의 표현방법을 제공한다.
  • ​중요성
    • 파급효과(Leverage)
    • 간결한 표현(Conciseness) : 정보 요구사항과 한계를 간결하게 표현하는 도구
    • 데이터 품질(Data Quality)
      • 유일성 : 데이터 중복 저장 방지
      • 유연성 : 데이터 정의와 데이터 사용 프로세스 분리
      • 일관성
  • 유의점
    • 중복(Duplication) : 여러 장소에 같은 정보를 저장하는 잘못을 하지 않도록 한다.
    • 비유연성(Inflexibility) : 데이터의 정의를 데이터의 사용 프로세스와 분리함으로써 데이터 모델링은 데이터 혹은 프로세스의 작은 변화가 애플리케이션과 데이터베이스에 중대한 변화를 일으킬 수 있는 가능성을 줄인다.
    • 비일관성(Inconsistency) : 데이터와 데이터 간 상호 연관 관계에 대해서 모순되지 않도록 해야 한다.
  • 이해관계자

이해관계자

3. 데이터 모델링의 3단계

개념-논리-물리데이터 모델

  • 프로젝트 생명주기(Life Cycle)에서 데이터 모델링
    • 계획 > 분석 > 설계 > 개발 > 테스트 > 전환/이행 단계로 이루어짐
    • 계획과 분석 단계는 개념적 데이터 모델링
    • 분석 단계는 논리적 데이터 모델링
    • 설계 단계는 물리적 데이터 모델링

4. 데이터 모델링에서 데이터 독립성

  • 데이터 독립성의 필요성
    데이터의 중복성과 데이터 복잡도 증가로 인한
    • 유지보수 비용 증가
    • 데이터 복잡도 증가
    • 데이터 중복성 증가
    • 요구사항 대응 저하
  • DB 3단계 구조
    - 데이터 독립성 확보를 목표로 함

데이터 독립성

  • 데이터 독립성 요소(3중 스키마)

데이터독립성 구성요소

  • 두 영역의 데이터 독립성

논리적, 물리적 데이터 독립성

  • 사상(Mapping)
    - 상호 독립적인 개념을 연결시켜주는 다리

사상(Mapping)

5. 데이터 모델링 3요소

  • 엔터티 : 업무가 관여하는 어떤 것(Thing)
  • 속성 : 어떤 것이 가지는 성격(Attribution)
  • 관계 : 업무가 관여하는 어떤 것 간의 관계(Relationships)

6. 데이터 모델의 표기법 : ERD

- 1976년 피터첸이 Entity-relationship model(E-R Model)이라는 표기법을 만들었다.

- 엔터티는 사각형, 관계를 마름모, 속성을 타원형으로 표현한다.

- 현실의 데이터를 모두 표현 가능하다.

- 각 업무분석에서 도출된 엔터티와 엔터티 간의 관계를 이해하기 쉽게 도식화된 다이어그램으로 표시하는 방법

  • ERD 작업 순서
    1) 엔터티를 그린다.
    2) 엔터티를 적절하게 배치한다.
    3) 엔터티 간 관계를 설정한다.
    4) 관계명을 기술한다.
    5) 관계의 참여도를 기술한다.(1:1, 1:M, M:N)
    6) 관계의 필수 여부를 기술한다.(필수, 선택)

7. 좋은 데이터 모델의 요소

  • 완전성 : 업무에서 필요로 하는 모든 데이터가 데이터 모델에 정의되어 있어야 한다.
  • 중복배제 : 하나의 데이터베이스 내에 동일한 사실은 반드시 한 번만 기록하여야 한다.
  • 업무규칙 : 데이터 모델링 과정에서 도출되고 규명되는 수많은 업무규칙을 데이터 모델에 표현해야 한다.
  • 데이터 재사용 : 데이터의 통합성과 독립성에 대해서 충분히 고려해야 한다.
  • 의사소통 : 데이터 모델이 진정한 의사소통의 도구로서 역할을 해야 한다.
  • 통합성 : 동일한 데이터는 조직의 전체에서 한 번만 정의되고 이를 다른 영역에서 참조, 활용할 수 있어야 한다.
반응형