728x90
반응형
데이터 모델의 이해
🔎 모델링(Modeling)이란?
- '설계'나 '디자인', '형상'
- 데이터베이스의 모델링 : 현실 세계를 단순화하여 표현하는 기법
- 현실 세계에서 일어날 수 있는 다양한 현상에 대해서 일정한 표기법에 의해 표현해 놓은 모형
- 현실 세계에서 필요한 데이터를 저장하는 데이터베이스를 구축하기 위한 분석/설계의 과정
💡 모델링이 갖춰야 할 조건
- 현실 세계를 반영해야 한다.
- 단순화하여 표현해야 한다.
- 관리하고자 하는 데이터를 모델로 설계한다.
💡 모델링의 특징
- 추상화(Abstraction)
현실 세계를 일정한 형식으로 표현하는 것, 아이디어나 개념을 간략하게 표현하는 과정 - 단순화(Simplification)
복잡한 현실 세계를 정해진 표기법으로 단순하고 쉽게 표현 - 명확화(Clarity)
불분명함을 제거하고 명확하게 해석할 수 있도록 기술
💡 모델링의 세 가지 관점
- 데이터 관점 (What, Data)
어떤 데이터들이 얽혀있는지, 데이터 간에는 어떤 관계가 있는지에 대해 모델링 - 프로세스 관점 (How, Process)
실제로 처리하고 있는 일은 무엇인지, 앞으로 처리해야 하는 일은 무엇인지를 모델링 - 데이터와 프로세스의 상관 관점 (Data vs. Process, Interaction)
프로세스의 흐름에 따라 데이터가 어떤 영향을 받는지를 모델링
💡 데이터의 품질을 보장하기 위해 데이터 모델링 시 유의해야할 점
* 데이터의 신뢰도, 정확성 등을 나타내는 척도
- 중복 (Duplication)
같은 데이터가 여러 엔터티에 중복으로 저장되는 현상 지양 - 비유연성 (Inflexibility)
데이터 모델과 프로세스를 분리하여 유연성을 높이는 것이 바람직 - 비일관성 (Inconsistency)
데이터 모델링을 할 때 데이터 간의 연관 관계에 대해 명확하게 정의
💡 모델링의 세 가지 단계
- 개념적 데이터 모델링 (Conceptual Data Modeling)
전사적 데이터 모델링 수행 시, 추상화 레벨이 가장 높은 모델링, 업무 중심적이고 포괄적인 수준의 모델링 진행 - 논리적 데이터 모델링 (Logical Data Modeling)
재사용성이 가장 높은 모델링, 데이터 베이스 모델에 대한 Key, 속성, 관계 등을 모두 표현하는 단계 - 물리적 데이터 모델링 (Physical Data Modeling)
실제 데이터베이스로 구현할 수 있도록 성능이나 가용성 등의 물리적인 성격을 고려하여 모델을 표현하는 단계
💡 데이터의 독립성
📌 ANSI-SPARC
(American National Standard Institute, Standards Planning And Requirements Commitee)
- 데이터베이스 관리 시스템(DBMS)의 추상적인 설계 표준
- 애플리케이션에 영향을 주지 않고 데이터베이스의 구조를 변경할 수 있어야 독립성이 보장된다.
📌 3단계 스키마 구조
- 외부 스키마 (External Schema) - 사용자의 관점 (Multiple User's View)
- 각 사용자가 보는 데이터 베이스의 스키마를 정의
- View 단계, 여러개의 사용자 관점으로 구성
- DB의 각 사용자나 응용 프로그래머가 접근하는 DB의 정의 - 개념 스키마 (Conceptual Schema) - 통합된 관점 (Community View of DB)
- 모든 사용자가 보는 데이터베이스의 스키마를 통합하여 전체 데이터베이스를 나타내는 것
- 모든 사용자 관점을 통합한 조직 전체 관점의 통합적인 표현 - 내부 스키마 (Internal Schema) - 물리적인 관점 (Physical Representation)
- 물리적인 저장 구조
- 실질적인 데이터의 저장 구조나 컬럼 정의, 인덱스 등이 포함
📌 3단계 스키마 구조가 보장하는 독립성
데이터베이스에 대한 사용자들의 관점과 데이터베이스가 실제로 표현되는 물리적인 방식을 분리하여 독립성을 보장하기 위한 것
- 논리적 독립성
- 개념 스키마가 변경되어도 외부 스키마는 영향받지 않는다.
- 사용자 특성에 맞는 변경이 가능하고 통합 구조의 변경이 가능 - 물리적 독립성
- 내부 스키마가 변경되어도 외부/개념 스키마는 영향받지 않는다.
- 물리적인 DB 구조가 바뀌어도 응용 프로그램과 개념 스키마에는 영향도가 없는 것
- 물리적인 구조와는 별개로 개념 구조를 변경할 수 있고 개념 구조와는 별개로 물리적인 구조의 변경이 가능
💡 ERD(Entity Relationship Diagram)
시스템에 어떤 엔터티들이 존재하며 그들간에 어떤 관계가 있는지 나타내는 다이어그램
📌 ERD 표기 방식
- Peter Chen
주로 대학교재에서 사용하는 표기법, 실무에서 사용하는 경우 드물다 - IDEF1X(Integration Definition for Information Modeling)
실무에서 사용하는 경우 O, ERWin에서 사용되는 모델 - IE/Crow's Foot
까마귀발 표기법, 가장 많이 사용, ERWin, ERStudio에서 사용되는 모델 - Min-Max/ISO
각 엔터티의 참여도를 좀 더 상세하게 나타내는 표기법 - UML
소프트웨어 공학에서 주로 사용되는 모델 - Case*Method/Barker
Oracle에서 사용되는 모델, Crow's Foot과 비슷
📌 ERD 작성 순서
- 엔터티를 도출하고 그린다.
- 엔터티를 적절하게 배치한다.
- 엔터티 간의 관계를 설정한다.
- 관계명을 기입한다.
- 관계의 참여도를 기입한다.
- 관계의 필수/선택 여부를 기입한다.
📌 시스템 분석을 위한 모델링의 기능
- 시스템이 향후 변화하고자 하는 모습으로 가시화
- 시스템을 구축하는 과정에서 결정한 것을 문서화
- 시스템을 구축하는 구조화된 틀 제공
- 시스템의 구조와 행동 명세화
728x90
반응형