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

상준·2023년 9월 16일
0

database

목록 보기
7/24

데이터 모델링(data modeling)

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

2단계 데이터 모델링

  • 개념적 데이터 모델링(conceptual modeling)
    현실 세계의 중요 데이터를 추출하여 개념 세계로 옮김
  • 논리적 데이터 모델링(logical modeling)
    개념 세계의 데이터를 데이터베이스에 저장하는 구조로 표현함

데이터 모델(data model)

데이터 모델링의 결과물표현하는 도구

  • 개념적 데이터 모델: 현실 세계의 사람의 머리로 이해할 수 있도록 개념적 모델링의 결과물인 개념적 구조로 표현하는 도구
    e.g.) 개체-관계 모델(E-R model, Entity-Relationship model)
  • 논리적 데이터 모델: 개념적 구조를 논리적 모델링하여 논리적 구조로 표현하는 도구
    e.g.) 관계 데이터 모델
  • 데이터 모델의 구성
    • 데이터 구조: 데이터를 어떤 모습으로 저장할 것인지를 표현하는 논리적 구조
    • 연산: 실제 표현된 값들을 처리하는 작업
    • 제약조건: 데이터 무결성 유지

개념적 데이터 모델

개체 - 관계 모델(E-R model)

피터 첸(Peter Chen)이 제안한 개념적 데이터 모델
핵심 요소: 개체, 속성, 관계

관계

개체와 개체가 맺고 있는 의미 있는 연관성

유형

  • 관계에 참여하는 개체 타입의 수 기준

    • 이항 관계: 개체 타입 두 개가 맺는 관계
    • 삼항 관계: 개체 타입 세 개가 맺는 관계
    • 순환 관계: 개체 타입 하나가 자기 자신과 맺는 관계
  • 매핑 카디널리티(mapping cardinality) 기준

    • 일대일(1:1) 관계
    • 일대다(1:n) 관계
    • 다대다(n:m) 관계

참여 특성)

  • 필수적 참여(전체 참여)
    • 모든 개체 인스턴스가 관계에 반드시 참여애야 되는 것을 의미
    • E-R 다이어그램에서 이중선으로 표현
  • 선택적 참여(부분 참여)
    • 개체 인스턴스 중 일부만 관계에 참여해도 되는 것을 의미

종속성)

  • 약한 개체(weak entity): 다른 개체의 존재 여부에 의존적인 개체
    • E-R 다이어그램에서 이중 사각형으로 표현하고 약한 개체가 강한 개체와 맺는 관계를 이중 마름모로 표현
  • 강한 개체(strong entity): 다른 개체의 존재 여부를 결정하는 개체
  • 특징
    • 강한 개체와 약한 개체는 일반적으로 일대다의 관계를 가짐, 약한 객체는 강한 개체와의 관계에 필수적으로 참여함
    • 약한 개체는 강한 개체의 키를 포함하여 키를 구성함

개체-관계 다이어 그램(E-R diagram)

개체 - 관계 모델을 이용해 현실 세계를 개념적으로 모델링한 결과물을 그림으로 표현한 것
사각형 - 기본적인 개체를 표현
마름모 - 개체 간의 관계를 표현
타원 - 객체나 관계의 속성을 표현
- 각 요소를 연결
레이블 - 일대일, 일대다, 다대다 관계를 표기

논리적 데이터 모델

E-R 다이어그램으로 표현된 개념적 구조를 데이터베이스에 저장할 형태로 표현한 논리적 구조

  • 관계 데이터 모델
    • 일반적으로 많이 사용되는 논리적 데이터 모델
    • 데이터베이스의 논리적 구조가 2차원 테이블 형태
  • 계층 데이터 모델(hierarchical data model)
    • 데이터베이스의 논리적 구조가 트리(tree) 형태
    • 루트 역할을 하는 개체가 존재하고 사이클이 존재하지 않음
    • 개체 간에 상하 관계가 성립
      • 부모 개체 / 자식 개체
      • 부모와 자식 개체는 일대다(1:n) 관계만 허용됨
    • 두 개체 사이에 하나의 관계만 정의할 수 있음
    • 다대다(n:m) 관계를 직접 표현할 수 있음
    • 개념적 구조를 모델링하기 어려워 구조가 복잡해질 수 있음
    • 데이터의 삽입, 삭제, 수정, 검색이 쉽지 않음
  • 네트워크 데이터 모델(network data model)
    • 데이터베이스의 논리적 구조가 그래프 형태
    • 개체 간에 일대다(1:n) 관계만 허용됨
      • 오너(owner)/ 멤버(member)
    • 두 개체 사이에 여러 관계를 정의할 수 있어 이름으로 구별함
    • 다대다(n:m) 관계를 직접 표현 할 수 없음
    • 구조가 복잡하고 데이터의 삽입, 삭제, 수정, 검색이 쉽지 않음
profile
컴공생 공부

0개의 댓글