TIL - 20250820

juni·2025년 8월 20일

TIL

목록 보기
100/316

0820 SQLD 1장 - 데이터 모델링의 이해


✅ 1. 데이터 모델링이란?

  • 데이터 모델링(Data Modeling)이란 현실 세계에 존재하는 다양한 업무 프로세스와 데이터의 관계를, 사람이 이해하기 쉬운 형태로 추상화하여 정보 시스템으로 구축하기 위한 설계도(Blueprint)를 만드는 과정입니다.

➕ 데이터 모델링의 주요 특징

  1. 추상화 (Abstraction): 현실 세계의 복잡한 개념들을 핵심적인 요소만 간추려 단순하게 표현합니다.
  2. 단순화 (Simplification): 누구나 쉽게 이해할 수 있도록 제한된 표기법과 규칙을 사용합니다.
  3. 명확성 (Clarity): 의미의 해석이 모호하지 않도록 정확하고 명확하게 기술해야 합니다.

✅ 2. 데이터 모델링의 3단계

  • 데이터 모델링은 추상화 수준에 따라 개념적, 논리적, 물리적 3단계로 진행됩니다. 각 단계는 이전 단계를 기반으로 더 구체화됩니다.
단계관점주요 활동특징
개념적
데이터 모델링
업무 중심
전사적 관점
• 핵심 엔터티와 관계 정의
• 업무 요건 분석 및 E-R 다이어그램 작성
• 추상화 수준이 가장 높음
• 특정 DBMS에 비종속적
• 업무 담당자와의 소통에 중점
논리적
데이터 모델링
시스템 중심
정규화 관점
• 모든 엔터티, 속성, 관계 상세 정의
• 식별자 확정 및 정규화 수행
• 재사용성이 높음
• 특정 DBMS에 비종속적
• 데이터의 일관성 및 무결성 확보
물리적
데이터 모델링
성능 중심
DBMS 관점
• 테이블, 컬럼, 데이터 타입 등 정의
• 인덱스, 제약조건 등 물리 객체 설계
• 실제 데이터베이스로 구현 가능
특정 DBMS에 종속적
• 성능, 보안, 가용성 고려

✅ 3. 데이터 모델링의 중요성 및 관점

  • 잘된 데이터 모델링은 시스템 개발의 생산성을 높이고, 유지보수 비용을 절감하며, 데이터의 일관성과 품질을 보장하는 핵심적인 활동입니다.

➕ 데이터 모델링의 3가지 관점

  1. 데이터 관점 (What): 업무에 필요한 데이터의 구조와 규칙을 정적으로 정의합니다. (e.g., 학생, 과목 엔터티의 구조)
  2. 프로세스 관점 (How): 업무의 흐름에 따라 데이터가 어떻게 생성되고 변경되는지를 동적으로 정의합니다. (e.g., 학생이 과목을 '수강신청'하는 프로세스)
  3. 상관 관점 (Interaction): 데이터와 프로세스가 서로 어떻게 영향을 미치는지 분석합니다. (e.g., '수강신청' 프로세스가 '학생'과 '과목' 데이터에 미치는 영향)

✅ 4. ERD (Entity-Relationship Diagram)의 이해

  • ERD는 데이터 모델링의 결과를 시각적으로 표현하는 다이어그램으로, 데이터 모델링의 핵심적인 산출물입니다.

➕ ERD의 3가지 핵심 구성 요소

  1. 엔터티 (Entity): 업무에서 관리해야 할 실체 또는 개념. 사각형(∎)으로 표현합니다. (e.g., 학생, 과목, 교수)
  2. 속성 (Attribute): 엔터티가 가지는 세부적인 정보 항목. 타원(○) 또는 엔터티 내부에 기술합니다. (e.g., 학생의 학번, 이름, 학과)
  3. 관계 (Relationship): 엔터티 간의 의미 있는 연관성. 마름모(◇) 또는 선으로 표현합니다. (e.g., 학생이 과목을 '수강한다')

✅ 5. 좋은 데이터 모델의 요건

  • 좋은 데이터 모델은 아래의 요건들을 만족해야 합니다.

  • 완전성 (Completeness): 업무에 필요한 모든 데이터와 규칙을 빠짐없이 표현해야 합니다.

  • 일관성 (Consistency): 데이터 간의 상충이나 용어의 중복이 없어야 합니다.

  • 업무 규칙 반영 (Business Rules): 데이터 모델은 기업의 고유한 업무 규칙을 명확하게 표현해야 합니다.

  • 확장성 (Scalability): 향후 비즈니스 변화에 유연하게 대응할 수 있는 구조여야 합니다.

  • 단순성 및 가독성 (Simplicity): 누구나 쉽게 이해하고 소통할 수 있도록 단순하게 설계되어야 합니다.


📌 요약

  • 데이터 모델링은 현실 세계의 업무를 데이터베이스로 구현하기 위한 설계 과정이며, 추상화, 단순화, 명확성을 특징으로 합니다.
  • 모델링은 개념적 → 논리적 → 물리적 순서로 구체화되며, 각 단계는 고유한 목적과 관점을 가집니다.
  • ERD는 엔터티, 속성, 관계를 사용하여 데이터 모델을 시각적으로 표현하는 핵심 도구입니다.
  • 좋은 데이터 모델은 시스템의 안정성, 유연성, 유지보수성을 결정하는 매우 중요한 요소입니다.

0개의 댓글