본문 바로가기
자격증

[SQLD] 데이터 모델의 이해 (3)

by 구메구메 2020. 2. 24.
반응형

 

4. 데이터 모델링의 3단계 진행

 

  • 개념적 데이터 모델링

    • 추상화 수준이 높고 업무중심적이고 포괄적인 수준의 모델링 진행. 전사적 데이터 모델링, EA수립시 많이 이용

  • 논리적 데이터 모델링

    • 시스템으로 구축하고자 하는 업무에 대해 Key, 속성, 관계 등을 정확하게 표현, 재사용성이 높음

  • 물리적 데이터 모델링

    • 실제로 DB에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려하여 설계

  • 개념 - 논리 - 물리 순서로 '추상적 → 구체적'

 

 

5. 프로젝트 생명 주기(Life Cycle)에서 데이터 모델링

 

출처 : http://www.dbguide.net/

  • 데이터축과 애플리케이션축으로 구분되어 프로젝트 진행. 각각 도출된 사항은 상호 검증을 지속적으로 수행하면서 단계별 완성도를 높임.

  • 단, 객체지향 개념은 데이터와 프로세스를 한꺼번에 바라보면서 모델링을 전개하므로 데이터 모델링과 프로세스 모델링을 구분하지 않고 일체형으로 진행 ( 예 - 클래스 )

 

 

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

 

  • 데이터 독립성의 필요성

    • 유지보수 비용 절감을 위해

    • 데이터 복잡도를 낮추기 위해

    • 중복된 데이터 줄이기 위해

    • 사용자 요구사항에 대해 화면과 DB간에 독립성을 유지하기 위해

  • 데이터 독립성을 확보하게 되면 얻을 수 있는 효과

    • 각 View의 독립성 유지, 계층별 View에 영향을 주지않고 변경 가능

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

  • 데이터베이스 3단계 구조

    • 외부 단계 : 사용자가 처리하고자 하는 데이터유형에 따라, 관점에 따라, 방법에 따라 다른 스키마 구조

    • 개념적 단계 : 사용자가 처리하는 데이터 유형의 공통적인 사항을 처리하는 통합된 뷰를 스키마 구조로 디자인한 형태

    • 내부적 단계 : 데이터가 물리적으로 저장된 방법에 대한 스키마 구조

출처 : http://www.dbguide.net/

  • 데이터독립성 요소

    • 외부 스키마

      • 개개인 사용자 단계로서 개개인 사용자가 보는 개인적 DB 스키마
      • DB의 개개인 사용자나 응용프로그래머가 접근하는 DB 정의
      • 사용자 관점
    • 개념 스키마

      • 개념단계 하나의 개념적 스키마로 구성
      • 모든 사용자 관점을 통합한 조직 전체의 DB를 기술하는 것
      • DB에 저장되는 데이터와 그들간의 관계를 표현하는 스키마
      • 통합관점
    • 내부 스키마

      • 내부단계, 내부 스키마로 구성
      • DB가 물리적으로 저장된 형식
      • 물리적 장치에서 데이터가 실제로 저장되는 방법을 표현하는 스키마
      • 물리적 저장구조
    • 데이터 모델링은 통합관점의 뷰를 가지고 있는 개념 스키마를 만들어가는 과정

  • 두 영역의 데이터 독립성

    • 논리적 독립성

      • 개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않도록 하는 것
      • 논리적 구조가 변경되어도 응용 프로그램에 영향 없음
      • 사용자 특성에 맞는 변경 가능
      • 통합 구조 변경 가능
    • 물리적 독립성

      • 내부 스키마가 변경되어도 외부/개념 스키마는 영향을 받지 않도록 하는 것
      • 저장장치의 구조변경은 응용프로그램과 개념스키마에 영향 없음
      • 물리적 구조 영향 없이 개념구조 변경 가능
      • 개념구조 영향 없이 물리적인 구조 변경가능
    • 즉, 논리적인 데이터독립성은 외부의 변경에도 개념 스키마가 변하지 않는 특징을 가짐

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

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

      • 외부적 뷰와 개념적 뷰의 상호 관련성
      • 예) 사용자가 접근하는 형식에 따라 다른 타입의 필드를 가질 수 있음
    • 개념적 / 내부적 사상 ( 물리적 사상 )

      • 개념적 뷰와 저장된 DB의 상호관련성
      • 예) 만약 저장된 DB 구조가 바뀐다면 개념적 / 내부적 사상이 바뀌어야 함
    • 데이터 독립성을 보장하기 위해서는 사상을 하는 스크립트(DDL)를 DBA가 필요할 때마다 변경해 주어야 함

 

 

 

※ '[SQL 전문가 가이드] -한국데이터베이스진흥원' 참고

반응형