728x90
320x100
모델링
- 모델링의 정의
- 현실세계를 단순화시켜 표현하는 것
- 사물 또는 사건에 관한 양상(Aspect)이나 관점(Perspective)을 연관된 사람이나 그룹을 위하여 명확하게 하는 것
- 현실 세계의 추상화된 반영
- 특징
- 추상화 (모형화, 가설적) : 현실세계를 일정한 형식에 맞추어 표현한다.
- 단순화 : 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현
- 명확화 : 누구나 이해하기 쉽게 하기 위해 대상에 대한 애매모호함을 제거하고 정확하게 현상을 기술
- 모델링의 세 가지 관점
- 데이터 관점 :업무가 어떤 데이터와 관련이 있는지 또는 데이터간의 관계는 무엇인지 모델링하는 방법
- 프로세스 관점 : 업무가 실제하고 있는 일은 무엇인지 또는 무엇을 해야하는지 모델링하는 방법
- 상관 관점 : 업무가 처리하는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는지 모델링하는 방법
데이터 모델링
- 데이터 모델링의 정의
- 정보 시스템을 구축하기 위한 데이터 관점의 업무 분석 기법
- 목적
- 업무 정보를 구성하는 기초 정보들을 약속된(일정한) 표기법에 의해 표현 -> 업무 내용 분석 정확도↑
- 분석된 모델로 실제 DB 생성 -> 개발 및 데이터 관리에 사용
- 데이터 모델이 제공하는 기능
- 시스템을 현재 또는 원하는 모습으로 가시화
- 시스템의 구조와 행동을 명세화
- 시스템을 구축하는 구조화된 틀을 제공
- 시스템을 구축하는 과정에서 결정한 것을 문서화
- 다양한 영역에 집중하기 위해 다른 영역의 세부 사항은 숨기는 다양한 관점을 제공
- 특정 목표에 따라 구체화된 상세 수준의 표현방법을 제공
- 데이터 모델링의 중요성 및 유의점
- 파급효과(Leverage) : 시스템 구축 작업에서 다른 어떤 설계 과정보다 설계가 중요함
- 간결한 표현(Conciseness) : 데이터 모델은 구축할 시스템의 정보 요구사항과 한계를 가장 명확하고 간결하게 표현할 수 있는 도구
- 데이터 품질 : 데이터의 중복, 비유연성, 비일관성이 발생할 수 있음
- 유일성: 데이터 중복 저장 방지
- 유연성: 데이터 정의와 데이터 사용 프로세스 분리
- 일관성: 데이터와 데이터 간의 상호 연관 관계에 대해 명확하게 정의
데이터 모델링의 3 단계
- 개념적 데이터 모델링
- 추상화 수준이 높고 업무 중심적이고 포괄적인 수준의 모델링 진행. 전사적 데이터 모델링, EA 수립 시 많이 사용
- 엔터티와 속성을 도출하고 ERD를 작성
- 논리적 데이터 모델링
- 시스템으로 구축하고자 하는 업무에 대해 Key, 속성, 관계 등을 정확하게 표현, 재 사용성이 높음
- 식별자를 도출하고 속성과 관계 등을 정의함, 정규화를 수행하여 데이터 모델의 독립성과 재사용성 확보, 논리 데이터 모델은 데이터 모델링 완료 상태
- 물리적 데이터 모델링
- 실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려하여 설계
- DB 구축
프로젝트 생명주기(Life Cycle)에서 데이터 모델링
- 프로젝트 생명 주기 : 정보전략계획 -> 분석 -> 설계 -> 개발 -> 테스트 -> 전환/이행
- 정보전략계획/분석 단계 : 개념적 데이터 모델링
- 분석 단계 : 논리적 데이터 모델링
- 설계 단계 : 물리적 데이터 모델링
데이터 독립성
DB 독립성의 필요성
- 지속적으로 증가하는 유지보수 비용을 절감하고 데이터 복잡도를 낮추며 중복된 데이터를 줄이기 위한 목적
- 끊임없이 요구되는 사용자 요구사항에 대해 화면과 데이터베이스 간에 서로 독립성을 유지하기 위한 목적으로 데이터 독립성 개념이 출현
- 유지보수 비용 증가, 데이터 중복성 증가, 데이터 복잡도 증가, 요구사항 대응저하로 인해 데이터 독립성 필요
데이터 독립성 확보
- 각 View 의 독립성을 유지하고 계층별 View 에 영향을 주지 않고 변경이 가능
- 단계별 Schema 에 따라 데이터 정의어(DDL)와 데이터 조작어(DML)가 다름을 제공
데이터베이스 3 단계 구조
- 외부스키마 (사용자 관점)
- View 단계 여러 개의 사용자 관점으로 구성, 사용자가 보는 개인적 DB 스키마
- 사용자나 응용프로그래머가 접근하는 DB 정의
- 개념스키마 (통합 관점)
- 모든 사용자 관점을 통합한 조직 전체의 DB 를 기술하는 것
- 모든 응용시스템들이나 사용자들이 필요로 하는 데이터가 통합된 조직 전체의 DB 를 기술한 것으로 DB 에 저장되는 데이터와 그들간의 관계를 표현하는 스키마
- 내부스키마 (물리적 관점)
- 내부 단계, 내부 스키마로 구성, DB 가 물리적으로 저장된 형식
- 물리적 장치에서 데이터가 실제적으로 저장되는 방법을 표현하는 스키마
데이터베이스 3 단계 구조에서의 데이터 독립성 2 가지
- 논리적 독립성
- 개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않도록 지원하는 것
- 논리적 구조가 변경되어도 응용 프로그램에 영향 없음
- 물리적 독립성
- 내부 스키마가 변경되어도 외부/개념 스키마는 영향을 받지 않도록 지원하는 것
- 저장 장치의 구조 변경은 응용프로그램과 개념 스키마에 영향 없음
사상 (매핑) 2 가지
- 외부적/개념적 사상 (논리적 사상)
- 외부적 뷰와 개념적 뷰의 상호 호환성을 정의
- 외부화면이나 사용자에게 인터페이스하기 위한 스키마 구조는 전체가 통합된 개념적 스키마와 연결된다
- 개념적/내부적 사상 (물리적 사상)
- 개념적 뷰와 저장된 데이터베이스의 상호관련성 정의
- 통합된 개념적 스키마 구조와 물리적으로 저장된 구조의 물리적인 테이블 연결
데이터 모델링의 세 가지 요소
- 엔터티 : 업무가 관여하는 어떤 것(Things)
- 관계 : 업무가 관여하는 어떤 것 간의 관계(Relationships)
- 속성 : 어떤 것이 가지는 성격(Attributes)
데이터 모델링 작업순서 (ERD 작성)
- 엔터티 도출
- 엔터티를 적절하게 배치한다.
- 엔터티간 관계를 설정한다.
- 관계명을 기술한다.
- 관계의 참여도를 기술한다. (차수 표현, 1:1, 1:N, M:N)
- 관계의 필수 여부를 기술한다 (I / O)
- 데이터 모델링의 이해관계자
좋은 데이터 모델의 요소
완전성 | 업무에 필요한 데이터가 모두 정의되어야 함 |
중복 배제 | 동일한 사실은 한번만 저장 |
업무 규칙 | 데이터 모델 분석만으로도 비즈니스 로직이 이해되어야 함 |
데이터 재사용 | 데이터 통합성과 독립성 고려 |
의사소통 | 데이터 모델을 보고 이해 당사자들끼리 의사소통이 이루어져야 함 |
통합성 | 동일한 데이터는 유일하게 정의해서 다른 영역에서 참조해야 함 |
300x250
반응형
GitHub 댓글