TIL - 20260109

juni·2026년 1월 8일

TIL

목록 보기
233/318

0109 SQLD 학습 (6/10): 1과목 - 데이터 모델링 총정리


✅ 1. 데이터 모델링의 개념과 절차

  • 데이터 모델링: 현실 세계의 업무 프로세스를 추상화하여, 데이터베이스의 구조를 체계적으로 설계하는 과정. "데이터베이스의 설계도"를 만드는 작업.
  • 모델링의 3단계:
    1. 개념적 모델링: 업무의 핵심 데이터와 관계를 추상적으로 정의. (ERD 작성)
    2. 논리적 모델링: 특정 DBMS에 비종속적으로, 모든 엔터티, 속성, 관계, 식별자를 상세하게 정의하고 정규화를 수행.
    3. 물리적 모델링: 특정 DBMS에 맞게 테이블, 컬럼, 데이터 타입, 인덱스 등 물리적 객체를 설계. (성능 고려)

✅ 2. 데이터 모델의 3가지 핵심 요소

  • 데이터 모델은 엔터티(Entity), 속성(Attribute), 관계(Relationship)라는 세 가지 핵심 요소로 구성됩니다.

➕ 2-1. 엔터티 (Entity)

  • 개념: 업무에서 관리해야 할 데이터의 집합. (DB의 테이블)
  • 특징: 식별성, 인스턴스 집합성, 업무 관련성, 영속성, 속성 보유.
  • 분류 (발생 시점별):
    • 기본 엔터티: 독립적으로 생성되는 핵심 데이터. (e.g., 회원, 상품)
    • 중심 엔터티: 기본 엔터티 간의 관계에서 발생하는 행위 데이터. (e.g., 주문, 수강신청)
    • 행위 엔터티: 중심 엔터티의 이력을 관리하는 데이터. (e.g., 주문이력, 로그)

➕ 2-2. 속성 (Attribute)

  • 개념: 엔터티를 구성하는 최소의 데이터 단위. (DB의 컬럼)
  • 분류:
    • 생성 방식: 기본, 설계(인위적 생성), 파생(계산된 값).
    • 구조적 특징: 단일값/다중값, 단순/복합.
      • 다중값 속성복합 속성은 정규화의 주요 대상.
  • 도메인 (Domain): 속성이 가질 수 있는 값의 범위와 규칙. (데이터 무결성 보장)

➕ 2-3. 관계 (Relationship)

  • 개념: 엔터티 간의 논리적 연관성.
  • 표현 요소:
    • 관계 차수 (Cardinality):
      • 1:1 (일대일)
      • 1:N (일대다): 관계형 DB에서 가장 이상적인 형태.
      • M:N (다대다): 직접 표현 불가. 별도의 관계 엔터티를 통해 두 개의 1:N 관계로 반드시 해소해야 함.
    • 관계 선택성 (Optionality):
      • 필수적 관계 (|): 상대 엔터티가 반드시 존재해야 함. (FK가 NOT NULL)
      • 선택적 관계 (O): 상대 엔터티가 없어도 됨. (FK가 NULL 허용)

✅ 3. 식별자 (Identifier)

  • 개념: 엔터티 내의 각 인스턴스(행)를 유일하게 구분하는 속성(들). (DB의 기본 키, PK)
  • 특징: 유일성, 최소성, 불변성, 존재성(NOT NULL).

➕ 식별자의 분류

  • 주 식별자 vs 보조 식별자: 대표 식별자(PK)와 그 외 유일키(Unique Index).
  • 내부 식별자 vs 외부 식별자: 스스로 생성된 식별자(PK)와 관계를 통해 받은 식별자(FK).
  • 본질 식별자 vs 인조 식별자: 업무적 의미가 있는 식별자(주민번호)와 시스템이 생성한 식별자(순번 ID).

➕ 식별 관계 vs 비식별 관계 (중요)

  • 부모 엔터티의 식별자를 자식 엔터티가 어떻게 사용하느냐에 따라 관계가 결정됩니다.
구분식별 관계 (Identifying)비식별 관계 (Non-identifying)
개념부모 PK를 자식의 PK 일부로 사용부모 PK를 자식의 일반 속성(FK)으로 사용
ERD 표기실선점선
의존성강한 의존 (부모 없이 자식 존재 불가)약한 의존 (부모 없이도 자식 존재 가능)
선호도과거에 많이 사용최근 선호 (모델의 유연성, 단순성)

📌 1과목 핵심 요약

  • 데이터 모델링은 현실 세계를 엔터티, 속성, 관계를 사용하여 데이터베이스 설계도로 만드는 과정입니다.
  • 엔터티는 관리할 대상(테이블)이며, 고유한 식별자(PK)를 통해 구분됩니다.
  • 속성은 엔터티의 세부 정보(컬럼)이며, 도메인으로 값의 범위를 제한합니다.
  • 관계는 엔터티 간의 연관성을 정의하며, 차수(1:N 등)선택성(필수/선택)으로 구체화됩니다.
  • M:N 관계는 반드시 별도의 관계 엔터티를 두어 1:N 관계로 해소해야 합니다.
  • 식별 관계비식별 관계의 차이를 이해하는 것은 관계 모델링의 핵심이며, 최근에는 유연한 설계를 위해 비식별 관계를 선호하는 경향이 있습니다.

0개의 댓글