데이터 모델의 이해
1. 데이터 모델링의 이해
- 모델링
- 가설적 또는 일정 양식에 맞춘 표현
- 어떤 것에 대한 예비표현으로 그로부터 최종 대상이 구축되도록 하는 계획으로서 기여하는 것 → 데이터 초안에서 최종 완성본이 되도록 계획하는 것?
- 복잡한 현실세계를 단순화하여 표현하는 것
- 현실세계를 추상화/단순화/명확화 하기 위해 일정한 표기법에 의해 표현하는 기법
- 정보시스템 구축에서 모델링은 계획/분석/설계 단계에서 업무를 분석하고 설계할 때, 이후 구축, 운영 단계에서 변경과 관리할 때 이용된다
- 모델
- 사물 또는 사건에 관한 양상이나 관점을 연관된 사람이나 그룹을 위하여 명확하게 하는 것
- 현실세계를 추상화한 반영
- 모델링의 특징
- 추상화(Abstraction)
- 현실세계를 일정한 형식에 맞추어 표현
- 다양한 현상을 일정한 양식인 표기법에 따라 표현
- 현실세계를 간략히 표현
- 단순화(Simplification)
- 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어를 이용하여 쉽게 이해할 수 있도록 표현
- 누구나 쉽게 이해할 수 있도록 표현
- 명확화(Clarity)
- 누구나 이해하기 쉽도록 대상에 대한 애매함을 제거하고 정확하게 기술
- 명확하게 의미가 해석되어야 하고 한 가지의 의미를 가져야한다
- 모델링의 관점
- 데이터 관점
- 업무가 어떤 데이터와 관련이 있는지 / 데이터 간의 관계는 무엇인지에 대해 모델링 하는 관점
- 비지니스 프로세스에서 사용되는 데이터를 의미
- What, Data
- 프로세스 관점
- 실제하고 있는 업무는 무엇인지 / 무엇을 해야하는지를 모델링하는 관점
- 비지니스 프로세스에서 수행하는 작업을 의미
- How, Process
- 데이터와 프로세스의 상관 관점
- 업무가 처리하는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는지 모델링하는 방법
- 프로세스와 데이터 간의 관계를 의미
- Interaction
2. 데이터 모델의 기본 개념 이해
- 데이터 모델링 : 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 과정
- 약속된 표기법에 의해 표현
- 정보시스템 구축을 위해 어떤 데이터가 존재하는지, 이 업무에서 어떤 데이터가 필요한지 분석하는 방법
- 데이터 모델링의 기능
- 가시화
- 명세화
- 구조화
- 문서화
- 다양한 관점
- 표현방법 제공
3. 데이터 모델링의 중요성과 유의점
- 데이터 모델링의 중요성
- 파급효과 : 구축이 완성되어가는 시점에서 데이터 모델을 바꾸면 프로젝트에 큰 위험요소
- 간결한 표현 : 요구사항과 한계가 정확,간결하게 표현되야 하므로 필요함
- 데이터 픔질 : 데이터 구조의 문제로 인해 데이터 품질의 문제가 발생
- 데이터 모델링의 유의점
- 중복 : 데이터베이스가 여러 장소에 같은 정보를 저장하지 않게 하기
- 비유연성 : 사소한 업무 변화에 대해서도 모델링이 수시로 변경되면 유지보수가 어려움
- 비일관성 : 중복이 없더라도 비일관성 발생 / 모델링 할 때, 데이터 간 상호연관 관계에 대해 명확한 정의를 해야함
4. 데이터 모델링의 3단계 진행
- 데이터 모델링의 필수 요소
- 대상(Entity) : 관리하고자 하는 대상
- 속성(Attribute) : 대상들이 갖는 속성
- 관계(Relationship) : 대상들 간의 관계
- 데이터 모델링의 3단계 : 추상화 수준에 따라 3단계로 나눠진다
- 개념적 모델링
- 추상화 수준이 높고 포괄적인 수준의 모델링
- 엔티티를 추출하는 단계
- 엔터티들의 관계를 표현하기 위해 ERD 작성
- 논리적 모델링
- 개념적 모델링에서 정의한 핵심 엔터티와 엔터티들 간의 관계를 이용하여 세부속성, 식별자, 관계 등을 정확하게 표현
- 데이터 모델링 최종적으로 완료
- 데이터 정규화
- 물리적 모델링
- 데이터베이스의 물리적인 성능, 저장 등을 고려해서 설계
- 가장 구체적인 데이터 모델링
- 추상화 수준이 가장 낮음