[Database] 데이터베이스 모델링

이상협·2022년 9월 22일

데이터베이스 모델링

데이터 모델링의 개념

  • 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정
  • 3단계 데이터의 세계

    • 현실 세계: 인간이 감각 기능을 통해 감지할 수 있는 실체로 되어 있는 세계
    • 개념 세계: 현실 세계의 실체를 개념으로 표현한 단계
    • 컴퓨터 세계: 개념 세계를 컴퓨터가 처리할 수 있는 데이터로 변환한 단계
  • 개념적 데이터 모델링(conceptual data modeling): 현실 세계의 실체를 추상적 개념을 통해 개념 세계로 표현하는 과정

  • 개념적 데이터 구조(conceptual data structure): 개념적 데이터 모델링으로 부터 얻은 결과

    • 개체 타입(entity type): 현실 세계의 개체들을 추상화 시킨 것
    • 속성(attribute): 개체 타입에 속하는 개체들의 공통적인 속성
    • 인스턴스(instance): 각 개체의 값
  • 논리적 데이터 모델링(logical data modeling): 개념적 데이터 구조로부터 논리적 개념을 이용하여 논리적 데이터 구조, 즉 데이터 모델로 표현하는 것

  • 물리적 데이터 모델링(physical data modeling): 논리적 데이터 구조를 컴퓨터가 접근할 수 있는 물리적 데이터 구조로 변환 시키는 것

  • 물리적 데이터 구조와 현실 세계가 얼마나 일치하냐에 따라 모델링의 quality가 좌우됨


데이터 모델

  • 데이터베이스 설계(database design)

    • 현실 세계 -> 개념적 데이터 구조 -> 논리적 데이터 구조 -> 물리적 데이터 구조로 변환시키는 모든 과정
  • 개념적 데이터 모델(conceptual data model)

    • 속성들로 기술개체 타입과 이 개체들 간의 관계를 이용하여 현실 세계를 표현하는 방법
  • 논리적 데이터 모델(logical data model)

    • 데이터 필드로 기술된 레코드 타입과 이 레코드 타입들 간의 관계를 이용하여 개념 세계를 표현하는 방법

관계

  • 개체들 사이에 존재하는 연관성이나 연결로서 두 개 이상의 개체 타입들 간의 사상(mapping)을 말함
  • 사상 원소수(mapping cardinality)

E-R 모델

  • 개체-관계 모델(Entity-Relationship model)

  • E-R 다이어그램: E-R 모델을 그래프 방식으로 표현한 것

    • 개체 타입 (직사각형)
    • 관계 (마름모)
    • 속성 (타원)
  • 개체 타입은 연관된 개체 타입들을 링크로 연결하고, 사상 원소수에 따라 레이블을 붙임.

    • 개체 타입은 속성도 가질 수 있음


개체 타입

  • 개체 타입에는 강한 개체 타입약한 개체 타입이 있음

  • 강한 개체 타입: 독자적으로 존재하며 개체 타입 내에서 자신의 속성들을 사용하여 고유하게 개체들을 식별할 수 있는 타입을 의미

  • 약한 개체 타입: 키를 형성하기에 충분한 속성들을 갖지 못한 개체 타입

속성의 여러 가지 유형

  • 단순 속성(simple attribute)

    • 더 이상 다른 속성으로 나눌 수 없는 속성
  • 복합 속성(composite attribute)

    • 두 개 이상의 속성들로 이루어진 속성
  • 다치 속성(multi-valued attribute)

    • 각 개체마다 여러 개의 값을 가질 수 있는 속성
  • 유도된 속성(derived attribute)

    • 다른 속성의 값으로부터 얻어진 속성

약한 개체 타입

  • 어떤 경우에 개체들이 자체적으로 갖고 있는 속성들의 값에 의해서 고유하게 식별이 안 될 때가 있음

  • 자체적으로 키를 보유하지 못한 개체를 약한 개체 타입(weak entity type)이라 함

  • 약한 개체 타입에게 키 속성을 제공하는 개체 타입소유 개체 타입(owner entity type)또는 식별 개체 타입(identifying entity type)이라 함

  • E-R 다이어그램에서 약한 개체 타입은 이중선 직사각형으로 표기

  • 강한 관계는 강한 개체들 사이의 관계이고, 강한 개체 타입과 약한 개체 타입을 연결하는 관계는 약한 관계

참여 제약 조건

  • 참여 제약 조건은 전체 참여부분 참여가 있음

  • 어떤 관계에 객체 타입의 모든 객체들이 참여하면 전체 참여라고 하고, 일부 객체만 참여하면 부분 참여라고 함

  • E-R 다이어그램에서 전체 참여는 이중 실선으로 표시, 약한 개체 타입은 항상 관계에 전체 표시함


논리적 데이터 모델

  • 관계형 데이터 모델(relational data model)
    • 개체와 관계가 모두 테이블로 표현
    • 개체와 관계에 대한 정의만 명세한 것을 릴레이션 스키마(relation schema)

참고

  • 데이터베이스 시스템 개론과 MySQL 실습, 이용주 지음, 도서출판 홍릉, 2022

0개의 댓글