• Home
  • About
    • Monu Kim photo

      Monu Kim

      Strike while the iron is hot

    • Learn More
    • Email
    • Instagram
    • Github
  • Posts
    • All Posts
    • All Tags
    • All Categories
  • Projects

[데이터 모델링] 데이터 모델의 이해

03 Mar 2023

Reading time ~3 minutes

데이터 모델의 이해

모델링

모델링이란 복잡한 현실 세계를 모두에게 공통적으로 이해되도록 수식이나 그림 등(다이어그램화)의 약속된 방식으로 단순화(추상화)하여 체계적으로 표현하는 작업 또는 방법을 뜻함. 정보시스템 구축에서는 계획/분석/설계 단계에서 업무를 분석하고 설계하는데 이용하거나 구축/운영 단계에서 변경과 관리를 목적으로 모델링을 이용한다.

  • 모델링 특징
    • 추상화 : 현실 세계를 일정한 양식에 맞춰 표기함
    • 단순화 : 복잡한 현실 세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현
    • 명확화 : 이해하기 쉽게 모호한 부분을 제거하여 정확하게 기술
  • 모델링 관점
    • 데이터 관점 : 업무와 데이터나 데이터 사이의 관계(Data, What)
    • 프로세스 관점 : 업무가 실제 하는 일이나 무엇을 해야하는지(Process, How)
    • 상관 관점 : 업무 처리방식에 따라 데이터가 받는 영향(Intraction)

데이터 모델링

데이터 모델링은 통합관점 뷰를 가지는 개념 스키마를 만들어가는 과정이다.

데이터 모델링이란 정보시스템을 구축하기 위한 데이터 관점의 업무 분석기법으로 현실세계 데이터를 약속된 표기법에 의해 표현하는 데이터베이스 구축을 위한 분석/설계 과정을 뜻함.

  • 목적 : 정보에 대한 표기법을 통일하여 업무 내용 분석의 정확도를 증대시키고 데이터 모델을 기초로 DB를 생성하는 것을 목적으로 함
  • 기능
    • 가시화
    • 명세화 : 시스템 구조와 행동
    • 구조화된 틀 제공
    • 문서화
    • 다양한 관점 제공 : 다양한 영역 집중을 위해 다른 영역의 세부사항을 숨김
    • 구체화 : 특정 목표에 따라 구체화된 상세 수준의 표현방법을 제공
  • 중요성
    • 파급효과(Leverage)
    • 간결한 표현(Conciseness)
    • 데이터 품질 유지(Data Quality) : 유일성, 유연성(데이터 정의와 사용 프로세스 분리), 일관성(데이터 상화 연관관계 명확히 정의)
  • 진행 3단계 [추상적 ⇒ 구체적]
    1. 개념 : 엔터티와 속성을 도출하고 ERD 작성, 업무 중심적, 포괄적 수준의 모델링
    2. 논리 : 식별자(key), 속성, 관계 등을 정의하고 정규화를 수행 → 데이터 모델(데이터 모델링 완료 상태)의 독립성과 재 사용성 확보
    3. 물리 : DB를 구축, 성능 및 보안 등 물리적 성격을 고려한다.
  • 프로젝트 생명주기(Life Cycle)
    • 계획 / 분석 [개념적 모델링, 현실에선 보통 생략됨] > 분석 [논리적 모델링] > 설계 [물리적 모델링] > 개발 > 테스트 > 전환 / 이행
    • Waterfall 기반 : 분석과 설계 단계로 구분되어 명확하게 정의
    • 정보공학/구조적 방법론 : 분석(업무 중심의 논리적 모델링), 설계(하드웨어 및 성능 고려한 물리적 모델링)
    • 나선형 모델(RUP, 마르미) : 업무 크기에 따라 분석, 설계 단계 양쪽에서 수행
  • 데이터 모델의 3요소 : 업무가 관여하는 어떤 것(엔터티), 그것이 가지는 성격(속성), 그것들 간의 관계(관계)
  • 좋은 데이터

데이터 독립성

  • 효과 : 각 뷰의 독립성 유지하고 계층별 뷰에 영향 주지 않고 번경 가능, 단계별 스키마에 따라 DDL과 DML의 다름을 제공
  • 필요성: 데이터 중복성과 데이터 복잡도 증가로 인한 유지보수 비용 증가, 요구사항 대응 저하
  • DB 3단계 구조 : ANSI/SPARC 의 3단계 구성의 데이터 독립성 모델
    • 외부/개념/내부 : 각 단계가 서로 간섭하지 않는다.
    • 논리적 독립성 (외부-개념) : 외부 스키마가 개념 스키마의 변화에 영향을 미치지 않는다. 사용자 특성에 맞는 변경이 가능하며 통합 구조를 변경가능하다. 논리적 사상이 없다.
    • 물리적 독립성 (개념-내부) : 개념 스키마가 내부 스키마의 변화에 영향을 미치지 않는다. 물리적 구조와 개념 구조 상호간 영향 없이 서로 변경이 가능하다. 물리적 사상이 없다.

사상(Mapping) : 상호 독립적인 개념을 연결하는 다리. 논리적 사상-외부 화면 및 사용자 인터페이스 스키마 구조는 개념 스키마와 연결된다. 물리적 사상-개념 스키마 구조와 물리적 저장된 구조(테이블 스페이스)와 연결됨

  • 좋은 데이터 모델 요소 6가지
    • 완전성
    • 중복배제
    • 업무 규칙
    • 데이터 재사용
    • 의사소통
    • 통합성
  • ERD(Entity Relationship Diagram) : 엔터티는 사각형, 관계는 마름모, 속성은 타원형으로 표현, 현실의 데이터 모두 표현 가능
    • 엔터티 도출
    • 엔터티 배치
    • 엔터티 간 관계 설정
    • 관계명 기술
    • 관계차수 표현 : 1:1, 1:N, M:N
    • 관계선택사양 표현: 필수, 선택


studydatabasedata modelingsqld Share Tweet +1