[SQLD] 데이터 모델링이란

728x90

SQLD 공부하면서 정리하면 좋을 것들은 포스팅하고 있습니다!

제가 공부하는 부분을 이해하기 쉽게 간결하게 올립니다 그리고 저는 전공자이고 데이터베이스 수업을 들은 적이 있어서 조금은 알고있는 부분이 있을 수 있습니다.. (거의 가물가물하지만..)

 

 

데이터 모델링이란?

데이터 모델링은 조직의 정보 수집과 관리 시스템을 정의하는 시각적 표현 또는 청사진을 생성하는 프로세스입니다. 이 청사진 또는 데이터 모델은 데이터 분석자, 과학자, 엔지니어와 같은 다양한 이해관계자들이 조직의 데이터에 대한 통일된 개념을 생성할 수 있게 돕습니다. 이 모델은 해당 비즈니스가 수집하는 데이터, 서로 다른 데이터 세트 사이의 관계, 데이터를 저장하고 분석하는 데 사용되는 방식을 설명합니다.

 

이 개념을 데이터베이스에 적용하게 되면,

 

모델 : 축소형의 의미로서 사람이 살아가면서 나타날 수 있는 다양한 현상에 대해서 일정한 표기법에 의해 표현해 놓은 모형.

모델링 : 모델을 만들어 가는 일 자체. 복잡한 현실세계를 단순화 시켜 표현한 것

 

데이터 모델링 :

1. 정보시스템을 구축하기 위한 데이터관점의 업무 분석 기법

2. 현실세계의 데이터(What)에 대해 약속된 표기법에 의해 표현하는 과정

3. 데이터베이스를 구축하기 위한 분석/설계의 과정

 

 

 

모델링의 특징

추상화 : 현실세계를 일정한 형식에 맞추어 표현한다는 의미

단순화 : 복잡한 현실세계를 제한된 표기법이나 언어로 쉽게 이해할 수 있도록 하는 의미

명확화 : 누구나 이해하기 쉽게 하기 위해 대상에 대한 애매모호함을 제거하고 정확하게 현상을 기술하는 것을 의미

 

 

모델링의 관점

- 데이터 관점 : 업무가 어떤 데이터와 관련이 있는지또는 데이터 간의 관계는 무엇인지에 대해서 모델링하는 방법(What, Data)

- 프로세스 관점 : 업무가 실제하고 있는 일은 무엇인지 또는 무엇을 해야하는지를 모델링하는 방법(How, Process)

- 데이터와 프로세스의 상관 관점 : 업무가 처리하는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는지 모델링하는 방법(Interaction=상호작용)

 

 

 

 

 

 

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

오늘날 조직은 다양한 소스에서 많은 양의 데이터를 수집합니다. 그러나 원시 데이터로는 충분하지 않습니다. 수익성 있는 비즈니스 결정을 내리는 데 도움이 되는 실행 가능한 인사이트를 얻기 위해 데이터를 분석해야 합니다. 정확한 데이터 분석을 위해서는 효율적인 데이터 수집, 저장 및 처리가 필요합니다. 여러 데이터베이스 기술과 데이터 처리 도구가 있으며 데이터 세트마다 효율적인 분석을 위한 도구가 다릅니다.

데이터 모델링은 데이터를 이해하고 이 데이터를 저장 및 관리하기 위한 올바른 기술 선택을 할 수 있는 기회를 제공합니다. 건축가가 집을 짓기 전에 청사진을 설계하는 것과 같은 방식으로, 비즈니스 이해관계자는 조직을 위한 데이터베이스 솔루션을 엔지니어링하기 전에 데이터 모델을 설계합니다.

데이터 모델링은 다음과 같은 이점을 제공합니다.

  • 데이터베이스 소프트웨어 개발 오류 감소
  • 데이터베이스 설계 및 생성 속도와 효율성 촉진
  • 조직 전체에서 데이터 문서화 및 시스템 설계의 일관성 조성
  • 데이터 엔지니어와 비즈니스 인텔리전스 팀 간의 커뮤니케이션 촉진

 

 

