본문 바로가기

자격증/SQLD

[SQLD][아이리포]01. 데이터모델링 | 데이터 모델의 이해

반응형

 

목차

1. 데이터 모델의 이해
1-1. 모델링
1-1-1. 모델링의 특징
1-1-2. 모델링 시 유의사항
1-1-3. 모델링의 세 가지 단계
1-1-4. 3단계 스키마 구조
1-1-5. 데이터 독립성

1. 데이터 모델의 이해

🔍 모델이란?

- 모델은 실물에 대한 상대적인 개념이다.

- 모델은 실물을 구현하기 위한 설계 과정에서 사용되며, 실물을 축소하거나 단순화하여 표현한다.

- 모델을 만들기 위해서는 실물을 구성하는 요소를 분석하고 분해해야 한다.

- 분해한 요소 중 핵심이 되는 요소만 선택하여 표현한다.

 

📌 한 줄 정리

모델(Model)이란 실물을 이해하기 쉽도록 필요한 핵심 정보만 추출하여 단순화한 표현이다.

1-1. 모델링

- 구축하고자 하는 정보시스템에 맞게 현실세계의 데이터를 약속된 표기법으로 표현하는 과정이다.

✔️ 정보 시스템은 여러 사람이 함께 개발하기 때문에, 원활한 의사소통을 위해 약속된 표기법을 사용해야 한다.

 

- 업무의 흐름을 가시화하고 명세화하여 정보시스템을 구축하기 위한 분석, 설계 과정의 일부이다.

✔️ 가시화(Visualization) : 눈에 보이도록 표현하는 것

 

- 업무 프로세스의 데이터를 분석하여 추상화하는 과정이다.

1️⃣ 모델링의 특징

🔹 단순화(Simplification)

- 복잡한 현실 세계를 약속된 표기법을 사용하여 이해하기 쉽게 단순화하여 표현한다.

 

🔹 추상화(Abstraction)

- 대상을 있는 그대로 나타내는 것이 아니라 핵심적인 특징만 추려 단순하게 표현한다.

 

🔹 명확화(Clarity)

- 누구나 동일한 의미로 해석할 수 있도록 명확하게 표현해야 한다.

 

📌 시험 포인트

모델링의 특징은 추상화, 단순화, 명확화이다.

2️⃣ 모델링 시 유의사항

🔹 중복(Duplication) 최소화

- 동일한 데이터가 여러 곳에 중복으로 저장되지 않도록 해야 한다.

- 데이터 중복이 발생하면 데이터의 불일치가 일어나고, 이는 곧 데이터베이스 오류의 원인이 될 수 있다.

 

🔹 비유연성(Inflexibility) 최소화

- 시스템 변경 및 확장에 유연하게 대응할 수 있어야 한다.

- 이를 위해 데이터를 정의하는 영역과 처리하는 영역을 분리해야 한다.

 

🔹 비일관성(Inconsistency) 최소화

- 데이터 간 관계를 명확하게 정의해야 한다.

- 종속된 데이터가 변경될 때 일관성을 유지할 수 있어야 한다.

 

📌 시험 포인트

모델링 시 유의사항은 중복, 비유연성, 비일관성 최소화이다.

3️⃣  모델링의 세 가지 단계

🔹 개념적 데이터 모델링

- 업무와 개념 중심적으로 포괄적인 수준에서 모델링을 수행한다.

- 전사적 차원의 모델링이며 EA(Enterprise Architecture) 수립에 많이 이용한다.

- 엔터티(Entity)와 속성(Attribute)을 도출한다.

- 가장 높은 레벨의 추상화 단계이다.

 

🔹 논리적 데이터 모델링

- 데이터 모델에 대한 키(Key), 속성(Attribute), 관계(Relationship)를 정의한다.

- 정규화를 통해 데이터 중복을 최소화한다.

- 재사용성이 높다.

- 식별자를 도출하고 엔터티 간의 관계를 정의한다.

- 중간 레벨의 추상화 단계이다.

 

🔹 물리적 데이터 모델링

- 특정 DBMS에 맞추어 구현이 가능한 수준에서 모델링을 수행한다.

- DBMS의 성능이나 보안, 가용성 등을 고려하여 설계한다.

- 가장 낮은 레벨의 추상화 단계이다.

 

📌 한 줄 정리

개념 -> 논리 -> 물리 순으로 진행되며, 뒤로 갈수록 추상화 수준은 낮아지고 구체화 수준은 높아진다.

✔️ 개논물

4️⃣ 3단계 스키마 구조

🔹 외부 스키마

- 사용자 관점 

- 사용자 또는 애플리케이션이 바라보는 데이터베이스 스키마를 정의

- 다중 사용자 뷰 제공

 

🔹 개념 스키마

- 설계자 관점

- 모든 사용자가 바라보는 데이터베이스 스키마를 통합하여 나타내며 전체 데이터베이스에 저장되는 데이터와 그 관계를 정의

- 통합된 뷰 제공

 

🔹 내부 스키마

- 개발자 관점

- 디스크나 메모리 상의 물리적, 실질적 저장구조를 나타내며 테이블, 칼럼, 인덱스 등을 정의

- 물리적 뷰 제공

 

✔️ 외개내

5️⃣ 데이터 독립성

데이터 독립성이 강하면 의존성이 줄어들고, 의존성이 줄어들면 유지보수가 쉬워진다.

이는 곧 시간과 비용의 절약이라는 이점을 가져온다.

 

🔹 논리적 데이터 독립성

- 외부 스키마와 개념 스키마 간의 독립성

- 개념 스키마가 변경되어도 외부 스키마는 영향을 받지 않는다

 

🔹 물리적 데이터 독립성

- 개념 스키마와 내부 스키마 간의 독립성

- 내부 스키마가 변경되어도 개념 스키마나 외부 스키마는 영향을 받지 않는다


🔗 출처

[SQLD 모든것]

 

반응형