데이터 모델링(1)

2 minute read

SQLD 시험 보고나서 정리할 겸 작성해 봅니다. 시험관련 후기는 곧 올리겠습니다.

먼저 데이터 모델링에 대해 들어가기 전에 모델링이 무엇인지, 어떤 종류가 있는지 알아봅니다.

모델링

다양한 현상, 사물을 일정한 표기법에 따라 표현한 것을 모델이라 한다.
모델링은 모델을 만들어가는 일 자체를 뜻한다.

모델링의 특징

  • 추상화
    • 현실세계를 일정한 형식(표기법)에 맞춰 표현함
  • 단순화
    • 복잡한 현실세계를 표기법이나 언어로 표현해서 쉽게 이해할 수 있도록 하는 것
  • 명확화
    • 애매모호함을 제거하고 정확하게 현상을 기술하는 것

모델링의 3가지 관점

  • 데이터 관점 (what, data)
    • 업무가 어떤 데이터와 관련이 있는가? 데이터 간의 관계
  • 프로세스 관점 (how, process)
    • 실제하고 있는 업무는 무엇인가. 무엇을 해야하는가
  • 데이터와 프로세스의 상관 관점 (interaction)
    • 업무가 처리하는 방법에 따라 데이터는 어떻게 영향을 받고 있는가

데이터베이스를 구축하기 위한 데이터 모델링을 중심으로 알아봅니다.

데이터 모델링

업무에서 필요로 하는 데이터를 시스템 구축 방법론에 따라 분석하고 설계하여 정보시스템을 구축하는 과정 (1)

목적

  1. 정보시스템 구축의 대상이 되는 업무 내용을 정확하게 분석한다.
  2. 분석한 모델을 가지고 실제 데이터베이스를 생성하여 개발 및 데이터 관리에 사용한다.

시스템 설계의 전 과정을 지원하는 ‘과정의 도구’라고 할 수 있다.

데이터 모델링의 중요성

  • 파급효과 (Leverage)
    • 잘못된 데이터 모델로 인해 시스템 구축이 끝나가는 시점에서 테스트하고나서 데이터 모델을 변경해야 되면 큰일. 데이터 구조의 변경으로 인해 많은 것들을 변경해야 될지도 모름.
  • 복잡한 정보 요구사항의 간결한 표현 (Conciseness)
    • 데이터 모델은 구축할 시스템의 정보 요구 사항과 한계를 가장 명확하고 간결하게 표현할 수 있는 도구.
  • 데이터 품질 (Data Quality)
    • 디비에 있는 데이터는 기업의 중요한 자산. 정확성이 떨어지는 데이터는 비지니스의 기회 상실과 연결 됌.

데이터 모델링을 할 때 유의할 점

  • 중복 (Duplication)
    • 여러 장소에 같은 정보를 저장하지 말 것
  • 비유연성 (Inflexibility)
    • 데이터의 정의를 데이터의 사용 프로세스와 분리시켜서, 사소한 업무 변화에 데이터 모델이 수시로 변경 되지 않도록 할 것
  • 비일관성 (Inconsistency)
    • 데이터를 수정할 때 관련된 다른 데이터와 모순되지 않도록 할 것
    • 데이터간 상호 연관 관계에 대한 명확한 정의 필요
    • 예) 신용 상태에 대한 갱신 없이 고객의 납부 이력 정보를 갱신

데이터 모델링의 3단계 진행

추상화 수준에 따라 3단계로 나눌 수 있다. 줄여서 개논물!
개논물 순으로 추상적인건 줄어들고⬇️, 구체적⬆️이게 된다.

  • 개념적 데이터 모델링 (Conceptual Data Modeling)
    • 추상화 수준 높음, 업무 중심적, 포괄적인 수준의 모델링
    • 전사적 데이터 모델링(Enterprise Data Modeling), EA 수립 시 많이 이용.
    • 사용자와 시스템 개발자가 데이터 요구 사항을 발견하는 것을 지원
      • 요구사항 분석하면서 엔티티-관계 다이어그램을 생성
    • 현 시스템이 어떻게 변형되어야 하는가를 이해하는 데 유용
  • 논리적 데이터 모델링 (Logical Data Modeling)
    • 비지니스 정보의 논리적인 구조와 규칙을 명확하게 표현하는 기법/과정
      • 누가(who), 어떻게 (how: process), 비지니스 데이터에 존재하는 사실들을 인식하여 기록
    • 시스템으로 구축하고자 하는 업무에 대해 Key, 속성, 관계 등을 정확하게 표현
    • 재사용성 높음
    • 데이터 모델링 과정에서 가장 핵심이 되는 부분
    • 정규화, M:M 관계 해소, 참조 무결성 규칙 정의
  • 물리적 데이터 모델링 (Physical Data Modeling)
    • 실제로 데이터베이스에 이식할 수 있도록 성능, 저장 물리적인 성격을 고려하여 설계
    • 논리 데이터 모델이 데이터 저장소로서 어덯게 컴퓨터 하드웨어에 표현될 것인가 (물리적 스키마)
    • 결정되는 것: 물리적인 저장구조 (테이블, 칼럼 등), 자료를 추출하기 위해 사용될 접근 방법

참고로, 실제 현실 프로젝트에서는 개논물 이렇게 순서대로 수행하는 경우는 드물고, 개+논을 함께 수행하는 경우가 대부분이라고 한다.

Reference

  1. “SQL 전문가 가이드” by 한국데이터산업진흥원

Leave a comment