728x90
데이터 모델링
데이터 모델링은 데이터베이스 설계의 핵심 단계 중 하나로, 데이터베이스 내 데이터 구조와 관계를 정의하는 과정이다.
또한, 정보시스템을 구축할 때 데이터 관점, 프로세스 관점, 데이터와 프로세스의 상관관점의 업무 분석과 데이터베이스 구축을 위한 분석 및 설계를 포함한다. 이는 데이터 베이스를 효율적으로 조직하고 데이터 관리를 용이하게 할 수 있다.
데이터 모델링의 3요소
1. 업무가 관여하는 어떤 것 (Things) = 엔터티 (Entity)
2. 어떤 것이 가지는 성격 (Attributes) = 속성 (Attribute)
3. 업무가 관여하는 어떤 것 간의 관계 (Relationships) = 관계 (Relationship)
특징
- 추상화: 현실세계를 일정한 형식에 맞추어 표현한다.
- 단순화: 제한된 표기법이나 언어로 표현한다.
- 명확화: 정확하게 현상을 기술한다.
유의점
- 중복 (Duplication): 동일한 데이터를 여러 번 저장하지 않도록 주의한다.
- 비유연성 (Inflexibility): 데이터베이스 스키마를 변경하면 애플리케이션에 영향을 미칠 수 있다. 프로그램과 테이블 간 연계성을 높이면 유연성이 떨어지게 된다.
- 비일관성 (Inconsistency)
데이터 모델링의 유형
- 개념적 데이터 모델링: 데이터의 전반적인 구조를 표현하며, 업무 개념과 관계를 중심으로 설계된다. 이 모델은 추상화 수준이 높고 업무중심적이며, 엔터티-관계 다이어그램(ERD)을 생성한다.
- 논리적 데이터 모델링: 개념적 모델을 자세하게 세분화하며, 엔터티, 속성, 관계 등을 정리하고 정규화를 실행한다. 재사용성이 높으며, 비즈니스 데이터에 존재하는 사실들을 인식하여 기록한다.
- 물리적 데이터 모델링: 데이터베이스 시스템에 따라 구체적인 데이터 저장 방식과 인덱스를 고려하여 설계한다. 이 모델은 논리 데이터 모델이 데이터 저장소로서 어떻게 컴퓨터 하드웨어에 표현될 것인지 정의한다.
- 물리적 스키마: 데이터가 물리적으로 컴퓨터에 어떻게 저장될 것인지 정의한다.
정규화?
더보기
논리 데이터 모델의 일관성을 확보하고 중복을 제거하여 속성들이 가장 적절한 엔터티에 배치되도록 하는 과정, 반복적인 데이터를 분리하고 각 데이터가 종속된 테이블에 적절하게 배치되도록 하는 것이다.
데이터 독립성
데이터 독립성은 상호 간 영향에서 벗어나 개별 형식이 가지는 고유의 기능을 유지시키며 그 기능을 극대화하는 것이다. 이는 지속적으로 증가하는 유지보수 비용을 절감하고 데이터 복잡도를 낮추며, 중복된 데이터를 줄이기 위한 목적이 있다.
데이터 베이스 3단계 구조
ANSI-SPARC: 데이터베이스 구축을 위한 추상적인 설계 표준으로 외부 단계, 개념적 단계, 내부적 단계로 구성된 독립적인 모델이다.
- 외부 단계: 개별 사용자들의 관점을 기술한다.
- 외부 스키마: View 단계 여러 개의 사용자 관점으로 구성하며, 데이터베이스의의 개개 사용자나 응용프로그래머가 접근하는 데이터베이스를 정의한다.
- 개념적 단계: 전체 데이터베이스의 논리적 구조를 기술한다.
- 개념 스키마: 모든 응용시스템들이나 사용자들이 필요로 하는 데이터를 통합한 조직 전체의 데이터베이스를 기술한 것으로, 데이터베이스에 저장되는 데이터와 그들 간의 관계를 표현하는 스키마이다.
- 내부적 단계: 데이터베이스에 어떤 데이터가 어떻게 저장되어 있는가를 기술한다.
- 내부 스키마: 데이터베이스가 물리적으로 저장된 형식이며, 물리적 장치에서 데이터가 실제적으로 저장되는 방법을 표현하는 스키마이다.
| 독립성 | 특징 |
| 논리적 독립성 | 개념 스키마가 변경되어도 외부 스키마에 영향 X |
| 물리적 독립성 | 내부 스키마가 변경되어도 외부/개념 스키마에 영향 X |
사상 (Mapping)
사상은 상호 독립적인 개념을 연결시켜주는 다리 역할을 한다.
- 외부적/개념적 사상 (논리적 사상): 외부적 뷰와 개념적 뷰의 상호 관련성을 정의한다.
- 개념적/내부적 사상 (물리적 사상): 개념적 뷰와 저장된 데이터베이스의 상호 관련성을 정의한다.
데이터 모델 표기법
데이터 모델에 대한 표기법은 1976년 피터 챈이 E-R Model 표기법을 만들었으며, 다이어그램으로는 주로 ERD(Entity Relationship Diagram)을 사용한다.
ERD 모델링 순서
- 엔터티를 그린다.
- 엔터티를 적절하게 배치한다.
- 엔터티 간 관계를 설정한다.
- 관계명을 기술한다.
- 관계의 참여도를 기술한다.
- 관계의 필수 여부를 기술한다.
좋은 데이터 모델의 요소
- 완전성 (Conpletencess): 업무에 필요한 모든 데이터가 모델에 정의되어 있어야 한다.
- 중복 배제 (Non-Redundacy): 하나의 데이터베이스 내에 동일한 사실은 한 번만 기록되어야 한다.
- 업무 규칙 (Business Rules): 업무 규칙을 데이터 모델에 표현하고 이를 활용하는 사용자가 공유할 수 있도록 제공되어야 한다.
- 데이터 재사용 (Data Reusability): 데이터의 통합성과 독립성에 대해 고려가 필요하며, 데이터는 애플리케이션에 대해 독립적으로 설계되어야 데이터 재사용성이 향상된다.
- 의사소통 (Communication): 업무 규칙은 데이터 모델에 엔터티, 서브타입, 속성, 관계 등의 형태로 최대한 자세하게 표현되어야 사용자들 간의 의사소통이 용이로워진다.
- 통합성 (Intergration): 동일한 데이터는 조직의 전체에서 한 번만 정의되어야 하며, 이를 다른 영역에서 참조, 활용한다.
728x90
'SQLD' 카테고리의 다른 글
| [SQLD] 1과목: 데이터 모델링의 이해 - 데이터 모델과 성능 (1) | 2023.11.14 |
|---|---|
| [SQLD] 1과목: 데이터 모델링의 이해 - 엔터티, 속성, 관계, 식별자 (0) | 2023.11.05 |