[DB] 데이터 모델링이란?

반응형
    반응형

    모델링

    모델링은 현실세계에서 있는 것들을 컴퓨터 앞에 가지고 와서 한눈에 보고 일처리할 필요성으로 만들어진 기법입니다. 현실세계의 복잡한 데이터를 일정한 표기법으로 규칙을 가지고 컴퓨터에 표기하는 작업이라 할 수 있습니다.

    그렇기 때문에 체계적이고 명확해야 합니다. (명확화)
    복잡한 세계에 있는 걸 가져와 다룰려면 단순해져야 합니다.(단순화)
    그렇다고 현실세계의 특징을 아예 배제해서는 안되고 특징을 담되 컴퓨터에서 하나의 객체로 표현하는 작업이 되어야 합니다.(추상화)

    모델링 특징 3가지

    앞에서 언급한대로 모델링의 특징으로 3가지로 정리할 수 있습니다.

     

    • 추상화 (모형화, 가설적) : 현실세계를 일정한 형식에 맞추어 표현 (일정한 양식 표기법)
    • 단순화 : 복잡한 현실세계 약속된 규약에 의해 제한된 표기법/언어로 표현 쉽게 이해
    • 명확화 : 누구나 이해하기 쉽게 대상의 애매모호함을 제거하고 정확하게 현상을 기술

    모델링 관점 3가지

    모델링은 실제로 업무를 분석하고 설계하거나 데이터 변경/관리의 목적으로 활용됩니다.
    활용에 따라 3가지 관점으로 나눌 수 있습니다.

     

    • 데이터 관점 (Data, What) : 업무와 데이터 or 데이터간의 관계 모델링
    • 프로세스 관점 (Process, How) : 업무가 실제 하는 일 or 무엇을 해야 하는지 모델링
    • 상관 관점 (Interaction) : 업무가 처리하는 일의 방법에 따라 데이터가 받는 영향 모델링

     

    데이터 모델링 정의

    데이터 모델링은 데이터 내용과 흐름을 도식화하는 과정이라 생각하시면 됩니다. 현실세계의 데이터를 데이터베이스에 표현하는 작업으로 데이터모델링을 3가지로 분류할 수 있습니다.

     

    • 정보시스템 구축 위한 데이터 관점 업부 분석기법
    • 현실세계 데이터 약속된 표기법에 의해 표현
    • 데이터베이스 구축 위한 분석/설계 과정

     

    데이터모델링을 예로 들면, 사내 ERP 시스템, 가게 주문현황, 전국 상점 현황 등이 있습니다.

    데이터모델링을 하는 이유

    컴퓨터는 한정된 자원입니다. 아무리 양을 늘린다해도 세상을 다 집어넣을 수 없습니다. 컴퓨터라는 한정된 자원으로 세상을 가져와야 합니다. 복잡하고 방대한 세상을 데이터베이스 안으로 넣으려면 설계단계부터 체계적이고 유연하게 만드는 것이 중요합니다. 어떻게 관계를 연결하고 로직을 설계해 효율적이면서 체계가 있는 데이터베이스를 만드는지 고민하는 과정이 데이터모델링입니다. 데이터모델링을 잘해야 데이터가 꼬이는 문제, 데이터 정리가 안되서 야기되는 혼란등을 막을 수 있습니다. 또한, 잘 정리된 데이터베이스라면 확장시키기도 편합니다.

    데이터 모델링 기능

    • 시스템 가시화 도움
    • 시스템 구조와 행동 명세화 가능
    • 시스템 구축 구조화된 틀 제공
    • 시스템 구축 과정에서 결정한 것 문서화
    • 다양한 영역 집중 위해 다른 영역 세부사항 숨김 (다양한 관점 제공)
    • 특정 목표에 따라 구체화된 상세 수준의 표현방법을 제공

     

    데이터모델링 중요성

    • 파급효과가 크다 (Leverage) : 데이터 구조 변경으로 인한 일련의 변경작업 위험요소 해결
    • 복잡한 정보 요구사항의 간결한 표현 (Conciseness) : 요구사항, 한계 명확하고 간결하게
    • 데이터 품질을 유지 (Data Quality) : 오래된 데이터의 정확성, 신뢰성 해결

     

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

    데이터 모델링은 3단계로 구성됩니다.

    개념적 데이터 모델링

    현실 세계의 중요 데이터를 추출하는 단계로 사람의 머리로 이해할 수 있도록 모델링하여 데이터베이스의 개념적 구조로 표현(개념적데이터모델)하는 단계입니다. 계획/분석의 단계이기도 합니다.
    가장 추상적인 단계로 중요한 부분을 중심으로 단순하게 표현하도록 노력하는게 중요합니다.
    개념 설계를 위해 주로 ER 모델로 작성합니다.
    (ER 모델은 추후에 자세한 내용으로 포스팅하겠습니다.)

     

    키워드 : 추상화, 업무중심, 포괄, 전사적, EA수립, 추상적

     

    논리적 데이터 모델링 

    개념적 데이터 모델을 논리적 모델링을 통해 논리적 데이터 모델로 변환하는 과정입니다. 논리적 데이터 모델이란 데이터베이스의 논리적 구조로 표현하는 것을 말합니다.
    개념적 설계로 만들어진 개념 스키마 설계를 정제하고 내가 담고자 하는 DBMS 에 맞추어 데이터에 어떻게 넣을것인지에 맞춰 변환합니다.

     

    키워드 : [KEY, 속성, 관계] 표현, 재사용성, 정규화

     

    물리적 데이터 모델링


    논리적 데이터 모델링이 끝나면 컴퓨터 하드웨어(물리적 장치)에 실제적으로 데이터베이스 이식을 시작합니다. 저장을 어떻게 하고 성능 최적화등을 데이터에 맞게 맞추는 작업도 병행합니다. 물리적 데이터 모델링이 끝마치면 DB로 구현되어 컴퓨터상에서 실제로 가공된 데이터를 조회할 수 있게 됩니다.

     

    키워드 : 데이터베이스 이식, 성능/저장 등 물리적 성격 고려, 구체적

    댓글

    Designed by JB FACTORY

    ....