데이터베이스 설계

데이터베이스 설계

Lis Sulmont

Curriculum Manager

데이터베이스 설계란?

  • 데이터의 논리적 저장 방식을 결정
    • 데이터를 어떻게 읽고 업데이트할 것인가?
  • 데이터베이스 모델 사용: 데이터베이스 구조에 대한 고수준 명세
    • 가장 널리 사용: 관계형 모델
    • 기타 옵션: NoSQL 모델, 객체 지향 모델, 네트워크 모델
  • 스키마 사용: 데이터베이스의 청사진
    • 테이블, 필드, 관계, 인덱스, 뷰 정의
    • 관계형 데이터베이스에 데이터 삽입 시 스키마 준수 필요
데이터베이스 설계

데이터 모델링

저장할 데이터에 대한 데이터 모델 생성 과정

1. 개념적 데이터 모델: 엔티티, 관계, 속성 기술

  • 도구: 데이터 구조 다이어그램 (예: ER 다이어그램, UML 다이어그램)

2. 논리적 데이터 모델: 테이블, 컬럼, 관계 정의

  • 도구: 데이터베이스 모델 및 스키마 (예: 관계형 모델, 스타 스키마)

3. 물리적 데이터 모델: 물리적 저장 방식 기술

  • _도구_: 파티션, CPU, 인덱스, 백업 시스템, 테이블스페이스
1 https://en.wikipedia.org/wiki/Data_model
데이터베이스 설계

개념적 - ER 다이어그램

곡 예시의 ER 다이어그램

엔티티, 관계, 속성

논리적 - 스키마

곡 예시의 논리적 스키마

가장 빠른 변환: 엔티티를 테이블로 전환

데이터베이스 설계

기타 데이터베이스 설계 옵션

곡 예시의 잠재적 ER 다이어그램 (다른 예)

테이블 결정

곡 예시의 잠재적 ER 다이어그램 (다른 예)

데이터베이스 설계

관계형 모델을 넘어서

차원 모델링

데이터 웨어하우스 설계를 위한 관계형 모델의 응용

  • OLAP 쿼리에 최적화: 데이터 집계 중심 (OLTP 아님)
  • 스타 스키마 기반 구성
  • 해석 및 확장이 용이한 스키마
데이터베이스 설계

차원 모델링의 구성 요소

곡 예시의 팩트 테이블과 차원 테이블

구성 기준:

  • 무엇을 분석할 것인가?
  • 엔티티는 얼마나 자주 변경되는가?

팩트 테이블

  • 비즈니스 사용 사례에 따라 결정
  • 지표 레코드 저장
  • 정기적으로 변경됨
  • 외래 키로 차원 테이블과 연결

차원 테이블

  • 속성 설명 정보 저장
  • 변경 빈도가 낮음
데이터베이스 설계

연습해 봅시다!

데이터베이스 설계

Preparing Video For Download...