파이썬 문법만 100일째 공부중인 IT초보의 페이지 자세히보기

Lv02. 디비~DB~딥!/1. SQLD : 데이터모델링의 이해

2. 데이터 모델링의 이해 (1)

오늘도레벨1 2023. 4. 15. 14:25
728x90
SMALL

 

안녕하세요 :0

오늘도레벨1입니다.

 

 

비가 주륵주륵 오는

토요일입니다.

 

모쪼록 이번 비를 통해

공기가 좀 맑아졌으면 합니다.

 

지난 포스팅에서는

SQLD가 어떤 자격 시험인지

간단하게 소개를 드렸습니다.

 

아직 SQLD가 무슨 시험인지

잘 모르시는 분이라면 아래의 링크를

참고하여 봐주시면 감사하겠습니다!

 

 

 

1. SQLD란?

안녕하세요 :0 오늘도레벨1입니다. 이제 벚꽃이 여기저기 피어나는게 인트로만 들어도 신나는 그 연금이라는 노래를 틀어야 할 때가 왔나 싶네요. 바쁘셔도 계절의 변화를 느껴보시는 시간을 가

seung9-it.tistory.com

 

 

자, 이번 시간부터는

본격적으로 SQLD의 자격 시험을 위한

여정을 시작해보려고 한답니다.

 

그 첫번째 주제는 바로바로!

"데이터 모델링의 이해"라는 파트입니다.

 

 

우선 근본적으로,

모델링이란 무엇일까요?

 

인류의 가장 보편적인 특징이자

욕구 중의 하나가 무엇인줄 아시나요?

 

그것은 바로 의사소통을 하면서

항상 그에 대한 기록을 남기고자 하는 것이죠.

 

어떤 현상을 기록하고, 남기고

이를 다른 사람에게 알리려고하는 노력은

고대벽화 등에서 찾아볼 수 있습니다.

 

위에서 말씀드린바와 같은 현상을

그대로 풀어보면 그 자체가 모델링의

근본적인 의미라고 할 수 있는데요.

 

그러므로, 모델링은 아래와 같이

정의가 가능하게 되죠!

 

모델링이란,

 

"복잡한 현실세계를 일정한

표기법에 의해 표현하는 일"

 

입니다.

 

그리고, 여기서 모델이라는 것은

사람이 살아가면서 나타날 수 있는

다양한 현상에 대해서 일정한 표기법으로

표현해놓은 모형이라고 할 수 있습니다.

 

 

 

 

이러한 모델링은

추상화, 단순화, 명확화의

3대 특징으로 요약이 가능합니다.

 

상세한 내용은 아래를 보시죠!

 

1) 추상화 : 현실세계를 일정한 형식에

맞추어 표현을 한다는 의미

 

2) 단순화 : 복잡한 현실세계를 약속된 규약에

의해 제한된 표기법이나 언어로 표현하여

쉽게 이해할 수 있도록 하는 개념을 의미

 

3) 명확화 : 누구나 이해하기 쉽게 하기

위해 대상에 대한 애매모호함을 제거하고

정확하게 현상을 기술하는 것 

 

한 번, 쭉 읽어보시면 아~그렇구나

뭐 당연한 이야기구나 하실 수 있답니다.

 

또한, 모델링은 3가지의

관점으로도 볼 수 있는데요.

 

데이터관점, 프로세스관점, 상관관점

이렇게 3가지 입니다.

 

데이터 관점은 업무가 어떤(what) 데이터와

관련이 있는지 또는 데이터간의 관계가

무엇인지에 모델링하는 것이며

 

프로세스관점은 업무가 실제하고

있는 일이 무엇을 해야하는지(how)

 

상관관점은 업무 처리 방법에 따라

데이터가 어떻게 영향을 받는지(interaction)

모델링하는 방법으로 설명가능합니다.

 

 

 

 

그럼 데이터 모델링이란 무엇일까요?

 

앞서 설명드린 모델링에 데이터를

얹어서 설명드리면 다음과 같습니다.

 

"현실세계의 데이터에 대해

약속된 표기법으로 표현하는 과정"

 

추가로, 이를 이론적으로 설명하면

 

"데이터베이스(DB)를 구축하기

위한 분석/설계의 과정"

 

이라고 정의가 가능합니다.

 

 

이러한 데이터 모델링은

왜 중요하고 어떤 기능을

제공하는지 알아보도록 하겠습니다.

 

데이터 모델링이 중요한 이유는

파급효과, 복잡한 요구사항의 간결한 표현,

데이터 품질의 3가지로 정리가 가능합니다.

 

또한, 데이터 모델은 다음과 같은

기능을 업무 분석 관점에서 제공합니다.

 

1) 시스템을 현재 또는 원하는 모습으로

가시화하도록 도와준다.

 

2) 시스템의 구조와 행동을

명세화 할 수 있게 한다.

 

3) 시스템을 구축하는

구조화된 틀을 제공한다.

 

4) 시스템을 구축하는 과정에서

