데이터 모델링의 이해
1. 모델링의 이해
1) 모델링 정의
- 복잡한 현실세계를 단순화 시켜서 표현
- 가설적 또는 일정 양식에 맞춘 표현
- 모델이란, 사물 또는 사건에 관한 양상이나 관점을 연관된 사람이나 그룹을 위해서 명확하하는 것
- 현실 세계의 추상화 반영
2) 모델링 특징
3) 모델링의 3가지 관점
- 데이터 관점 + 프로세스 관점 + 데이터와 프로세스 상관관점
2. 데이터 모델의 기본 개념 이해
1) 모델링 정의
- 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법
- 현실세계의 데이터에 대해 약속된 표기법에 의해 표현하는 과정
- 데이터베이스를 구축하기 위한 분석/설계 관점
2) 데이터 모델이 제공하는 기능
- 가시화 + 명세화 + 구조화 + 문서화 + 은닉화 + 상세화
3. 데이터 모델링의 중요성 및 유의점
- 파급효과 : 테스트 도중, 데이터 모델의 변경이 불가피하다면 위험요소 발생가능
- 간결표현 : 간결해져있어야 요구사항을 빠르게 파악 가능
- 데이터 품질 : 데이터 불일치면 안됨
- 중복 : 잘못 저장하면 안된다
- 비유연성 : 데이터 모델을 어떻게 설계했냐에 따라 업무중에 수시로 변경됨으로써 유지보수가 어려울 수 있음, 데이터의 정의를 데이터의 사용 프로세스와 분리함으로써 데이터 모델링은 작은 변화가 큰 영향을 끼칠 수 있음
- 비일관성 : 데이터와 데이터 간 상호 연관관계 명확한 정의는 비 일관성 을 해결함
4. 데이터 모델링의 3단계 진행
- 개념적 모델링 + 논리적 데이터 모델링 + 물리적 데이터 모델링 ( < -- 추상화 // 구체화 -->)
5. 프로젝트 생명주기에서 데이터 모델링
- 분석 + 설계 + 개발 + 테스트 + 전환 및 이행
- 계횐 또는 분석단계에서 개념적 모델링, 분석단계에서 논리적 모델링, 설계단계에서 물리적 모델링이 수행된다
- 실제로는 개념적 + 논리적 모델링을 같이 수행하는 경우가 많다
6. 데이터 모델링에서 데이터 독립성의 이해
1) 데이터 독립성의 필요성
어떤 단위에 대해 독립적인 의미 부여, 그것을 효과적으로 구현함으로 고유한 특징을 명확화 할 뿐 아니라, 다른 기능의 변경으로 쉽게 영향 안 받게 함
유지보수 비용 절감, 데이터 복잡도를 낮추고, 중복된 데이터 줄이고, 요구사항 대응을 높이는 장점이 있음
- 데이터 독립성 확보의 효과 :
-- 각 View 의 독립성을 유지하고, 계층별 View 에 영향을 주지 않고 변경
-- 단계별 Schema 에 따라 데이터 정의어와 조작어가 다름을 제공
- Ansi 표준모델 과 3단계 구조, 독립성, 사상을 이해하면 충분함
2) 데이터 베이스 3단계 구조 및 요소
3) 영역간 데이터 독립성 : 논리적 독립성 + 물리적 독립성
4) 사상 : 외부적/개념적 사상 + 개념적/내부적 사상
7. 데이터 모델링의 중요한 세가지 개념
1) 세가지 요소
- Things + Attributes + Relationship
2) 단수와 집합의 명명 (생략)
8. 데이터 모델링의 이해관계자
- 이해관계자의 데이터 모델링 중요성 인식
- 이해관계자 : DBS + Programmer + Field Expert + Data Engineer(System Engineer)
9. ERD 이해
- 네모와 마름모 로 엔터티와 관계 표시
- 작성순서
- 엔터티 그리기
- 엔터티 배치
- 관계 설정
- 관계명 기술
- 참여도 기술
- 필수여부 기술
10 . 좋은 데이터 모델
- Completeness + Non_Redundancy + Business Rules + Data Reusabilty + Communication + Integration
11. 잡담
이 챕터가 사실 어떻게보면 가장 당연한건데 제대로 암기해야 하는 부분이었다. 예로 (10. 좋은 데이터 모델) 의 경우 각 모델의 특성의 대표 이름과 특징을 제대로 암기해야함