바닥코딩
데이터 모델링의 기초 본문
데이터 모델링이란?
컴퓨터 공학을 전공하였거나 비 전공자라도 IT에 관심이 많은 사람이라면 DB가 무엇인지 대부분 알것이라 생각합니다. 데이터베이스는 결국 여러 사람이 공유할 수 있는 통합되어 관리하는 데이터베이스 집합인데 이러한 데이터의 집합을 효율적으로 구성하기 위한 작업을 의미합니다. 데이터 모델링을 3가지 문장으로 정의하자면
- 정보시스템을 구축하기 위한 데이터관점의 업무 분석 기법
- 현실 데이터에 대한 약속된 표기법에 의해 표현하는 과정
- 데이터베이스를 분석하기 위한 분석/설계의 과정
데이터 모델이 제공하는 기능
- 시스템을 원하는 모습으로 가시화
- 시스템 구조와 행동 명세화
- 시스템의 구조화된 틀을 제공한다
- 시스템을 결정하는 과정에서 결정한 것을 문서화 한다
- 특정 목표에 따라 구체화된 상세 수준의 표현방법을 제공한다
데이터 모델링의 3단계 진행
데이터 모델링 | 내용 |
개념적 모델링 | 추상화 수준이 높다, 포괄적인 수준의 모델링, EA 수립시 많이 사용 |
논리적 모델링 | key, 속성, 관계 등을 정확하게 표현, 재사용성이 높음 |
물리적 모델링 | 실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려하여 설계 |
데이터 모델링의 중요한 3가지 개념
- 업무가 관여하는 어떤 것(Things)
- 어떤 것이 가지고 있는 속성(Attribute)
- 업무가 관여하는 어떤 것의 관계 (Relationship)
개념 | 해당되는 내용 |
Things | 엔티티, 엔티티 타입, 인스턴스, 어커런스 |
Attribute | 속성 , 속성 값 |
Relationship | 관계, 페어링 |
좋은 데이터 모델의 요소
- 완전성(Completeness) = 업무에서 필요로 하는 모든 데이터가 데이터 모델에 정의되어 있어야 한다,
- 중복배재(Non-Redundancy) = 하나의 데이터베이스 내에 동일한 사실은 반드시 한 번만 기록 되어야 한다
- 데이터 재사용(Data Reusability) = 데이터의 톧합성과 독립성에 대한 충분한 고려를 통해 데이터를 재사용할 수 있는 환경을 구축한다
- 업무규칙(Business Rule) = 데이터 모델은 수많은 업무규칙을 정의하고 모델을 사용하는 모든 사용자가 공유할 수 있도록 제공하는 것이다
- 의사소통(Communication) = 데이터를 분석하는 과정에서 자연스럽게 많은 업무 규칙들이 도출이 되고 이 과정에서 많이 도출되는 속성, 관계등을 상세하게 표현하여 운용자, 설계자 들이 의사소통을 원활하게 해야한다
- 통합성(Integration) = 데이터 구조는 동일한 데이터를 조직의 전체에서 한번만 정의하고 이를 여러 다른 영역에서 참조 활용하는 것 이다