2025-11-03

오늘 배운 것

데이터베이스 모델링 (Database Modeling)

Modeling 기본 개념

  • 모델링(Modeling): 현실 세계의 복잡한 현상을 간단하게 표현하여 이해·분석·예측하기 위한 과정
  • Database Modeling: 현실 데이터를 체계적으로 분석해 DB 구조를 설계하는 일 → 데이터의 논리적·물리적 구조 정의, 저장 효율화무결성 보장

데이터베이스 모델링의 필요성

  • 데이터 무결성 유지: 일관성·정확성 보장
  • 중복 최소화: 저장 공간 절약
  • 효율적 검색 구조 설계
  • 유지보수 용이성 확보

모델링 과정 (전체 흐름)

  1. 요구사항 수집 및 분석
  2. 개념적 모델링 (ERD 작성)
  3. 논리적 모델링 (릴레이션 변환 및 정규화)
  4. 물리적 모델링 (DBMS 구현 구조 설계)

요구사항 수집 및 분석

  • 자료 수집 방법: 문서, 시스템 분석, 워크샵·인터뷰, 설문조사, 프로토타입
  • 분석 목적: DB가 저장해야 할 데이터, 관계, 제약조건을 명확히 정의
  • 산출물
    • 요구사항 명세서
    • 도메인 용어 사전 (공통 개념 정립용)

개념적 데이터 모델링

  • 목표: 업무 요구사항을 개체(Entity), 속성(Attribute), 관계(Relationship)로 표현
  • 산출물: 개념 ERD (Entity Relationship Diagram)

▪ 개체(Entity)

  • 지속적으로 저장해야 할 대상 (사원, 고객, 주문 등)
  • 유형별 분류
    • 유형 / 개념 / 사건
    • 기본 / 중심 / 행위 엔티티

▪ 속성(Attribute)

  • 엔티티의 특성 (회원번호, 이름 등)
  • 종류: 기본 / 설계 / 파생 속성

▪ 키(Key)

  • 엔티티 식별용 속성
    • 슈퍼키 → 후보키 → 기본키 / 대체키 / 인조키

▪ 관계(Relationship)

  • 두 엔티티 간의 연관성
    • 1:1, 1:N, N:M (→ 관계 엔티티로 해소 필요)
    • 관계 필수 여부 정의

논리적 데이터 모델링

  • 개념 ERD → 관계형 데이터 모델로 구체화
  • 엔티티 → 릴레이션, 관계 → 외래키, N:M → 별도 릴레이션
  • 산출물: 논리 ERD (릴레이션 스키마)

▪ 정규화 (Normalization)

데이터 중복 제거 및 무결성 유지 목적

  • 1NF: 컬럼은 원자값만 가짐
  • 2NF: 복합키의 부분 종속 제거
  • 3NF: 이행적 종속 제거 → 주로 3NF까지 수행

장점: 중복 최소화, 무결성 유지

단점: 조인 증가로 인한 접근 복잡도 상승


물리적 데이터 모델링

  • 논리 모델을 DBMS 구현 가능한 형태로 변환
  • 릴레이션 → 테이블, 속성 → 컬럼, 키 → 제약조건(PK, FK, UNIQUE)
  • 성능·무결성·보안 고려

▪ 역정규화 (Denormalization)

  • 조회 성능 개선을 위해 일부 중복 허용
  • 컬럼 역정규화: 잦은 조인 발생 컬럼 추가
  • 테이블 역정규화: 집계 테이블 추가, 테이블 통합

▪ 테이블 분할

  • 성능, 관리 목적에 따라 수평/수직 분할

results matching ""

    No results matching ""