3. 데이터 모델링의 이해

April·2025년 3월 23일
0

🌱server

목록 보기
21/22

1. 데이터 모델링 개요

(1) 데이터 모델링의 개념과 특징

모델링?
공통된 것. 공통된 것을 잘 모아서 설명해보자.
아주 구체적인 것 보다는 상위 레벨(=추상화된 단계)에서 공통된 속성을 중심으로 설명해보자 

  • 데이터 모델링(Data Modeling)의 개념

    • 데이터의 공통적인 특징을 찾아서 상위 레벨의 표현 기법으로 정리하는 과정 및 관련 기법
    • 데이터의 특징을 단순화하여 표현하는 과정 및 관련 기법

    ⇒ 즉, 현실 세계의 데이터를 (목적과 의도에 따라)추상화하여 물리적 데이터베이스로 변환하는 일련의 과정


  • 데이터 모델링의 일반적인 특징

    1. 추상화(Abstraction): 공통된 속성을 중심으로 상위 레벨에서 
    2. 단순화(Simplificatioin): 복잡하고 디테일한게 아니라 단순하고
    3. 명확성(Clarity): 명확하게
    4. 중복 배제
    5. 유연성
    6. 일관성

    ⇒ 잘 정의된 표기법(문서로 정리한다 === 의사소통이 잘 된다)에 의해 표현


  • 데이터 모델링의 접근 관점
    • 데이터 관점, 프로세스 관점
    • 데이터와 프로세스 관점

(2) 데이터베이스 3단계 스키마(Three Level Schema) 

  • 데이터베이스의 3단계 스키마의 개념

데이터베이스 3단계 스키마란?
ANSI/SPARC이 제안, 데이터베이스의 구조를 3가지 추상화 수준으로 설계하는 방법

⇒ 외부 스키마, 개념 스키마, 내부 스키마 구조로 독립성 확보, 유연성 제공

  • 데이터베이스 3단계 스키마의 구조와 특징
    • 외부 스키마(External Schema)
      • 개별 사용자 관점에서 데이터베이스를 표현
      • 사용자마다 다른 관점으로 데이터베이스를 볼 수 있음
      • 서브 스키마(Sub Schema)라고도 불림
      • 특정 응용에 한정된 논리적 데이터 구조를 정의
    • 개념 스키마(Conceptual Schema)
      • 조직 전체 관점에서의 통합된 데이터베이스 구조
      • 모든 사용자에게 필요한 데이터를 통합, 전체 데이터베이스의 논리적 구조를 정의
      • 데이터베이스 하나에 개념 스키마 하나만 존재
      • 데이터 간의 관계, 제약조건, 접근권한, 보안정책 등을 포함
    • 내부 스키마(Internal Schema)
      • 물리적 저장장치 관점에서 데이터베이스를 표현
      • 실제 데이터가 저장되는 방법을 정의
      • 내부 레코드 형식, 인덱스 유무, 데이터 저장 구조 등을 포함
      • 데이터베이스 하나에 내부 스키마 하나만 존재

  • 데이터베이스 3단계 모델링의 개념

데이터베이스 3단계 모델링의 개념
데이터베이스 모델링을 개념적 모델링, 논리적 모델링, 물리적 모델링의 3단계로 수행하는 방법

  • 데이터베이스 3단계 모델링의 구조와 특징
    • 개념적 모델링 (Conceptual Modeling): ERD(Entity-Relationship Diagram)
      • 업무 중심적이고 포괄적인 수준의 모델링 수행
      • 핵심 엔터티와 그들 간의 관계를 발견하고 엔터티-관계 다이어그램 생성
    • 논리적 모델링(Logical Modeling): 테이블 설계서, 정규화
      • 키, 속성, 관계 등 데이터의 논리적 구조를 정확하게 정의
      • 정규화를 통한 데이터 일관성 확보와 중복 제거 수행 
    • 물리적 모델링(Physical Modeling): 인덱스, 반정규화 (조회 성능 최적화)
      • 실제 데이터베이스에 이식할 수 있도록 물리적 특성을 고려한 설계 
      • 테이블, 컬럼 등의 물리적 저장구조 정의
      • 성능, 저장공간 등 물리적 요소를 고려한 설계 수행



2. 개념적 모델링 

(1) 개념적 모델링의 개념과 특징

  • 개념적 모델링의 특징

    • 현실 세계 추상화: 복잡한 정보를 단순화하여 엔터티, 속성, 관계로 표현
    • DBMS 독립성: (특정 DBMS의 특징을 고려하지 않고) 개념적 수준에서 모델링 수행 

    ⇒ 이해 용이성, 의사소통, 유연성
    ⇒ ERD(Entity-Relationship Diagram)으로 표현 


