데이터 모델링은 일상 가까이 존재한다.01

흑이·2022년 3월 9일
0

  • 프로젝트 진행 전에 데이터 모델링을 먼저 하게 된다.
  • 모델링을 많이 해보지 않았고, 또한 개념이 어렴풋이 기억이 나지만 정확히 설명하기가 어려웠다.
  • 모델링에 대해 더 깊게 공부하고 싶어 책을 구매하였고 각 챕터마다 요약하여 글을 작성하려 한다.

자동차 동호회와 데이터 모델링

  • 오프라인 동호회 회원의 명부를 체계적으로 관리하기

  • 회원의 차량 정보를 성명, 이메일 주소 등과 함께 표1-1과 같이 정리(1)

  • 문제1. 회원이 보유한 차량이 두 대 이상이면 이메일, 휴대폰번호 등의 개인 정보가 차량 대수만큼 반복될 수밖에 없다.

  • 차량 수만큼 개인 정보가 중복되는 것도 문제지만, 회원 명부라는 관점보다는 회원의 차량 정보가 우선시 되기 때문이다.

  • 다른 두 정보를 함께 관리하려다 보니 일어난 문제(2)

  • 해결하기 위해 회원 개인 정보와 보유 차량 정보로 분리한다.(3)

  • 보유 차량 정보표에는 소유자를 확인할 수 있도록 소유자의 성명을 함께 입력해서 회원 개인 정보표와 연결 고리로 활용(4)

  • 문제 2. 성명이 똑같은 사람이 존재, 성명 속성만으로는 보유 차량 정보가 어떤 사람의 소유인지 모름

  • 문제를 해결하기 위해 회원을 명확히 식별할 수 있는 회원번호 속성을 추가(5)

  • 문제 3. 보유 차량을 제대로 분석할 경우 '아우디'와 'AUDI'가 같은 제조사임을 알아야 하며, 그러기 위해서는 제조사 이름 표기를 표준화 해야 한다.

    • '아우디'로 통일한다.(6)
  • 동호회가 활성화되면서 튜닝용품, 타이어샵, 등 자동차 관련 업체들이 광고를 위해 들어오기 시작

  • 이들 업체 정보도 관리할 필요성을 느껴, 회원 개인 정보표에 담으려 하다가 협력업체 정보를 개인회원 정보로 등록하기에는 다소 이질적이라 느껴서 별도의 표로 관리하기로 했다.(7)

  • 동호회 회원과 보유 차량 데이터를 관리하기 위해 관련 속성들을 하나의 표로 정의하였으며 이질적인 속성과 중복, 반복되는 값들을 분리하여 별도의 표에 저장되도록 하였다.

    2차원 표에 데이터를 어떻게 담는 것이 좋을지 구조적으로 고민하는것이 바로 데이터 모델링이다.


  • 동호회 사례와 데이터 모델링의 관계 정리

    • (1) 표는 관계형 데이터베이스(RDB; Relational Database)의 릴레이션(relation)을 의미한다.
    • (2) 이질적인 정보가 혼재되어 있다면 데이터 간의 종속성을 기준으로 분리, 즉 정규화해야 함을 의미한다.
    • (3) '보유 차량 정보'표를 분리하는 것은 1정규화가 적용된 결과이다.
    • (4) 표 사이의 연결고리는 데이터 모델의 관계(relationship) 속성에 해당한다.
    • (5) 회원번호는 엔터티의 주 식별자(primary identifier)에 해당한다.
    • (6) 'AUDI'를 '아우디'로 표기하기로 한 것은 데이터 표준화의 개념 중 코드(code)와 관련있다.
    • (7) '협력업체 정보' 표를 별도로 만든 것은 엔터티의 개념이 반영된 것이다.

데이터 모델링이란 것이 일상 가까이 존재한다는 것을 다시 한번 느낀다..

책을 읽어보니 쉬워 보이지만, 막상 모델링을 하려면 어렵기만 하다.

모델링 이론을 정확히 숙지하지 못하였고, 많이 해보지 않아서 그렇지 않을까?
계속 공부하다 보면 모델링의 본질이 무엇인지 알 수 있을 것 같다.

0개의 댓글