SQLD 공부 (1)

Kang Junhyeok·2025년 3월 1일

SQLD 7일 cut

목록 보기
1/2

📌 데이터 모델의 이해

🔹 모델링(Modeling)이란?

"현실 세계를 단순화하여 표현하는 기법"

✅ 모델링의 3가지 조건

  1. 현실 세계를 반영해야 함
  2. 단순화하여 표현해야 함
  3. 관찰하고자 하는 데이터를 모델로 설계해야 함

🔹 모델링의 3가지 특징

1️⃣ 추상화(Abstraction)

  • 현실 세계를 일정한 형식으로 표현하는 과정
  • 아이디어나 개념을 간략하게 정리

2️⃣ 단순화(Simplification)

  • 복잡한 현실 세계를 정해진 표기법으로 쉽게 표현

3️⃣ 명확화(Clarity)

  • 불분명한 요소를 제거하여 해석이 명확하게 가능하도록 표현

🔹 모델링의 3가지 관점

1️⃣ 데이터 관점 (Data Perspective)

  • 데이터 중심의 모델링
  • 업무에 연관된 데이터와 데이터 간의 관계를 분석

2️⃣ 프로세스 관점 (Process Perspective)

  • 업무 프로세스 중심의 모델링
  • 현재 또는 미래의 업무 처리 방식에 초점

3️⃣ 데이터와 프로세스의 상관 관점 (Interaction Perspective)

  • 데이터와 프로세스의 관계를 분석
  • 프로세스의 흐름에 따라 데이터가 어떻게 변하는지 모델링

🔹 모델링의 3가지 단계

1️⃣ 개념적 데이터 모델링 (Conceptual Data Modeling)

  • 가장 추상화 수준이 높은 모델링 단계
  • 기업(전사) 차원의 데이터를 분석하고, 업무 중심적이고 포괄적인 모델링을 수행
  • 개체(Entity)와 그 관계(Relationship)를 정의하는 단계

2️⃣ 논리적 데이터 모델링 (Logical Data Modeling)

  • 데이터베이스를 설계하기 위한 핵심 모델링 단계
  • 재사용성이 가장 높은 모델링으로,
    • Key(키), 속성(Attribute), 관계(Relationship) 등을 상세하게 정의
  • DBMS에 독립적인 설계가 가능

3️⃣ 물리적 데이터 모델링 (Physical Data Modeling)

  • 실제 데이터베이스로 구현할 수 있도록 성능과 가용성을 고려하는 단계
  • 데이터의 물리적 저장 구조(테이블, 컬럼, 인덱스 등)를 정의
  • DBMS의 특성을 반영하여 최적화 진행

🔹 데이터의 독립성 (Data Independence)

"ANSI-SPARC 아키텍처는 DBMS의 추상적인 설계 표준이다."
총 3단계의 스키마 구조를 갖고 있음

ANSI-SPARC 아키텍처

1️⃣ 외부 스키마 (External Schema)

  • 사용자 관점 (User View)
  • 사용자가 데이터베이스를 보는 관점에 따라 각기 다른 스키마를 정의
  • 여러 개의 외부 스키마가 존재할 수 있음 (Multiple User's View)

2️⃣ 개념 스키마 (Conceptual Schema)

  • 통합된 관점 (Community View of DB)
  • 데이터베이스 전체 구조를 나타내는 스키마
  • 모든 사용자가 공유하는 데이터의 구조 및 관계를 정의

3️⃣ 내부 스키마 (Internal Schema)

  • 물리적인 관점 (Physical Representation)
  • 데이터의 저장 방식, 인덱스, 컬럼 정의 등을 포함
  • 실제 물리적인 저장 구조를 나타냄

🔸 데이터 독립성이 보장하는 2가지 원칙

  1. 논리적 독립성 (Logical Independence)
    • 개념 스키마가 변경되어도 외부 스키마(사용자 관점)는 영향을 받지 않음
  2. 물리적 독립성 (Physical Independence)
    • 내부 스키마(저장 구조)가 변경되어도 외부/개념 스키마는 영향을 받지 않음

🔹 ERD (Entity Relationship Diagram)

"어떤 개체(Entity)들이 존재하고, 그들 간에 어떤 관계(Relationship)가 있는지를 시각적으로 표현한 다이어그램"

ERD의 주요 구성 요소

  • Entity(개체): 데이터를 저장하는 주요 단위 (예: 고객, 주문, 제품)
  • Attribute(속성): 개체가 가지는 정보 (예: 고객 이름, 주문 날짜)
  • Relationship(관계): 개체 간의 연관성 (예: 고객은 주문을 한다)

📝 이 단계에서는 개념을 큰 틀에서 이해하는 것이 중요함!


📖 참고 도서: 《SQL개발자 SQLD 과외노트》 - 정미나, 시대에듀

0개의 댓글