[SQLD] 데이터 모델링

yunssup·2023년 8월 25일

📖SQL

목록 보기
1/8
post-thumbnail

01. 데이터 모델링의 이해

데이터 모델링이란?

  • 현실 세계를 데이터베이스로 표현하기 위해 추상화

데이터 모델링 특징

  1. 추상화 : 공통적 특징, 간략
  2. 단순화 : 누구나 이해
  3. 명확성 : 한가지 의미

데이터 모델링 단계

  • 개념적 모델링
    • 중요한 부분을 중심으로 모델링
    • 엔터티와 속성 도출, 개념적 ERD를 작성
    • 전사적 관점에서 기업 데이터 모델링
    • 추상화 수준이 가장 높음
    • 업무 측면에서의 모델링
  • 논리적 모델링
    • 개념적 모델링을 논리적 모델링로 변환하는 작업
    • 식별자 도출, 모든 릴레이션 정의
    • 정규화로 모델의 독립성 확보, 재사용성 높임
  • 물리적 모델링
    • 데이터베이스 실제 구축

데이터 모델링 관점

  • 데이터

    비즈니스 프로세스에 사용되는 데이터 (구조 분석, 정적 분석)

  • 프로세스

    비즈니스 프로세스에서 수행하는 작업 (시나리오 분석, 도메인 분석, 정적 분석)

  • 데이터와 프로세스

    프로세스와 데이터 간의 관계 (CRUD)


    데이터 모델링 고려사항

  • 데이터 모델의 독립성

    독립성이 확보된 모델은 고객 업무 변화에 능동적으로 대응

    독립성 확보를 위해서 중복된 데이터 제거 = 정규화

  • 고객 요구사항 표현

  • 데이터 품질 확보

02. 3층 스키마(3-Level Schema)

3층 스키마

  • 사용자, 설계자, 개발자가 데이터베이스를 보는 관점에 따라 기술하고 관계를 정의한 ANSI 표준
  • 데이터 독립성을 확보하기 위한 방법
  • 각 계층을 View라고도 함
  • 독립성
    1. 논리적 독립성 : 개념 스키마가 변경되더라도 외부 스키마가 영향을 받지 않음
    2. 물리적 독립성 : 내부 스키마가 변경되더라도 개념 스키마가 영향을 받지 않음

03. 엔터티(Entity)

엔터티

  • 업무에서 관리해야 하는 데이터 집합, 저장되고 관리되어야 하는 데이터

04. 속성(Attribute)

속성이란

  • 엔터티가 가지는 항목
  • 더이상 분리되지 않는 단위로, 업무에 필요한 데이터 저장
  • 인스턴스의 구성요소

속성의 특징

  • 업무에서 관리되는 정보
  • 일반적으로 하나의 값을 지님
  • 주식별자에게 함수적으로 종속. 즉, 기본키가 변경되면 속성의 값도 변경

속성의 종류

05. 관계(Relationship)

관계

  • 엔터티 간의 관련성, 존재 관계와 행위 관계로 구분

관계의 종류

  • 존재 관계 엔터티 간의 상태를 의미. 고객이 은행에 회원가입을 하면, 관리점이 할당되고, 그 할당된 관리점에서 고객을 관리.
  • 행위 관계 엔터티 간에 어떤 행위가 있는 것으로, 계좌를 사용해서 주문을 발주하는 관계가 만들어짐.

관계 차수

  • 두 개의 엔터티 간에 관계에 참여하는 수

    식별 관계와 비식별 관계

  • 식별 관계

    • 강한 개체는 독립적으로 존재
    • 강한 개체는 다른 엔터티와 관계를 가질 때 다른 엔터티에게 기본키 공유
    • 강한 개체는 식별 관계로 표현
    • 강한 개체의 기본키 값이 변경되면 식별 관계에 있는 엔터티의 값도 변경
    • 예) 고객과 계좌 엔터티에서는 고객이 강한 개체
  • 비식별 관계

    • 강한 개체의 기본키를 다른 엔터티의 기본키가 아닌 일반 칼럼으로 관계를 가지는 것
    • 비식별 관계는 점선으로 표현

06. 엔터티 식별자(Entity Identifier)


0개의 댓글