SQL 전문가 가이드 정리
제 1장 데이터 모델링의 이해
제 1절. 데이터 모델의 이해
모델링의 정의
- 모델이라 하는 것은 모형, 축소형의 의미로서 사람이 살아가면서 나타날 수 있는 다양한 현상에 대해서 일정한 표기법에 의해 표현해 놓은 모형.
- 사람이 살아가면서 나타날 수 있는 다양한 현상은 사람, 사물, 개념 등에 의해 발생.
(모델링은 이것을 표기법에 의해 규칙을 가지고 표기하는 것 자체를 의미) *모델을 만들어가는 일 자체를 모델링으로 정의할 수 있다.
'복잡한 현실세계'를 표기법이나 언어로 단순화 시켜표현 / 사물 또는 사건에 관한 관점을 연관된 사람이나 그룹을 위해 명확하게 하는 것 / 현실 세계의 추상화된 반영 ==> 모델
모델링의 세가지 관점 : 데이터관점, 프로세스관점, 데이터와 프로세스의 상관관점 (what, how - interaction)
데이터 모델링이란?
- 정보시스템을 구축하기 위한 데이터관점의 업무 분석 기법
- 현실세계의 데이터(what)에 대해 약속된 표기법에 의해 표현하는 과정
- 데이터베이스를 구축하기 위한 분석/설계 과정
데이터 모델이 제공하는 기능
- 시스템의 현재모습으로의 가시화
- 구조와 행동의 명세화
- 구조화된 틀, 문서화
- 목표에 따라 구체화된 표현방법
데이터 모델링의 중요성
1. 파급효과 - 쉽게말해서 구축이 어느정도 다된 상태에서 테스트를 하는 과정에서 구조자체의 문제가 생기면 위험하다.
2. 복잡한 정보 요구사항의 간결한 표현 - 건물을 지을때 설계자가 공사하는 사람에게 쉽게 말해줘야 설계대로 완벽하게 지을 수 있다.
3. 데이터 품질 - 데이터가 오래되었거나 중복 데이터의 미정의등과 같이 데이터 구조의 문제로 인한 데이터는 되돌리기 어렵다.
데이터 모델링의 유의점
1. 중복(duplication)
2. 비유연성(inflexibility)
3. 비일관성(inconsistency)
데이터 모델링의 3단계 진행
- 현실세계의 개체 -> 개념적 데이터 모델링 -> 개념세계 개념적 구조 -> 논리적 데이터 모델링 -> 개념세계 논리적 구조 -> 물리적 데이터 모델링 ->저장 데이터베이스
데이터독립성의 필요성
- 유지보수 비용증가 / 데이터복잡도 증가 / 데이터 중복성 증가 / 요구사항 대응 저하의 문제 때문에 필요하다.
- 각 view의 독립성 유지, 계층별 view에 영향을 주지 않고 변경가능
Mapping(사상)
- 상호 독립적인 개념을 연결시켜주는 다리를 뜻한다.
데이터 모델링 세 가지 요소
- 엔터티, 속성, 관계
(사람, 성격, 사람과 사람의 관계등)
2019-02-11 22:30 ~ 24:00
좋은 데이터 모델의 요소
1. 완정성(Completeness)
- 업무에서 필요로 하는 모든 데이터가 데이터 모델에 정의되어 있어야 한다.
2. 중복배제(Non-Redundancy)
- 하나의 데이터베이스 내에 동일한 사실은 반드시 한 번만 기록하여야 한다.
ex) 하나의 테이블에 '나이' 컬럼과 '생년월일' 컬럼이 동시에 존재하면 데이터 중복
3. 업무규칙(Business Rules)
- 데이터 모델에서 중요한 요소 중 하나는 데이터 모델링 과정에서 규명되는 수많은 업무규칙을 데이터모델의 표현, 활용하는 모든 사용자가 공유할 수 있도록 제공하는 것.
- 맡은 업무규칙에 따라 모든 사용자(개발자, 관리자)가 동일한 판단을 하고 데이터를 조작할 수 있어야한다.
4. 데이터 재사용(Data Reusability)
5. 의사소통(Communication)
6. 통합성(Integration)
- 동일한 데이터는 조직의 전체에서 한번만 정의되고 이를 여러 다른 영역에서 참조, 활용하는 것.