파급효과(Leverage=영향력)

대규모의 데이터 이행을 성공적으로 수행하기 위한 많은 단위 테스트들이 수행되고 이러한 과정들이 반복된다. → 데이터 모델의 변경이 발생되면 해당 분야의 실제적인 변경작업이 발생하게 된다. 데이터 구조의 변경으로 전체 시스템 구축 프로젝트에서 큰 위험요소가 됨

 

복잡한 정보 요구사항의 간결한 표현(Conciseness=간결)

데이터 모델은 구축할 시스템의 정보 요구사항과 한계를 가장 명확하고 간결하게 표현할 수 있는 도구. 데이터 모델은 건축물로 비유하자면 설계 도명에 해당됨.

 

데이터 품질(Data Quality)

데이터는 기간이 오래되면 될수록 활용가치는 훨씬 높아짐

데이터 품질의 문제는 데이터 구조가 설계되고 초기에 데이터가 조금 쌓일 때에는 인지하지 못하는 경우가 대부분임

데이터 품질 문제 를 치유하기 위한 유의점

→ 중복(Duplication) 데이터 모델 : 같은 데이터를 사용하는 사람, 시간, 그리고 장소를 파악하는 데 도움을 줌

→ 비유연성(Inflexibility) 데이터 모델 : 사소한 업무 변화에도 데이터 모델이 수시로 변경됨으로써 유지보수의 어려움을 가중시킬 수 있다. 작은 변화가 데이터베이스에 큰 변화를 일으킬 가능성을 낮춤

→ 비일관성(Inconsistency) 데이터 모델 : 다른 데이터와 모순된다는 고려 없이 데이터를 수정할 수도 있다. 데이터 간 상호 연관 관계에 대한 명확한 정의가 위험을 예방함

 

 

 

 

 

 

 

 

 

데이터 모델링의 유형

개념적인 데이터 모델링 : 상위 수준인 개괄적인 데이터 모델링을 먼저 수행하고 이후에 업무 영역에 따른 개념적 데이터 모델링을 전개함

논리적인 데이터 모델링 : 엔터티 중심의 상위 수준의 데이터 모델이 완성되면 업무의 구체적인 모습과 흐름에 따른 구체화된 업무 중심의 데이터 모델을 만들어 내는 것

물리적인 데이터 모델링 : 데이터 베이스의 저장 구조에 따른 테이블 스페이스 등을 고려한 방식

 

 

 

 

개념적 데이터 모델링(Conoeptual Data Modeling)

조직, 사용자의 데이터 요구사항을 찾고 분석하는 데 시작하며 어떤 자료가 유지되어야 하는지를 결정하는 것.

엔턴티-관계 다이어그램

  • 사용자와 시스템 개발자가 데이터 요구사항을 발견하는 것을 지원한다.
  • 현 시스템이 어떻게 변형되어야 하는 가를 이해하는 데 유용

 

논리적 데이터 모델링(Logical Data modeling)

데이터베이스 설계 프로세스의 Input으로써 비즈니스 정보의 논리적인 구조와 규칙을 명확하게 표현하는 기법 또는 과정.

어떻게 데이터를 액세스하고 누가 데이터에 엑세스 하는지

누가, 어떻게 그리고 비즈니스 데이터에 존재하는 사실들을 인식하여 기록하는 것

ERD다이어그램

시스템 설계의 전 과정을 지원하는 과정의 도구

논리 데이터 모델 상세화 과정의 대표적인 활동 = 논리 데이터 모델링

식별자 확정, 정규화, M:M 관계 해소, 참조 무결성 규칙 정의 등

 

물리적 데이터 모델링

데이터 저장소로서 어떻게 컴퓨터 하드웨어에 표현될 것인가를 다룸

물리적 스키마 : 데이터가 물리적으로 컴퓨터에 어떻게 저장될 것인가에 대한 정의

 

 

 

 

 

 

참고

https://aws.amazon.com/ko/what-is/data-modeling/

728x90