본문 바로가기

데이터베이스 모델링

데이터베이스 모델링을 위한 첫 번째 단계!

반응형

이 카테고리에서는 데이터베이스를 어떻게 하면 잘 설계할 수 있을지에 관해 글을 작성해보려고 해요. 여러 책을 읽으면서 저만의 설계방법을 얻는 것이 목표입니다! ㅎㅎ 심심할 때 언제든지 놀러와서 글 읽어주세요!

  • 먼저 데이터베이스를 설계하기 전에 데이터 모델링을 한다고 합니다! 데이터 모델링이란 것이 무엇이고? 왜 중요한지 알아볼게요.

데이터 모델링이란?

  • 데이터 모델링을 여러 회사에서 다음과 같이 정의하고 있어요
회사 설명
AWS 조직의 정보 수집과 관리 시스템을 정의하는 시각적 표현 또는 청사진을 생성하는 프로세스.
SAP 데이터 흐름을 도식화하는 과정.
MicroSoft 비즈니스에서 수집하고 생성하는 각기 다른 모든 데이터를 분석하고 정의하는 것은 물론 데이터 간의 관계도 분석하고 정의하는 프로세스
IBM 데이터 포인트 간의 연결 관계 및 구조를 알리기 위해 정보 시스템 전체나 그 일부를 시각적으로 표현하는 프로세스
  • 종합해서 생각해보면 어떤 데이터를 분석하고 데이터의 관계를 찾아내고, 더 나아가 데이터의 흐름을 찾아내는 어떤 과정이라고 이야기 할 수 있겠네요!
  • 그렇다면 왜 데이터 모델링이 중요한 과정이라고 이야기 하는 것일까요?

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

  • 3차 산업혁명 시대에서 4차 산업혁명 시대로 넘어오면서 요즘 크게 핫한 것 중 하나가 AI에요. AI는 정말 신기하다고 생각하실텐데 결국 AI는 인공지능, 즉 인공적으로 만들어진 지능을 말하죠? 마찬가지로 사람도 지능을 학습할 때 어떤 데이터(책)을 통해서 이해하고, 외우고 합니다. 그럼 인공적으로 지능을 학습시키기 위해선 데이터가 많이 필요하겠죠! 그래서 이런 데이터를 관리하기 위해 맨 처음 데이터베이스를 위한 데이터 모델링 작업이 중요해졌다고 할 수 있어요! 여기까지는 그냥 제 생각이고, 좀 더 자세한 자료에 기초해 말씀드리겠습니다!

  • 위에서 제가 말씀드린 것 처럼 데이터가 중요한 시대가 되면서 데이터가 돈을 벌어다주는 시대가 된거죠? 기업 입장에서는 데이터=돈 이라고 생각할거에요 그래서, 기업에서는 이런 데이터에서 어떤 인사이트 그니까 통찰력을 얻기 위해서 데이터를 분석하고, 수집하고, 저장하고 여러가지를 막합니다. 예를 들어서 카드회사에서는 특정 시간대에 결제 금액이 많은 데이터를 근거로 백화점 같은곳에 해당 인사이트를 제시할 수 있겠죠? 뭐,, 백화점 입장에서는 그 특정 시간대에 할인 행사를 한다거나, 할 수 있으니까요. 아무튼 이런 이유로 데이터를 잘~ 관리하기 위해서 데이터베이스를 잘만들어야하고, 그래서 데이터 모델링을 잘~해야 한다는거에요.

  • 그럼 데이터 모델링은 어떻게 할까요? 그 방법에 대해서 알아볼게요.

데이터 모델링 과정

  • 우리가 데이터 모델링을 하기 전에 데이터베이스 생명주기라는 것에대해 알아야해요. 생명주기란, 한 생명의 태생부터 죽음까지를 말하는거죠. 데이터베이스가 만들어지고나서, 사라질 때까지를 이야기 하는겁니다!

데이터베이스 생명주기

  • 생명주기는 다음과 같아요.
  1. 요구사항 수집, 분석
  2. 설계
  3. 구현
  4. 운영
  5. 감시 및 개선
  • 데이터 모델링은 바로 위 생명주기 단계에 기초에 모델링을 진행합니다! 그럼 각 단계에서 어떤 행동을 할 수 있을까요?

요구사항 수집, 분석

  • 이 단계에서는 말 그대로 현실세계의 대상과 사용자(고객)의 요구를 수집하는 단계에요!

  • 어떤 사용자가 사용하는지?

  • 데이터베이스가 어떤 목적으로 사용되는지?

  • 그 사용자가 원하는 것(요구)은 무엇인지?

  • 이런 것들을 알아내야 합니다! 그래서 다음과 같은 방법으로 우리는 목적을 달성해야해요!

  • 요구사항 수집 방법

수집 방법 설명
문서 수집 실제로 데이터베이스에 저장되거나 하는 그런 문서들을 찾습니다!
인터뷰 사용자(고객, 담당자)와 인터뷰를 통해서 요구사항을 알아내는 방법입니다!
설문조사 말 그대로 설문조사를 사용자에게 실시해 요구사항을 알아내는 방법입니다!
유사 시스템 조사 유사한 시스템을 찾아보고, 처음부터 만들면 힘드니까, 참고해서 요구사항 수집하는 거죠!
반응형