데이터 모델의 이해
A. 데이터 모델링이란?
1. 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법
2. 현실 세계의 데이터에 대해 약속된 표기법에 의해 표현하는 과정
3. 데이터베이스를 구축하기 위한 분석/설계의 과정
=> 복잡한 현실 세계를 추상화, 단순화, 명확화 하기 위해 일정한 표기법으로 모델을 표현하는 기법
B. 데이터 모델링 필요성 / 목적
1. 업무정보를 구성하는 기초가 되는 정보들에 대해 일정한 표기법에 의해 표현
2. 분석된 모델을 가지고 데이터베이스를 생성하여 개발 및 데이터 관리에 사용하기 위함
3. 데이터모델링 자체로의 업무의 흐름을 설명하고 분석하는 부분에 의미를 가지고 있음
C. 데이터 모델링 특징
- 추상화 : 현실 세계를 일정한 형식으로 표현하는 것, 아이디어나 개념을 간략하게 표현하는 과정
- 단순화 : 복잡한 현실 세계를 정해진 표기법으로 단순하고 쉽게 표현
- 명확화 : 불분명함을 제거하고 명확하게 해석할 수 있도록 기술
D. 데이터 모델링 관점
- 데이터 관점 : 데이터 위주의 모델링, 어떤 데이터들이 업무와 얽혀 있는지, 그리고 그 데이터 간에는 어떤 관계가 있는지에 대해서 모델링하는 방법
- 프로세스 관점 : 프로세스 위주의 모델링, 업무가 실제로 처리하고 있는 일은 무엇인지 또는 앞으로 처리해야 하는 일은 무엇인지를 모델링하는 방법
- 데이터와 프로세스의 상관관점 : 데이터와 프로세스의 관계를 위주와 한 모델링, 프로세스의 흐름에 따라 데이터가 어떤 영향을 받는지를 모델링하는 방법
E. 데이터 모델링 유의사항
- 비유연성(Inflexibility) : 데이터의 정의를 데이터의 사용 프로세스와 분리함으로써 프로세스의 변화로 인해 데이터 모델이 수시로 변경될 가능성을 줄인다.
- 비일관성(Inconsistency) : 데이터 간의 일관성을 유지하기 위해 상호 연관 관계를 명확하게 정의해야 한다.
- 중복(Duplication) : 같은 데이터가 여러 군데 중복되어 저장되지 않도록 해야 한다.
F. 데이터 모델링 중요성
- 파급효과(Leverage) : 데이터 구조 변경에 따른 표준 영향 분석, 응용 변경 영향 분석 등 많은 영향 분석이 필요
- 복잡한 요구사항의 간결한 표현(Concisensess) : 기능적 요구사항 파악보다 데이터 모델의 리뷰가 정보 요구사항 파악에 용이
- 중복(Duplication) : 데이터는 기업의 중요 자산이기 때문에 데이터 품질을 높여 데이터의 정확성을 높임
G. 데이터 모델링 3단계
- 개념적 데이터 모델링(Conceptual Data Modeling) : 전사적 데이터 모델링 수행 시 행해지며 추상화 레벨이 가장 높은 모델링이다. 이 단계에서는 업무 중심적으로 포괄적인 수준의 모델링이 진행된다.
- 논리적 데이터 모델링(Logical Data Modeling) : 재사용성이 가장 높은 모델링으로 데이터베이스 모델에 대한 Key, 속성, 관계 등을 모두 표현하는 단계이다.
- 물리적 데이터 모델링(Physical Data Modeling) : 실제 데이터베이스로 구현할 수 있도록 성능이나 가용성 등의 물리적인 성격을 고려하여 모델을 표현하는 단계
H. ANSI-SPARC(American National Standard Institute/Stardard Planning And Requirements Committee)
1. 1975년도에 처음 제안된 RDMS의 추상화된 설계 표준
2. 데이터베이스 관리 시스템의 추상적인 설계 표준, 3단계 스키마로 구분
3. 3단계 스키마 구분 목적 : 데이터베이스에 대한 사용자들의 관점과 데이터베이스가 실제로 표현되는 물리적인 방식을 분리하기 위함
I. 데이터베이스 스키마 3단계 구조
- 외부 스키마(External Schema) : 사용자 관점 - Multiple User's View 단계로 각 사용자가 보는 데이터베이스의 스키마를 정의
- 개념 스키마(Conceptual Schema) : 통합된 관점 - Community View of DB 단계로 모든 사용자가 보는 데이터베이스의 스키마를 통합하여 전체 데이터베이스를 나타내는 것. 데이터베이스에 저장되는 데이터들을 표현하고 데이터들 간의 관계를 나타낸다.
- 내부 스키마(Internal Schema) : 물리적인 관점 - Physical Representation 단계로 물리적인 저장 구조를 나타낸다. 실질적인 데이터의 저장 구조나 칼럼 정의, 인덱스 등이 포함된다.
J. 데이터베이스 스키마 3단계 구조가 보장하는 독립성
- 데이터베이스에 대한 사용자들의 관점과 데이터베이스가 실제로 표현되는 물리적인 방식을 분리하여 독립성을 보장하기 위한 것
K. ERD ( Entity Relationship Diagram )
- 시스템에 어떤 엔터티들이 존재하며 그들 간에 어떤 관계가 있는지를 나타내는 다이어그램
1. 1976년 피터첸(Peter Chen)에 의해 Entity-Relationship Model(E-R Model)이라는 표기법을 만듦
2. 일반적으로 ERD를 작성하는 방법은 엔터티를 도출 -> 엔터티배치 -> 관계 설정 -> 관계명 기술의 흐름으로 작업을 진행
3. 관계의 명칭은 관계 표현에 있어서 매우 중요한 부분에 해당
4. 가장 중요한 엔터티를 왼쪽 상단에 배치하고, 이것을 중심으로 다른 엔터티를 나열하면서 전개
5. 가장 중요한 엔터티는 왼쪽 상단에서 조금 아래쪽 중앙에 배치하여 전체 엔터티와 어울릴 수 있도록 하면 향후 관련 엔터티와 관계선을 연결할 때 선이 꼬이지 않고 효과적으로 배치
ERD 작성(모델링) 기능
1. 시스템이 향후 변화하고자 하는 모습으로 가시화
2. 시스템을 구축하는 과정에서 결정한 것을 문서화
3. 시스템의 구조와 행동을 명세화
ERD 작성 순서
1. 엔터티를 도출하고 엔터티를 그린다.
2. 엔터티 배치
3. 엔터티 간 관계 설정
4. 관계명 입력
5. 관계 참여도 입력
6. 관계 필수/선택 여부 입력
L. 좋은 데이터 모델의 요소
- 완전성(Completeness) : 업무에 필요한 모든 데이터가 데이터 모델에 정의되어야 함
- 중복배제(Non-Redundancy) : 하나의 데이터베이스 내에 동일한 사실은 한 번만 기록되어야 함
- 업무규칙(Business Rules) : 업무규칙을 데이터 모델에 표현하고 데이터 모델을 공유할 수 있도록 제공
- 데이터 재사용(Data Reusability) : 데이터 통합성과 독립성에 대해 고려해야 함. 데이터가 애플리케이션에 대해 독립적으로 설계, 통합 모델로 설계
- 의사소통(Communication) : 데이터 모델에 표현된 업무 규칙들을 관련자들이 정보시스템을 활용할 수 있어야 함
- 통합성(Integration) : 동일한 데이터는 조직 전체에서 한 번만 정의하고 여러 영역에서 참조, 활용할 수 있어야 함
'IT 용어 및 개념 > SQL' 카테고리의 다른 글
[SQLD] 1-6. 데이터 모델의 이해 - 예상문제풀이 (Question&Answer) (1) | 2024.10.08 |
---|---|
[SQLD] 1-5. 데이터 모델의 이해 - 식별자(Identifiers) 특징, 분류체계, 고려사항 (2) | 2024.10.07 |
[SQLD] 1-4. 데이터 모델의 이해 - 관계(Relationship) 정의, 분류, 표기법 (0) | 2024.10.06 |
[SQLD] 1-3. 데이터 모델의 이해 - 속성(Attribute) 정의, 특징, 도메인 (0) | 2024.10.05 |
[SQLD] 1-2. 데이터 모델의 이해 - 엔터티(Entity) 특징, 분류, 명명법 (4) | 2024.10.04 |