Overview
얍
Modeling
데이터베이스의 Modeling(모델링)은 ‘현실 세계를 단순화하여 표현하는 기법’이다.
특징
- Abstraction(추상화) : 현실 세계를 일정한 형식으로 표현하는 것이다.
- Simplification(단순화) : 복잡한 현실 세계를 정해진 표기법으로 단순하고 쉽게 표현한다.
- Clarity(명확화) : 불분명함을 제거하고 명확하게 해석할 수 있도록 기술한다.
유의 사항
- Duplication(중복) : 같은 데이터가 여러 Entity에 중복으로 저장되는 현상을 지양해야 한다.
- Inflexibility(비유연성) : 데이터 모델의 설계에 따라 사소한 변경에도 모델이 수시로 변경되어야 하는 상황이 발생할 수 있다. 유지보수 측면에서 어려움을 가중시키므로 데이터 모델과 프로세스를 분리하여 유연성을 높여야 한다.
- Inconsistency(비일관성) : 다른 데이터와의 연관성을 고려하지 않고 일부 데이터만 변경하였을 때 발생할 수 있는 문제이다. 이를 예방하기 위해 데이터 모델링을 할 때 데이터 간 연관 관계에 대해 명확하게 정의해야 한다.
세 가지 관점
- 데이터 관점(What, Data) : 어떤 데이터들이 업무와 얽혀있는지, 그리고 그 데이터 간에는 어떤 관계가 있는지에 대해 모델링하는 방법
- 프로세스 관점(How, Process) : 이 업무가 실제로 처리하고 있는 일은 무엇인지 또는 앞으로 처리해야 하는 일은 무엇인지를 모델링하는 방법
- 데이터와 프로세스의 상관 관점(Data vs. Process, Interaction) : 프로세스의 흐름에 따라 데이터가 어떤 영향을 받는지를 모델링하는 방법
세 가지 단계
- 개념적 데이터 모델링(Conceptual Data Modeling) : 전사적 데이터 모델링 수행 시 행해지며 추상화 레벨이 가장 높은 모델링이다.
- 논리적 데이터 모델링(Logical Data Modeling) : 재사용이 가장 높은 모델링으로 데이터베이스 모델에 대한 Key, Attribute, Relationship 등을 모두 표현하는 단계이다.
- 물리적 데이터 모델링(Physical Data Modeling) : 실제 데이터베이스로 구현할 수 있도록 성능이나 가용성 등의 물리적인 성격을 고려하여 모델을 표현하는 단계이다 .