결정한 것을 문서화한다.

 

5) 다양한 영역에 집중하기 위해 다른 영역의

부 사항은 숨기는 다양한 관점을 제공한다.

 

6) 특정 목표에 따라 구체화된

상세 수준의 표현방법을 제공한다.

 

 

아무래도, 모든 시험이 그렇겠지만

초반 토대 이론과 용어는 참 팍팍합니다.

졸립고.. 무슨 내용인지도 모르겠고

그렇기에 전 이렇게 사용을 권합니다.

 

우선, 이론 파트는 그냥 쭈욱 읽으세요~

이해가 안가도 쭈욱 읽으세요~

그리고 문제를 풉니다.

 

역으로 모르는 부분이 있으면

다시 찾아와서 쭉 읽습니다.

 

이런식으로 몇 번을 반복하다보면

이해가 되더라는..개인적인 팁입니다!

 

 

그럼 다시 돌아와서!

다음 내용은 바로바로~~~~~

데이터 모델링의 3단계 진행인데요.

 

이 부분은 정말 빈출되는 파트인만큼

꼼꼼하게 모델과 설명을 숙지하시기를

매우! 강력하게 권고 드립니다!

 

그럼 우선 3단계 진행의 모델을 볼까요?

 

현실세계와 데이터베이스 사이의 모델 (출처 : SQL전문가가이드)

 

현실 세계(외부)에서

1단계(개념적 데이터 모델링)를 통해

개념세계에서 개념적 구조를 형성하고

2단계(논리적 데이터 모델링)을 거쳐

논리적 구조를 형성하게 됩니다.

 

다음으로는 3단계(물리적 데이터 모델링)를

거처서 데이터베이스에 저장되며 외부와

서로 정보를 주고 받는 형태인 것이죠.

 

이 때, 각각의 단계는 자세하게

어떤 내용인지는 아래 표를 참고해주세요!

 

 

데이터 모델링 내용
개념적 데이터 모델링 추상화 수준이 높고 업무중심적이고 포괄적인 수준의 모델링 진행.
전사적 데이터 모델링, EA 수립시 많이 사용
논리적 데이터 모델링 시스템으로 구축하고자 하는 업무에 대해 Key, 속성, 관계 등을 정확하게 표현, 재사용성이 높음
물리적 데이터 모델링 실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려하여 설계

 

 

내용이 이해가 갈듯하면서도

말듯할 수 있는데 이후

문제도 풀고하다보면

자연스럽게 이해할 수 있으니

지레 겁먹지 마세요!

 

자, 그럼 이번 시간 마지막 내용인데요!

 

프로젝트 생명주기(Life Cycle)에서

데이터 모델링라는 개념입니다.

 

이 부분은 마케팅, UX, CX 비즈니스 컨설팅 등 분야의

문제해결프로세스에서도 자주 나오는 단어도 있어

낯익은 분들이 많으실 것 같네요!

 

아무튼, 본 내용으로 다시 돌아와

프로젝트 생명주기에서 데이터 모델링은

크게 3가지 분야로 나누어 설명가능합니다.

 

1) Waterfall (폭포수) Modeling :

데이터 모델링의 위치가 분석과

설계단계로 구분되어 명확하게 정의.

 

2) 정보공학, 구조적 방법론 :

분석단계에서 논리적 데이터 모델링,

설계단계에서 물리적인 데이터 모델링을 수행

 

3) 나선형 모델 (RUP, 마르미) :

업무 크기에 따라 분석, 설계단계에서 양쪽에서 수행

 

이처럼 설명이 가능하니 참고 부탁드립니다.

 

 

 

 

휴우~ 열심히 달려온 것 같네요.

어떻게 오늘 내용 좀 많이

지루하시고 벅찼나요?

 

그럼에도 따라올만한것도

같지 않으셨을까요?

 

아마, 제 예상에는 추가로 한 5~6번의

포스팅 정도는 딱딱한 이론이 포스팅의

주요 내용으로 구성 될 것 같습니다.

 

그래도 너무 겁먹지 마시고

위에 제가 공유드린 팁을 참고해서

우리 함께 화이팅해봅시다앗!

 

그럼, 오늘의 포스팅은 이렇게

마무리를 지으며 다음 시간에는

데이터 모델링 두 번째 내용으로

찾아뵙도록 하겠습니다!

 

그럼 모두 모두 행복한

주말이 되시길 기원합니다.

 

 

 

 

구독과 좋아요는 제게 큰 힘이 됩니다 :)

 

728x90
LIST

'Lv02. 디비~DB~딥! > 1. SQLD : 데이터모델링의 이해' 카테고리의 다른 글

6. 속성(Attribute)  (4) 2023.05.03
5. 엔터티(Entity)  (4) 2023.05.02
4. 데이터 모델링의 이해 (3)  (2) 2023.04.21
3. 데이터 모델링의 이해 (2)  (2) 2023.04.18
1. SQLD란?  (2) 2023.03.27