DNF LOVE

[데이터베이스론 기초 - 5] 데이터 세계를 나타내는 데이터 모델링 본문

Computer Science/데이터베이스

[데이터베이스론 기초 - 5] 데이터 세계를 나타내는 데이터 모델링

botho 2019. 8. 4. 15:45
반응형

내가 데이터베이스에 흥미를 느끼게 된 것은, 데이터 모델링 덕분이었다. 데이터 모델링은 현실 세계의 데이터를 컴퓨터 세계로 표현하는 것인데 인문학에 관심이 많던 나는 인문학의 수많은 데이터화하고, 이를 AI에게 학습시키면 AI는 새로운 무언가를 창조할 수 있을까?라는 궁금증에서 시작했다.

각설하고 이번 포스팅에선 현실 세계를 데이터 세계로 나타내는 데이터 모델링에 대해 알아보도록 하자.


데이터 모델링의 이해.

데이터 모델링에 대해 알기 전에, '모델링'에 대해 알도록 하자.

- 모델링이란? 사건에 대한 양상이나 관점을 연관된 사람이나 그룹을 위하여 명확하게 하는 것이다.
모델이란, 현실 세계의 추상화, 단순화, 명확화된 반영한다.

- 모델링의 특징

  • 추상화 : 다양한 현상을 일정한 양식인 표기법에 의해 표현된다.
  • 단순화 : 복잡한 현실 세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현하여 쉽게 이해할 수 있도록 하는 개념
  • 명확화 : 누구나 이해하기 쉽게 하기 위해 정확하게 현상을 기술하는 것

- 모델링의 세 가지 관점 ★

  • 데이터 관점(What, Data) : 업무가 어떤 데이터와 관련이 있는지 또는 데이터 간의 관계는 무엇인지에 대해서 모델링을 하는 방법이다.
  • 프로세스 관점(How, Process) : 업무가 실제하고 있는 일은 무엇인지 또는 무엇을 해야 하는지를 모델링하는 방법
  • 데이터와 프로세스의 상관관점(Data vs Process, Interaction) : 업무가 처리하는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는지 모델링 하는 방법
  • 모델링 = 데이터 관점 + 프로세스 관점 + 상관관점

그렇다면, 데이터 모델링이란 무엇일까?

- 데이터 모델링이란? 정보시스템을 구축하기 위해, 해당 업무에 어떤 데이터가 존재하는지 또는 업무가 필요로 하는 정보는 무엇이 있는지 분석하는 방법이다.

- 데이터 모델링의 특징

  • 시스템을 현재 또는 원하는 모습으로 가시화하도록 도와준다.
  • 시스템의 구조와 행동을 명세화 할 수 있게 한다.
  • 시스템을 구축하는 구조화된 틀을 제공한다. ④ 시스템을 구축하는 과정에서 결정한 것을 문서화한다.
  • 다양한 영역에 집중하기 위해 다른 영역의 세부 사항은 숨기는 다양한 관점 즉 추상화한다.
  • 특정 목표에 따라 구체화된 상세 수준의 표현방법을 제공한다

- 데이터 모델링의 중요성

  • 파급 효과 : 프로젝트 후반부에서 데이터모델 변경 시 변경으로 인한 비용손실 및 납기지연가능성 커지는데, 데이터 모델링을 잘 하면 이를 최소화할 수 있다.
  • 복잡한 정보 요구사항의 간결한 표현할 수 있다.
  • 데이터 품질 : 중복(Duplication), 비유연성(Inflexibility), 비일관성(Inconsistency) 의 문제를 해결하는 데 가자 중요한 도구이다.

- 데이터 모델링의 세 가지

  • 업무가 관여하는 어떤 것(Things)
  • 업무가 관여하는 어떤 것 간의 관계(Relationships)
  • 어떤 것이 가지는 성격(Attrivutes)

- 데이터 모델링의 단수/복스 개념

개념

복수/집합 개념
타입/ 클래스 (타입)

개별/단수개념
어커런스/인스턴스(실제값)
어떤 것(Things) 엔터티 타입 엔터티
엔터티 인스턴스, 어커런스
어떤 것간의 연관 관계 페어링
어떤 것의 성격 속성 속성 값

 


다음 포스팅은 데이터 모델링의 3개의 세계와 이를 표현하는 E-R다이어그램, Entity, Relationship에 대한 간단 설명이 있을 예정이다.

반응형