데이터 모델링

ya·2025년 4월 2일

DataBase와 SQL

목록 보기
9/12
post-thumbnail

📌 데이터 모델 (Data Model)

현실 세계의 데이터를 추상화하여 구조화한 개념으로, 데이터 간의 관계를 정의하는 모델이다.

  • 데이터베이스 시스템에서 사용되는 데이터의 논리적 구조를 설계하는 과정이다.
  • 데이터를 효율적으로 저장하고 관리하기 위해 사용된다.

🛠 데이터 모델링 (Data Modeling)

데이터 모델을 개발하는 과정으로, 현실의 데이터를 추상화하여 데이터베이스 모델로 변환하는 작업이다.

데이터 모델링 과정

  1. 요구사항 수집 및 분석 📝
  2. 설계 🏗️
    • 개념적 모델링: 비즈니스 개념을 개체와 관계로 표현 (후에 DBMS 선택)
    • 논리적 모델링: ERD → RDB 매핑, 속성 정의(도메인 설정), 정규화 등
    • 물리적 모델링: 실제 DB 구현을 위한 상세 설계
  3. 데이터베이스 구현 🚀

데이터베이스 생명주기 (Database Life Cycle)

🔄 데이터베이스의 생성부터 운영까지의 전체 과정:
1. 요구사항 수집 및 분석 📊
2. 설계 ✏️
3. 구현 💾
4. 운영 및 유지보수 🔍
5. 개선 및 최적화 🔄


🔗 ER 모델 (Entity-Relationship Model)

세상의 사물을 개체(Entity)와 개체 간의 관계(Relationship)로 표현하는 모델

  • 개체(Entity): 독립적인 의미를 지닌 유무형의 사물 (속성으로 식별 가능)
  • 관계(Relationship): 개체 간의 연관성

📊 ER 다이어그램 (ERD)

ER 모델을 표준화된 기호를 사용하여 그림으로 표현한 다이어그램

✅ 개체 (Entity) → 📦 직사각형

  • 강한 개체: 독립적으로 존재 가능
  • 약한 개체: 반드시 다른 개체(상위 개체)가 필요함

🔹 속성 (Attribute) → 🏷️ 타원

  • 기본 키(Primary Key): 밑줄 (이름)
  • 약한 개체의 식별자: 점선 밑줄 (⋯이름⋯)
  • 다중값 속성: 이중 타원 ⭕⭕
  • 유도 속성: 점선 타원 ⭕
  • 복합 속성: 큰 타원 아래 작은 타원 연결 🔗

🔗 관계 (Relationship) → 🔷 마름모

  • 개체 간의 연관성을 나타내는 개념
  • 관계 집합: 관계로 연결된 개체들의 집합

관계 차수에 따른 유형

  • 1진 관계: 한 개체가 자기 자신과 관계 🤝
  • 2진 관계: 두 개의 개체 간 관계 🔄
  • 3진 관계: 세 개의 개체 간 관계 🔗

관계 대응수

  • 1:1 (일대일 관계) → 하나의 개체가 다른 하나의 개체에 대응 🏠↔️🏠
  • 1:N (일대다 관계) → 하나의 개체가 여러 개체에 대응 👨‍🏫➡️👨‍🎓👨‍🎓👨‍🎓
  • N:1 (다대일 관계) → 여러 개체가 하나의 개체에 대응 👨‍🎓👨‍🎓👨‍🎓➡️👨‍🏫
  • N:M (다대다 관계) → 여러 개체가 여러 개체에 대응 🔀

🛠 ISA 관계 (역삼각형)

상위 개체의 특성에 따라 하위 개체가 결정되는 관계 (ex: 직원 → 정규직, 계약직)

✅ 참여 제약 조건

  • 전체 참여: 모든 개체가 관계에 참여 (실선 2개) 🔗🔗
  • 부분 참여: 일부 개체만 관계에 참여 (실선 1개) 🔗

📌 역할 (Role)

개체 간의 관계에서 각 개체가 수행하는 역할

🔄 순환적 관계 (Recursive Relationship)

자기 자신과 관계를 가지는 개체 유형


📋 IE 표기법 (Information Engineering)

ER 다이어그램을 더욱 간결하게 표현하는 방법

  • 개체(Entity) → 직사각형 📦
  • 속성(Attribute) → 직사각형 내부에 포함 🏷️
  • 관계(Relationship)
    • 강한 관계 (비식별자 관계): 점선
    • 약한 관계 (식별자 관계): 실선

🔄 매핑 (Mapping)

ER 모델을 실제 데이터베이스로 변환하는 과정

  • 개체 타입 → 테이블
  • 속성 → 컬럼
  • 관계 → 외래 키 (Foreign Key)
  • 1:1 관계 → 한쪽이 외래 키
  • 1:N 관계 → N쪽이 외래 키
  • N:M 관계 → 별도의 중간 테이블 생성

이 문서를 통해 데이터 모델과 데이터 모델링의 핵심 개념을 쉽게 이해하고, ER 다이어그램을 활용하여 데이터 구조를 체계적으로 설계할 수 있을 것이다! 🚀

profile
ya로그

0개의 댓글