Data_Modeling

dev_butler·2023년 10월 31일

데이터 세계

  • 현실 세계 -> 개념 세계 = 값 사실 -> 개념적 구조 (추상화 개념적 모델링)
  • 개념 세계 -> 컴퓨터 세계 = 개념적 구조 -> 논리적 구조 (데이터 모델)

현실 세계 구조적 표현

: 데이터베이스 설계
1. 개념적 모델링

  • 현실 세계 -> 추상적 개념, 개체 타입으로 표현
  1. 데이터 모델링
  • 개념적 구조 -> 논리적 개념, 레코드 타입
  1. 데이터 구조화
  • 논리적 구조 -> 물리적 구조

Data Modeling

  • 데이터베이스 설계 과정 일부
    : 개념적인 구조와 논리적인 구조를 거쳐 실제 데이터를 저장할 수 있는 물리적 구조로 변환
  1. 개념적 데이터 모델링
    : 애트리뷰트로 기술된 개체 타입 & 개체 타입 간 관계 이용 ex) E-R Model

  2. 논리적 데이터 모델링

  • field로 기술된 record type, 이들 간 관계 이용 ex)relational data model

Data model

  • 데이터 모델 : D = <S, O, C>
  • S (구조)
    • 데이터 정적 성질
    • 개체 타입, 관계 명시
  • O (연산)
    • 데이터 동적 성질
  • C (제약 조건)
    • 데이터 논리적 제약

Entity Type

  • 개체 : 다른 것과 구별되는 객체 (개체=객체)
  • 개체 타입 : 이름, 애트리뷰트로 정의
    • 개체 집합 : 개체 인스턴스의 집합
  • 애트리뷰트 유형
    1. 단순 & 복합
      (단순 : 더 이상 분해 불가)
    2. 단일 & 다중
      (단일 : 특정 개체에 대해 하나의 값)
    3. 유도 & 저장
      (유도 : 가지고 있는 값에서부터 유도됨)
    4. NULL (NULL값 가짐)

Relationship Type

: 개체 집합들 사이의 대응, 즉 사상(Mapping) 의미

  • 사상 원소 수 : 관계 타입의 원소 수 제약조건
    • 일대일 ex) marriage : bridegroom ↔ bride
    • 일대다 ex) mothership : mother ← children
    • 다대일 ex) faculty : professor → department
    • 다대다 ex) enrollment : student ↔ course

  • 관계 타입의 참여 제약조건
    • 전체 참여 : A-B 관계에서 개체 집합 A의 모든 개체가 A-B 관계에 참여
    • 부분 참여 : A-B 관계에서 개체 집합 A의 일부 개체만 A-B 관계에 참여
  • 존재 종속 : 어떤 개체 b의 존재가 개체 a의 존재에 종속됨

Entity-Relationship Model (E-R Model)

  • 개념적 데이터 모델(현실세계의 개념적 표현)
    • 개체 집합 : 한 개체 타입에 속하는 모든 개체 인스턴스
    • 관계 집합 : 한 관계 타입에 속하는 모든 관계 인스턴스
  • E-R 모델 그래픽 표현

Entity Type & Key Attribute

  • Key attribute : 개체 집합 내에서 개체마다 상이한 값 갖는 애트리뷰트 / 애트리뷰트 집합
    • Key : 개체 타입 내 모든 개체 인스턴스들 유일하게 식별 (동일한 값 갖는 개체 인스턴스는 없다)

Weak Entity Type

  • 약한 개체 타입 : 애트립뷰트 만으로는 키 명세 불가
  • 구별자 : 약한 개체 집합 내에서만 서로 구별할 수 있는 애트리뷰트
  • 식별 관계 타입 : 약한 개체를 강한 개체에 연관시킴

E-R Diagram 표기법

-> example

Logical Data Model

: 개념적 구조를 데이터베이스로 구현하기 위한 중간 단계, 레코드 타입과 관계로 표현

  • 개념적 데이터 모델 : 개체-관계 데이터 모델

Relational Data Model

  • 데이터베이스 : 릴레이션 - 테이블의 집합
  • 릴레이션 스키마 : 개체, 관계성을 릴레이션으로 정의

Data Structure Diagram

  • 구성 요소
    • 사각형 노드 : 레코드 타입
    • 링크 : 레코드 타입 간 일대다 관계
    • 레이블 : 관계 이름
  • 스키마 다이어그램
    • 트리 형태 : 계층 데이터 모델
    • 그래프 형태 : 네트워크 데이터 모델

Network Data Model

  • 허용되는 레코드 타입, 관계성 명세

Hierarchical Data Model

  • 스키마 다이아그램이 tree
  • parent-child 관계

0개의 댓글