(2) 개념적 모델링의 세부 단계

  1. 주제영역 도출
    • 사용자 요구사항 분석, 업무 프로세스 파악, 데이터 요구사항 및 제약사항 점검
    • 데이터 모델링의 기초 자료 수립
    • 데이터 요소 목록
    • 예) 회원 정보, 도서 정보, 대출 정보
  2. 핵심 엔티티 도출
    • 엔터티 분류 (기본, 중심, 행위, 사건), 엔터티 목록 작성 (이름, 설명)
    • 엔터티의 속성 식별, 속성 분류 (기본, 설계, 파생, 필수, 선택), 속성 목록 작성 (이름, 설명)
    • 식별자 정의 (후보 식별자 → 주식별자)
    • 독립적인 개체(Entity) 식별: 회원, 도서, 대출
    • 속성 도출: 회원(ID, Name, Tel, Date)
      ※ ID : 주식별자 
  3. 관계 설정
    • 엔터티 간 관계 파악, 관계 유형 결정 (1:1, 1:N, M:N), 관계 정의 및 이름 관계 참여도 (필수, 선택), 순환관계 검토
    • 회원과 대출관계: 1:N(한명이 여러 도서 대출 가능)
      ※  카디널리티(Cardinality): 관계에 참여하는 수
  4. ERD 작성 
    • 개체, 속성, 관계를 ERD로 명세

(3) 식별자의 개념과 특징

식별자(Identifier)란?
하나의 엔터티 내에서 각각의 인스턴스를 유일하게 구분할 수 있는 속성 혹은 속성의 그룹

  • 식별자의 주요 특징
    • 유일성: 엔터티 내의 모든 인스턴스들을 유일하게 구분(식별)할 수 있어야 함
    • 최소성: 식별자를 구성하는 속성의 수는 유일성을 만족하는 최소한의 개수여야 함
    • 불변성:지정된 식별자의 값은 변경되지 않아야 함
    • 존재성:식별자로 지정된 속성은 반드시 값을 가져야 함
  • 식별자의 종류
    • 주식별자
      • 엔터티를 대표하는 유일한 식별자
    • 보조식별자
      • 대표성은 없으나 인스턴스를 구분할 수 있는 식별자
    • 내부식별자 
      • 엔터티 내부에 있는 식별자
    • 외부식별자
      • 다른 엔터티와의 관계를 통해 가져와서 사용하는 식별자 



3. ERD (Entity Relationship Diagram) 

(1) ERD의 개념과 특징

ERD(Entity Relationship Diagram)란? 
데이터베이스의 구조를 개체(Entity), 속성(Attribute), 관계(Relationship)을 중심으로 정의된 형식의 다이어그램으로 표현하는 방법 
⇒ 객체, 속성, 관계를 시각적으로 표현. 개념적 모델링 단계에서 주로 사용
⇒ 복잡한 구조를 시각적으로 표현하여 분석 및 이해 용이, 의사소통 용이 

ERD의 구성요소
개체 (Entity)- 구별 가능한 사물 혹은 개념 - 2개 이상의 인스턴스가 존재, 유일한 식별자로 상호 구분 - 속성과 관계를 가짐
속성 (Attribute)- 개체의 특성을 설명하는 요소 - 업무에 필요한 정보, 최소단위의 정보 - 종류 : 기본 속성, 설계 속성, 유도 속성, 복합 속성, 다중값 속성
관계 (Relationship)- 개체 간 논리적인 연관성 - 관계명, 관계차수, 관계선택여부 등으로 구성 - 1:1 관계, 1:N 관계, M:N 관계, 자기 참조 관계, 병렬관계
  • ERD의 대표적인 종류  

  • ERD를 이용한 모델링 절차 


(2) Peter-Chen 표기법의 특징

  • 엔터티와 속성 

    • 강한 개체
      • 다른 개체의 도움 없이 독립적으로 존재 가능
      • 독립적으로 식별이 가능한 주 식별자 보유
    • 약한 개체
      • 다른(상위, 소유) 개체의 존재여부에 종속적으로
      • 존재, 소유 객체의 식별자를 포함하여 식별 가능
  • 관계

    • 식별관계
      • 부모 개체의 식별자가 자식 개체의 식별자에 포함되어 사용
    • 비식별관계 
      • 부모 개체의 식별자가 자식 개체의 일반 속성으로 사용


(3) IE/Crow’s Foot 표기법의 특징




profile
🚀 내가 보려고 쓰는 기술블로그

0개의 댓글

관련 채용 정보