데이터 모델링
1) 데이터 모델링이란?
- 데이터베이스의 골격을 이해하고 그 이해를 바탕으로 SQL문장을 기능과 성능적인 측면에서 효율적으로 작성하기 위해 꼭 알아야하는 핵심 요소
- 정보시스템을 구축하기 위한 데이터관점의 업무 분석 기법
- 현실세계의 데이터에 대해 약속된 표기법으로 표현하는 과정
- 데이터베이스를 구축하기 위한 분석/설계 과정
2) 데이터 모델이 제공하는 기능
- 시스템을 현재 또는 원하는 모습으로 가시화
- 시스템의 구조와 행동을 명세화
- 시스템을 구축하는 구조화된 틀을 제공
- 시스템 구축 과정에서 결정한 사항을 문서화
- 다른 영역의 세분 사항은 숨김
- 목표에 따른 구체화된 상세 수준의 표현
3) 데이터 모델링의 중요성과 유의점
- 중요성
- 파급효과 : 모델링이 제대로 이루어지지 않는다면, 테스트를 진행하는데 데이터의 문제가 발생
- 복잡한 정보 요구사항의 간결한 표현 : 설계자의 생각대로 정보 요구사항을 이해할 수 있게 함, 데이터 정합성을 유지할 수 있음
- 데이터 품질
- 유의점
- 중복 : 여러장소에 같은 정보를 저장하는 것
- 비유연성 : 업무변화에 따라 모델이 수시로 변경되면, 유지보수의 어려움을 초래
- 비일관성 : 로직적인 부분에서의 데이터의 문제점
4) 데이터 모델링의 3단계
- 개념적 데이터 모델링 : ERD
- 논리적 데이터 모델링 : 키, 속성, 관계들을 정확하게 표현
- 물리적 데이터 모델링 : 어떻게 저장될 것인가에 대한 정의를
5) 데이터 독립성
- 데이터 독립성의 필요성
- 끊임없이 요구되는 사용자 요구사항에 대해 화면과 데이터베이스 간에 서로 독립성을 유지하기 위한 목적
- 각 View의 독립성을 유지하고 계층별 View에 영향을 주지 않고 변경이 가능
- 단계별 스키마에 따라 정의어와 조작어가 다름을 제공
- 데이터베이스의 3단계 구조
- 외부 단계 : 각각의 테이블 하나 Ex) 로그인시 접근하는 회원정보 테이블
- 개념적 단계 : 해당 프로그램에 사용되는 모든 DB테이블
- 내부적 단계 : 물리적 장치에서 데이터가 실제적으로 저장되는 방법을 표현 Ex) 형식, 키값 등
6) 데이터 모델링의 3가지 요소
- 업무가 관여하는 어떤 것
- 어떤 것이 가지는 성격
- 업무가 관여하는 어떤 것들의 관계
7) 좋은 데이터 모델의 요소
- 완전성 : 모든 데이터가 데이터 모델에 정의되어 있는가
- 중복배제 : 동일한 사실은 반드시 한번만 기록
- 업무규칙 : 모든 용자가 공유할 수 있도록 제공
- 데이터 재사용 : 신규 시스템을 구축하는 데에 있어서 매우 유리하게 작용
- 의사소통 : DBA들이 업무규칙을 동일한 의미로 받아들여야 함
- 통합성 : 동일한 성격의 데이터를 한 번만 정의함
'SQLD' 카테고리의 다른 글
| 3. 엔터티(Entity) (0) | 2022.02.16 |
|---|---|
| 1. 데이터 모델링 (0) | 2022.02.13 |
