본문 바로가기
DB

SQLD 시험 : 1-1 데이터 모델링

by 스노위13 2023. 5. 9.

1. 모델링의 특징
1) 추상화: 현실세계를 일정한 형식에 맞추어 표현
2) 단순화: 제한된 표기법이나 언어로 표현하여 쉽게 이해할 수 있게 함
3) 명확화: 누구나 이해할 수 있게 애매모호함 제거, 정확하게 현상 기술

2. 모델링의 관점 : 데이터관점, 프로세스관점, 상관관점

3. 데이터 모델링 시 유의점
1) 중복(Duplication) : 중복된 데이터는 데이터베이스의 크기를 증가시키고 데이터의 일관성을 해칠 수 있음
2) 비유연성(Infexibility): 데이터 모델링이 너무 엄격하게 설계되어 있어서 새로운 데이터나 변경된 데이터를 추가하기 어려운 상태, 데이터의 정의를 데이터의 사용 프로세스와 분리함으로써 가능성 감소 가능
3) 비일관성(Inconsistency): 데이터의 일관성이 유지되지 않는 상태, 동일한 정보가 서로 다른 방식으로 저장되거나 서로 다른 값으로 저장되는 경우, 이를 방지하기 위해 데이터와 데이터 간 상호 연관 관계에 대한 명확한 정의 필요

4. 데이터 모델링의 3단계
1) 개념적 데이터 모델
 - 특징: 업무중심적, 포괄적인 모델링 / 추상적
 - 사용자의 데이터 요구사항 분석, 엔티티-관계 다이어그램 생성
2) 논리적 데이터 모델
 - 특징: 업무에 관한 키, 속성, 관계등을 표현, 재사용성 높음 / 구체적
 - 정규화 수행으로 일관성 확보, 중복 제거
3) 물리적 데이터 모델
 - 특징: 실제 데이터베이스에 이식할 수 있도록 성능, 저장 등 물리적 성격을 고려하여 설계 / 구체적
 - 물리적 스키마, 저장장소, 저장장치, 접근 방법에 대해 정의

5. 데이터독립성 
1) 필요성 : 유지보수 비용 절감, 데이터의 복잡도 감소, 중복 데이터 감소, 화면과 데이터베이스 간의 독립성 유지로 요구사항 대응 향상

2) 데이터베이스 3단계 구조 : 외부 단계, 개념적 단계, 내부적 단계로 구성되어 서로 독립적임

3) 데이터독립성 구성 요소
- 외부 스키마: View 단계, 각각의 사용자의 관점으로 보는 DB 스키마
- 개념 스키마: 개념 단계, 하나의 개념적 스키마, 통합 관점, 조직 전체의 DB 기술
- 내부 스키마: 내부 단계, 내부 스키마, DB가 물리적 장치에 실제적으로 저장된 형식

4) 논리적, 물리적 데이터 독립성
① 논리적 독립성 
- 개념 스키마 변경 → 외부 스키마에 영향 없도록 지원
- 논리적 구조가 변경되어도 응용 프로그램에 영향 없음
- 사용자 특성에 맞게 변경 가능, 통합 구조 변경 가능
② 물리적 독립성
- 내부 스키마 변경 → 외부/개념 스키마에 영향 없도록 지원
- 저장장치의 구조 변경은 응용 프로그램과 개념스키마에 영향 없음
- 물리적 구조 영향 없이 개념 구조 변경 가능
- 개념구조 영향 없이 물리적인 구조 변경 가능 

5) Mapping(사상): 상호 독립적인 개념을 연결시켜주는 다리
- 논리적 사상(외부/개념): 위부적 뷰와 개념적 뷰의 상호 관련성 정의, 사용자의 접근 형식에 따라 다른 타입의 필드를 가질 수 있음, 개념적 뷰의 필드 타입은 변화 없음
- 물리적 사상(개념/내부): 개념적 뷰와 저장된 데이터베이스의 상호관련성 정의, 데이터베이스 구조가 바뀐다면 개념적/내부적 사상이 바뀌어야 개념적 스키마가 그대로 남게 됨

6. 데이터모델링의 주요 개념
1) 구성 시 주요 개념
 - 업무가 관여하는 어떤 것(Thing) → 엔티티
 - 어떤 것이 가지는 성격(Attributes) → 속성
 - 업무가 관여하는 어떤 것 간의 관계(Relationships) → 관계 
 
2) 단수와 복수의 개념과 명명

7. ERD
1) 데이터 모델 표기법 : Entity-relationship model(E-R Model)
- 엔티티는 사각형, 관계는 마름모, 속성은 타원형으로 표현
- Crow's Foot 표기법을 가장 많이 사용함
2) ERD 작성 작업 순서
엔티티 그리기 → 엔티티 배치 → 엔티티간 관계 설정 → 관계명 기술 → 관계의 참여도 기술  →  관계의 필수여부 기술

8. 좋은 데이터 모델의 요소
1) 완전성: 업무에 필요한 모든 데이터는 데이터 모델에 정의되어 있어야 함
2) 중복배제: 하나의 DB 내에 동일한 사실은 반드시 한 번만 기록해야 함
3) 업무규칙: 모델링 과정에서 도출된 업무규칙을 데이터 모델에 표현하고 활용해야 함 
4) 데이터 재사용: 재사용을 위해 데이터의 통합성과 독립성에 대한 충분한 고려 필요 
5) 의사소통: 업무 관련자들이 설계자의 업무 규칙을 받아들이고 활용하는 것
6) 통합성: 공유 데이터의 구조를 여러 업무 영역에서 공동으로 사용하기 용이하게 정

댓글