Data Governance Study - Data Model (6)

데이터 모델링 기초: 개념적 데이터 모델링 (Conceptual Data Modeling)의 ER Modeling

데이터베이스 설계 초기 단계에서 비즈니스 요구사항을 추상화하는 과정, 주요 구성 요소인 엔티티, 속성, 관계의 개념, 그리고 ERD(Entity-Relationship Diagram)의 기본 원리를 설명한다. 데이터베이스 설계를 시작하는 초보자를 위한 정보를 제공한다.
Data Governance
저자

Kwangmin Kim

공개

2024년 08월 09일

1 DB Design

DB 설계는 각 설계자마다 다르게 설계하므로 science가 아니라 art라고 부른다. 후에 게시되는 블로그를 읽어보면 주관적인 판단이 들어가는 요소가 많이 있음을 파악할 수 있다.

1.1 Conceptual Data Modeling

  • Conceptual data modeling(개념적 데이터 모델링)은 데이터베이스 설계의 초기 단계
  • 비즈니스 요구사항 (업무기술서의 내용)을 이해하기 좋게 개념화 또는 추상화 (i.e. 도식화)하여 high level (고수준)의 데이터 구조를 정의하는 과정이다.
    • high level은 사람이 이해할 수 있는 수준이란 뜻이며 low level은 컴퓨터가 이해할 수 있는 수준이라고 생각하면 편하다.

  • Conceptual data modeling은 복잡한 비즈니스 요구사항을 단순화하여 표현하므로, 프로젝트의 초기 단계에서 이해관계자 간의 합의를 도출하는 데 매우 유용하다.
  • 후속 데이터베이스 설계 단계의 기반이 되어 전체 프로젝트의 성공에 중요한 역할을 한다.

1.1.1 목적

  • 비즈니스 관점에서 데이터 구조를 이해하고 표현
  • 주요 엔티티와 그들 간의 관계를 식별
  • 시스템의 범위를 정의

1.1.2 주요 구성 요소

  • 엔티티(Entity): 비즈니스에서 중요한 객체나 개념
  • 속성(Attribute): 엔티티의 특성 (이 단계에서는 상세하게 다루지 않을 수 있음)
  • 관계(Relationship): 엔티티 간의 연관성
    • Relationship (관계) \(\ne\) Relation
    • Relationship 은 [Student] - < Register > - [Subject] 에서 < Register >에 해당, 한글로 관계로 표시
    • 도식에서 마름모에 해당
    • Relation = Table (테이블), 보통 relation을 한글로 표현할 때 릴레이션 으로 표시 (관계라고 표시안함)
      • 수학자들은 테이블의 한 행을 relation 이라 부름
      • 즉, 관계형 데이터 모델의 수학적, 논리적 개념이고 튜플(tuple)의 집합이며 속성(attribute)의 집합으로 구성된다.
      • 테이블의 추상적인 개념으로 테이블은 Relation을 기술하는 하나의 구체적 표현
      • DB에서 하나의 table로 구현된다.

1.1.3 특징

  • 기술적 세부사항을 배제하고 비즈니스 개념에 집중
  • 높은 수준의 추상화
  • DBMS에 독립적

1.1.4 산출물

  • 간단한 텍스트 설명이나 다이어그램
  • 주로 Entity-Relationship Diagram (ERD)을 사용
    • 개념적 설계에 가장 많이 쓰는 모델로서 Entity-Relationship Model (ERM or ER-model 개체 관계 모형)을 사용하고 그 산출물이 ERD이다.

1.1.5 프로세스

  • 주요 비즈니스 개체 식별
  • 개체 간 관계 정의
  • 높은 수준의 속성 식별 (선택적)
  • 비즈니스 규칙 반영
  • 논리적 데이터 모델링의 기초가 됨 (더 상세한 데이터 모델로 발전)

Subscribe

Enjoy this blog? Get notified of new posts by email: