728x90
반응형
데이터 모델링?
데이터 모델링 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전.
ko.wikipedia.org
- 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법
- 현실 세계의 데이터를 약속된 표기법으로 표현하는 과정 (추상화 반영)
- 복잡한 현실 세계를 단순화해서 표현
- 데이터베이스를 구축하기 위한 분석 및 설계의 과정
- 사물 또는 사건에 대한 양상(aspect)이나 관점(perspective)를 연관된 사람이나 그룹을 위해 명확하게 하는 과정
데이터 모델링 특징
- 추상화(모형화)
- 현실 세계를 일정한 형식에 맞추어 표현함.
- 단순화
- 복잡한 현실을 제한된 언어나 표기법을 통해 이해하기 쉽게 함.
- 명확화(정확화)
- 애매모호함을 제거하고 누구나 이해가 가능하도록 정확하게 현상을 기술함.
- 시스템 구현, 업무 분석, 업무 형상화의 목적이 있음.
- 데이터 모델링 자체로 업무를 설명하고 분석하는 부분에서도 매우 중요한 의미를 가짐.
데이터 모델링 3가지 관점
- 데이터 관점(what, data)
- 업무가 어떤 데이터와 연관 있는지, 데이터 간 관계가 무엇인지 모델링
- 프로세스 관점(how, process)
- 실제하고 있는 업무는 무엇인지, 무엇을 해야 하는지 모델링
- 데이터와 프로세스 간 상관 관점(interaction)
- 업무를 처리하는 방법에 따라 데이터는 어떻게 영향을 받고 있는지 모델링
데이터 모델 제공 기능
- 시스템을 현재 또는 원하는 모습으로 가시화
- 시스템의 구조, 행동 명세화
- 시스템을 구축하는 구조화된 틀 제공
- 시스템 구축 과정에서 결정한 것을 문서화
- 다양한 영역에 집중하기 위해 다른 영역의 세부 사항은 숨기는 관점
- 특정 목표에 따라 구체한 상세 수준의 표현 방법
데이터 모델링 3요소
- Thinig
- 업무가 관여하는 어떤 것 -> 엔터티
- Attribute
- 어떤 것이 가지는 성격 -> 속성
- Relationship
- 업무가 관여하는 어떤 것 간의 관계 -> 관계
데이터 모델링 유의점
- 중복(Duplication)
- 데이터 모델링은 같은 데이터를 사용하는 사람, 시간, 그리고 장소를 파악하는데 도움을 준다.
- 이러한 지식 응용은 데이터베이스가 여러 장소에 같은 정보를 저장하는 잘못을 하지 않도록 한다.
- 비유연성(Inflexibility)
- 데이터 모델을 어떻게 설계했냐에 따라 사소한 업무변화에도 데이터 모델이 수시로 변경됨으로써 유지보수의 어려움을 가중시킬 수 있다.
- 데이터의 정의를 데이터의 사용 프로세스와 분리함으로써 데이터 모델링은 데이터 혹은 프로세스의 작은 변화가 애플리케이션과 데이터베이스에 중대한 변화를 일으킬 수 있는 가능성을 줄인다.
- 비일관성(Inconsistency)
- 데이터의 중복이 없더라도 비일관성은 발생한다.
- 데이터 모델링을 할 때 데이터와 데이터 간 상호 연관 관계에 대한 명확한 정의는 이러한 위험을 사전에 예방할 수 있도록 해준다.
- 사용자가 처리하는 프로세스 혹은 이와 관련된 프로그램과 테이블의 연계성을 높이는 것은 데이터 모델이 업무 변경에 대해 취약하게 만드는 단점에 해당한다.
좋은 데이터 모델링 방법
- 완전성(completeness)
- 모든 데이터가 데이터 모델에 정의
- 중복 배제
- 동일 사실은 한 번만 기록
- 업무 규칙
- Business Rule을 데이터 모델에 표현하고, 사용자에게 제공
- 데이터 재사용
- 데이터 재사용성을 증가시키려면 '통합성'과 '독립성'에 대해 고려
- 외부의 변화에 대해 데이터 구조적으로 영향을 덜 받기 위해 확장성, 유연성을 고려
- '행위의 주체', '행위의 대상', '행위 자체'에 대한 집합의 통합 필요
- 의사소통
- 설계자가 정의한 많은 업무 규칙들을 동일한 의미로 받아들이고 활용하게 하는 역할
- 통합성
- 바람직한 데이터 구조는 조직 전체에서 한 번만 정의되고, 다른 영역에서 참조&활용(integration) 되는 것
데이터 모델링 과정
데이터 모델링이 진행 될 수록 추상적 -> 구체적으로 된다.
- 개념적 데이터 모델링
- 추상화 수준이 높고 업무 중심적이고 포괄적인 수준의 모델링 진행
- 사용자 요구사항 분석에 따라 '엔터티-관계 다이어그램' 생성
- 전사적 데이터 모델링, EA(Enterprise Architect) 수립 시 많이 사용
- 논리적 데이터 모델링
- 시스템으로 구축하고자 하는 업무에 대해 Key, 속성, 관계 등을 정확하게 표현
- 어떻게 데이터에 액세스하고, 누가 데이터에 액세스 하는지 등을 모델링
- 시스템 전 과정을 지원하는 과정의 도구
- 정규화를 통해 일관성을 확보하고, 중복을 제거하여 속성들이 적절한 엔터티에 배치하도록 함
- 재사용성이 높음
- 물리적 데이터 모델링
- 실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려하여 설계
- 논리 데이터 모델이 하드웨어에 어떻게 표현될 것인가를 다룸
- 물리적 스키마, 저장 장소, 저장 장치, 접근 방법 등에 대해 정의
프로젝트 생명주기에 따른 데이터 모델링
데이터 모델링 이해관계자
반응형
'[DB]DataBase > [SQL]' 카테고리의 다른 글
[SQLD] 데이터베이스 스키마 구조 (0) | 2024.02.21 |
---|---|
[SQLD] 데이터 독립성 (0) | 2024.02.20 |
[SQL] CONVERT_TZ() (0) | 2023.07.14 |
[SQL] JOIN문 (0) | 2023.04.15 |
[SQL] 집계함수(Aggregate function) (0) | 2023.04.15 |