
데이터모델링
모델링은 모델을 만드는 행위를 말합니다. 자세한 정의는 아래와 같습니다.
- 복잡한 현상을 단순화 해서 표현하는 것.
- 사물이나 사람에 관한 양상과 관점을 명확하게 하는 것.
- 현실세계를 추상화 한 것.
모델링은 현상을 추상화해 단순하고 명확하게 표현합니다.
| 모델링의 특징 | |
| 추상화 | 다양한 현상을 일정한 표현에 맞춰 표현하는 것 |
| 단순화 | 복잡한 현상을 약속한 규약을 통해 표현해 쉽게 이해할 수 있음 |
| 명확화 | 모호함을 제거하고 현상을 정확하게 기술함 |
Q. 모델링의 특징으로 가장 부적절한 것은?
1. 현실세계를 일정한 형식에 맞추어 표현하는 추상화
2. 시스템 구현만을 위해 진행하는 사전작업단계
3. 복잡한 현실을 제한된 언어나 표기법을 통해 이해하기 쉽게 단순화4. 애매모호함을 배제하고 누구나 이해가능하도록 기술하는 정확화.
모델링을 위해 업무나 현상을 3가지 관점으로 분석할 수 있습니다.
모델로 표현할 업무/현상이 정확히 무엇인가? - 프로세스 관점
모델로 표현할 업무/현상은 어떤 데이터로 표현할 수 있는가? - 데이터 관점
업무/현상을 처리하는 방법에 따라 데이터는 어떻게 영향을 받는가? - 데이터와 프로세스의 상관관점
일반적으로 데이터 모델링은 다음과 같은 행위를 말합니다.
- 데이터 모델을 구축하기 위해 필요한 데이터가 무엇이고 존재하는지 확인하는 것
- 업무/현상에 대한 이해를 바탕으로 업무나 현상의 규칙을 판단할 수 있는 사실을 표현하는 것
업무적인 데이터 모델링은 다음과 같이 정의할 수 있습니다.
- 업무에 필요한 데이터를 분석하고 설계하여 데이터 모델을 구성하는 것.
- 구성한 데이터 모델을 기반으로 실제 데이터 베이스를 개발하고 관리하는 것.
- 업무를 분석을 통해 업무에 대한 데이터 베이스를 개발하고 관리하는 과정
업무를 분석시, 데이터모델은 다음과 같은 기능을 합니다.
- 시스템의 현재 상태를 파악하거나 향후 원하는 모습으로 가시화 할 수 있습니다.
- 시스템의 구조와 행동을 명세화 할 수 있습니다.
- 시스템을 구조화한 틀을 제공합니다.
- 시스템 구축 과정에서 결정한 것을 문서화해 제공합니다.
- 특정 목표에 따라 구체화한 상세 수준의 표현방법을 제공합니다.
데이터 모델링이 필요한 이유
- 일정한 표기법으로 업무정보를 구성하는 기초가 되는 정보를 표현.
- 분석된 모델로 데이터베이스를 생성하여 개발 및 데이터관리에 사용
- 업무의 흐름을 설명하고 분석
데이터모델링의 중요성

데이터 모델의 변경은 파급효과가 있습니다.
시스템 구축과정 중 데이터 모델에 변경사항이 있으면 영향도 분석과 실제적인 변경작업이 필요합니다.
변경작업은 전체 시스템 구축 프로젝트에서 큰 위험요소로 작용합니다.
복잡한 요구 사항을 간결하게 표현할 수 있습니다
간결하게 그려진 데이터 모델을 공유하면 요구 사항을 쉽게 파악할 수 있습니다.
이를 통해 설계대로 어플리케이션을 개발하고 데이터 정합성을 유지 할 수 있습니다.
데이터 품질에 영향을 줍니다.
중복의 데이터나 불충분한 비즈니스 정의, 데이터의 불일치 등의 데이터 구조상의 문제를
정확한 데이터모델링을 통해 억제할 수 있습니다.
데이터모델링 유의점

