데이터베이스의 모델링 

현실 세계를 단순화하여 표현하는 기법

모델 :  현실 세계에서 일어날 수 있는 다양한 현상에 대해서 일정한 표기법에 의해 표현해 놓은 모형

모델링 : 현실 세계에서 필요한 데이터를 저장하는 데이터베이스를 구축하기 위한 분석/설계의 과정

 

모델링이 갖춰야 할 조건

  • 현실 세계를 반영해야 한다.
  • 단순화하여 표현해야 한다.
  • 관리하고자 하는 데이터를 모델로 설계한다.

 

모델링의 특징

  • 추상화(Abstraction)
    현실 세계를 일정한 형식으로 표현하는 것. 아이디어나 개념을 간략하게 표현하는 과정
  • 단순화(Simplification)
    복잡한 현실 세계를 정해진 표기법으로 단순하고 쉽게 표현한다는 의미
  • 명확화(Clarity)
    불분명함을 제거하고 명확하게 해석할 수 있도록 기술한다는 의미.

 

데이터베이스의 모델링은 현실 세계를 추상화, 단순화, 명확화하기 위해 일정한 표기법에 의해 표현하는 기법을 말한다.

 

 

모델링의 세 가지 관점

  • 데이터 관점(What, Data)
    데이터 위주의 모델링으로 어떤 데이터들이 업무와 얽혀있는지, 데이터 간에 어떤 관계에 있는지에 대해 모델링하는 방법
  • 프로세스 관점(How, Process)
    프로세스 위주의 모델링으로 업무가 실제로 처리하고 있는 일은 무엇인지 혹은 앞으로 처리해야 하는 일이 무엇인지를 모델링하는 방법
  • 데이터와 프로세스의 상관 관점(Data vs. Process, Interaction)
    데이터와 프로세스의 관계를 위주로한 모델링으로 프로세스의 흐름에 따라 데이터가 어떤 영향을 받는지를 모델링하는 방법

 

모델링의 세 가지 단계

  • 개념적 데이터 모델링(Conceptual Data Modeling)
    회사 전체 차원의 데이터 모델링 수행 시 행해지며 추상화 레벨이 가장 높은 모델링.
    이 단계에서는 업무 중심적이고 포괄적인 수준의 모델링이 진행된다.
  • 논리적 데이터 모델링(Logical Data Modeling)
    재사용성이 가장 높은 모델링.
    데이터베이스 모델에 대한  Key, 속성, 관계 등을 모두 표현하는 단계.
  • 물리적 데이터 모델링(Physical Data Modeling)
    실제 데이터베이스로 구현할 수 있도록 성능이나 가용성 등의 물리적인 성격을 고려하여 모델을 표현하는 단계.

 

데이터의 독립성


ANSI-SPARC 아키텍처는 데이터베이스 관리 시스템(DBMS)의 추상적인 설계 표준을 말한다.
ANSI-SPARC 아키텍처에서는 스키마를 3단계 구조로 나누는데, 데이터베이스에 대한 사용자들의 관점과 데이터베이스가 실제로 표현되는 물리적인 방식을 분리하기 위함이다.
데이터베이스가 존재하는 목정 중 하나는 사용자에게 데이터를 보여줄 수 있는 뷰를 제공하는 것인데, 사용자 입장에서는 데이터베이스의 내부 구조에 대해서는 알 필요가 없기에 데이터가 어떻게 저장되고 유지되는지에 대해서는 분리하게 된다. 
이렇게 ANSI-SPARC 아키텍처는 데이터의 독립성을 보장한다.

 

 

3단계 스키마 구조

  • 외부 스키마(External Schema)
    사용자 관점 : Multiple User's View 단계로 각 사용자가 보는 데이터베이스의 스키마를 정의한다.
  • 개념 스키마(Conceptual Schema)
    통합된 관점 : Community View of DB 단계로 모든 사용자가 보는 데이터베이스의 스키마를 통합하여 전체 데이터베이스를 나타내는 것. 데이터베이스에 저장되는 데이터들을 표현하고 데이터들 간의 관계를 나타낸다.
  • 내부 스키마(Internal Schema)
    물리적인 관점 : Physical Representation 단계로 물리적인 저장 구조를 나타낸다. 실질적인 데이터의 저장 구조나 컬럼 정의, 인덱스 등이 포함된다.

 

3단계 스키마 구조가 보장하는 독립성

  • 논리적 독립성
    개념 스키마가 변경되어도 외부 스키마는 영향을 받지 않는다.
  • 물리적 독립성
    내부 스키마가 변경되어도 외부/개념 스키마는 영향을 받지 않는다.

ERD(Entity Relationship Diagram)
시스템에 어떤 엔터티들이 존재하며 그들 간에 어떤 관계가 있는지를 나타내는 다이어그램

 

 

 

 

참고자료 : 유선배 SQL 개발자

+ Recent posts