[SQLD]모델링의 정의, 데이터 모델링 정의

반응형
반응형

1. 모델링이란?   

 아주 간단히 정리하면 ‘현실 세계’를 단순화시켜 표현하는 것을 말함
 

모델링의 정의, 데이터 모델링 정의

2. 모델링의 특징 

(1) 추상화(Abstraction)
 : 현실 세계를 일정한 형식에 맞추어 표현하는 것
(2) 단순화(Simplification)
 : 복잡한 현실 세계를 제한된 표기법이나 언어로 쉽게 이해할 수 있도록 하는 것
(3) 명확화(Clarity)
 : 애매모함을 제거하고 정확하게 기술
 
 ==> 나는 예전부터 추상화와 단순화가 구별이 잘 안 되었는데 내가 느끼기에는 아무리 생각해도 설명을 다르게 했을 뿐 같은 말 같았다. 그래서 이번에 좀 더 고민해서 생각해 보고 결국 이렇게 정리해 보았다.
  : 모델링이란 결국 현실을 단순화시키는 것인데 그 과정은 추상화라는 방법을 통해서 해야 한다. 즉, 단순화는 결과물에 대한 이야기이며 추상화란 모델링의 방법론 적인 것이다. 그런데 단순화한다고 해서 명확하지 않으면 모델링이라고 할 수 없다. 명확화는 모델링의 필수 조건이다. 즉, 모델링의 특징은 모델링의 정의를 좀 더 자세히 설명하고 있는 것이다.
 
!! 추상화(모델링의 과정), 단순화(모델링의 결과), 명확화(모델링의 필수조건)
 

3. 모델링의 세 가지 관점

(1) 데이터 관점(What, Data)
 : 업무가 어떤 데이터와 관련이 있는지 데이터 간의 관계는 무엇인지 모델링하는 것
(2) 프로세스 관점(How, Process)
 : 업무가 실제하고 있는 일은 무엇인지 무엇을 해야 하는지 모델링하는 방법
(3) 상관관점(Interaction)
 : 업무가 처리하는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는지 모델링하는 방법
 
 ==> 쉽게 얘기하면 최종 결과물로 물리적 모델 즉, DB 테이블을 만들어 나가는 과정이 데이터 관점이다. 요즘 개발 산출물을 많이 보지 않아서 잘 모르겠으나 시퀀스 다이어그램 같은 것이 프로세스 관점이 아닐까 싶다. 아니 시퀀스 다이어그램보다는 업무 프로세스 순서도 같은 것이 프로세스 모델링으로 적합할 것 같고 시퀀스 다이어그램과 클래스 다이어그램은 상관 관점이 아닐까.
( 추후 소개할 기회가 있을 듯하다.)

여하튼 SQLD에서 다루는 것은 오직 ‘데이터 관점’이다.
 

데이터 관점

4. 데이터 모델링이란??

즉, 모델링 중에서도 데이터 모델링이 무엇인지…
(1) 정보시스템을 구축하기 위한 데이터관점의 업무 분석 기법
(2) 현실세계 데이터에 대해 약속된 표기법에 의해 표현하는 과정
(3) 데이터베이스를 구축하기 위한 분석/설계과정
 
==> 여러 가지 문서를 보면 사람들은 하나의 정의를 1,2,3 세 가지로 정리하기를 참 좋아한다는 것을 알 수 있다. 모델링 중에서도 데이터 모델링을 설명하는데 또 3가지가 나온다.
(1) 번, 다른 무엇이 아니라 정보 시스템. 너무 당연하다. 정보 시스템 또한 현실세계를 표현하기 위한 도구가 될 것이지만.. 우리가 건축물이나 제품을 만들기 위한 것은 아니지 않은가. 그렇게 생각하면 여하튼 데이터모델링이나 데이터 관점도 너무나 당연한 이야기다.
(2) 번에는  모델링의 정의에 데이터에 대해라는 말을 넣었다.
(3) 번은 (1) 번을 다르게 표현한 것이라고 할 수 있다. 정보시스템을 데이터 베이스로 업무분석 기법을 분석/설계 과정으로 표현했을 뿐 동일한 말이다.

5. 데이터 모델링의 3단계 

(1) 개념적 데이터 모델링 - 업무 중심적으로 포괄적인 수준의 모델링
(2) 논리적 데이터 모델링 - 모델에 대한 key, 속성, 관계 등을 정의하는 단계
(3) 물리적 데이터 모델링 - 실제 데이터 베이스 구현을 위한 단계

==> 데이터 모델링이란... 결국 현실 세계를 데이터베이스 시스템으로 표현하는 것인데... 그 과정이 한 번에 이루 질 수도 있겠지만 품질을 높이기 위해서는 위 3단계의 과정을 거치는 것이 좋다는 것이다.

그림을 그릴 때도 스케치를 하고 채색을 하면서 점점 그림이 구체화되는 것처럼...

 

6. 데이터 품질 관점 모델링의 고려 요소  

(1) 중복 제거 - 데이터 베이스에 같은 정보가 여러 곳에 저장되는 것은 바람직하지 않다. 왜냐 하면 유연성, 일관성을 유지하기 어렵기 때문이다.
(2) 유연성 - 모델 변경에 프로세스(애플리케이션)가 종속적이면 유연성을 갖췄다고 하기 어렵다.

즉, 모델이 변경될 때마다 프로그램을 수정해야 한다면 비유 연한 모델이라고 할 수 있다.
(3) 일관성 - 데이터의 중복이 없더라도 데이터 속성관의 관계가 명확하게 정의되지 않음으로써 모순이 발생되는 경우가 발생하는데 이러한 경우 일관성이 없다고 한다.

 

[DB] Data, Database, DBMS, Big Data 용어 및 개념 정리

 

[DB]Data, Database, DBMS, Big Data 용어 및 개념 정리

안녕하세요. 즐거운코딩생활 입니다. 오늘은 데이터(Data), 데이터베이스(Database, DB), DBMS(Database Management System), 빅데이터(Big Data)의 개념에 대해서 생각해 보도록 하겠습니다. 데이터(Data)란? 요즘

pandajeytv.tistory.com

[SQL] SQLD시험 접수하기. SQLD시험 접수 주의사항

 

[SQL]SQLD시험 접수하기. SQLD시험 접수 주의사항

자격증을 취득을 한지 너무 오래되어서 올해는 자격증 시험을 한번 봐야겠다 싶었는데 만만한 게 별로 없었다. 여기서 만만하다는 것은 공부해야 할 것도 포함되고 시험 비용도 포함된다. 그중

pandajeytv.tistory.com

 

반응형

댓글

Designed by JB FACTORY