1.중복을 피해야합니다.
데이터 모델을 통해 같은 데이터를 사용하는 사람, 시간, 장소를 파악할 수 있습니다. 이를 위해 여러 장소에 동일한 데이터를 저장하지 않아야합니다.
2.데이터구조는 유연해야 합니다.
데이터의 정의와 사용 프로세스와 분리해야합니다. 데이터나 프로세스의 변화가 애플리케이션과 데이터베이스에 큰 변화를 일으켜서는 안됩니다. 이를 위해 프로그램과 테이블간의 연계도를 줄여야합니다.
사소한 업무변화에도 데이터 모델이 수시 변경되면 유지보수의 어려윰이 가중됩니다. 데이터 정의를 사용프로세스와 분리하여 중대한 변화 가능성을 줄여야 합니다.
3.데이터간의 관계는 일관되야합니다.
데이터간의 관계에 대한 일관적이고 명확한 정의를 통해 데이터 간의 모순이 발생하는 것을 사전에 예방할 수 있습니다.
Q. 데이터모델링 시 유의해야할 사향으로 부적절한 것은?
1. 여러 장소의 데이터베이스에 같은 정보를 저장하지 않는다. (유일성)
2.데이터의 정의를 데이터의 사용 프로세스와 분리하여 유연성을 높인다. (유연성)3.사용자가 처리하는 프로세스나 장표 등에 따라 매핑이 될 수 있도록 프로그램과 테이블간 연계성을 높인다.
4. 데이터간의 상호 연관관계를 명확하게 정의하여 일관성 있게 데이터가 유지되도록 한다. (일관성)
데이터모델링의 3단계
데이터 모델링의 과정은 개념적 - 논리적 - 물리적 데이터 모델링순으로 진행됩니다.
개념적 데이터 모델링은 핵심 엔터티와 엔터티 간의 관계를 발견하는 단계입니다.
이를 통해 엔터티-관계 다이어그램을 생성합니다. 추상화 수준이 높고 업무중심적인 포괄적인 수준의 모델링을 진행하는 단계이다.
논리적 데이터 모델링은 데이터에 엑세스하는 방법을 정의하는 단계입니다.
데이터의 주체, 업무 데이터에 존재하는 사실들을 인식하여 기록합니다. 정규화를 수행하고 이력 관리에 대한 전략을 정의하고 업무 데이터에 대해 key와 관계를 정의합니다.
정규화
정규화는 논리 데이터 모델 상세화의 대표적인 활동입니다.
논리 데이터 모델의 일관성을 확기위해 중복을 제거하고 속성을 가장 적절한 엔터티에 배치합니다.
식별자 확정, 정규화, M:M 관계 해소, 참조 무결성 규칙 정의의 과정을 거칩니다.
물리적 데이터 모델링은 데이터가 물리적으로 컴퓨터에 어떻게 저장될 것인가에 대해 정의합니다.
데이터가 물리적으로 저장되는 공간을 물리적 스키마라고 합니다. 테이블, 칼럼 등으로 표현되는 물리적인 저장 구조와 저장장치 그리고 추출을 위한 접근 방법등을 결정합니다. 실제로 데이터베이스에 이식할 수 있도록 성능, 저장등의 물리적인 성격을 고려하여 설계합니다.
Q. 데이터모델링 개념에 대한 설명에 적합한 단어를 입력하시오.
전사적 데이터 모델링을 수행할 때 많이 하며, 추상화 수준이 높고 업무 중심적이고 포괄적인 수준의 모델링을 진행하는 것을 (ㄱ) 이라 한다. 이와 달리 실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등의 물리적 성격을 고려한 데이터 모델링은 (ㄴ) 이라 한다.
A. ㄱ- 개념적 모델링, ㄴ - 물리적 모델링
데이터 모델링 생명주기
데이터 모델의 생명주기는 프로젝트 모델의 종류에 따라 달라집니다.
폭포수 모델 기반 프로젝트에서는 단계에 따라 순차적으로 모델링을 진행합니다.
| 단계별 데이터 모델링 | |
| 분석단계 | 논리적 데이터 모델링 |
| 설계단계 | 물리적 데이터 모델링 |
나선형 모델 기반 프로젝트에서는 업무 크기에 따라 논리적인 데이터 모델링과 물리적 데이터 모델링이
분석, 설계 단계 모두에서 수행됩니다.
| 단계별 데이터 모델링 | |
| 분석단계 | 논리적 데이터 모델링 , 물리적 데이터 모델링 |
| 설계단계 | 논리적 데이터 모델링, 물리적 데이터 모델링 |
#모델
#모델링
#데이터모델링
#데이터모델링중요성
#데이터모델링유의점
#데이터모델링구성3단계
#데이터모델링생명주기
'DB > 데이터모델링' 카테고리의 다른 글
| 데이터모델링이론 - 엔터티의 관계와 관계명, 관계차수, 필수선택사양 (0) | 2024.01.10 |
|---|---|
| 데이터모델링이론 - 엔터티 개념 정리 (0) | 2024.01.09 |
| 데이터모델링 Part 3 - 엔터티, 관계, 속성, 이해관계자, ERD (0) | 2024.01.02 |
| 데이터모델링 Part2 - 데이터베이스의 스키마구조와 데이터 독립성 (0) | 2023.12.19 |
| 데이터 모델링이론 - 엔터티가 갖는 공통적인 성질을 표현하는 속성 (0) | 2023.06.13 |