SQLD(데이터분석_사전캠프)

사전캠프 SQLD 1주차 - 데이터 모델링, 3층 스키마, ERD

pinehouse13 2025. 4. 30. 14:25
더보기

1. 데이터 모델링

데이터 모델링이란?

  • 데이터베이스 구조와 형식을 정의하고, 현실 세계를 데이터로 추상화하여 표현하는 작업.
  • 데이터를 구조화하고 문서화해 시스템 구축과 데이터 관리를 위한 기반 제작.

데이터 모델링의 목적

  1. 업무 분석:
    • 데이터 요구사항을 정의하고 비즈니스 본질을 분석.
  2. 데이터 관리:
    • 분석 모델을 토대로 데이터베이스를 생성하고 효율적으로 관리.

데이터 모델링의 단계

  1. 개념적 데이터 모델링:
    • 조직이나 사용자 관점에서 데이터를 분석하고, 중요한 요소 중심으로 구성.
  2. 논리적 데이터 모델링:
    • 비즈니스 데이터의 논리적 구조와 규칙을 정의하고 정규화로 데이터 독립성 확보.
  3. 물리적 데이터 모델링:
    • 논리 모델을 실제 데이터베이스로 구현하며, 성능과 보안을 고려한 설계.

데이터 모델의 주요 기능

기능설명
시각화 시스템을 원하는 모습으로 보여주는 역할.
문서화 시스템 구조와 행동을 기록으로 남김.
구체화 목표에 맞춘 세부적인 표현 방법 제공.
구조화된 틀 제공 시스템 설계를 위한 체계적인 틀 제공.
다양한 관점 제공 특정 부분에 집중할 수 있도록 불필요한 세부 사항 숨김.

데이터 모델링의 과정

  1. 추상화:
    • 현실 세계를 간단한 형식으로 압축하고 표현.
  2. 단순화:
    • 복잡한 현실을 약속된 표기법으로 구조화.
  3. 명확화:
    • 애매함을 제거하고 대상을 명확히 정의.

모델링 결과물에 대한 3가지 관점

관점설명
데이터 관점 (What) 업무에서 필요한 데이터를 모델링하고 관련 요소 정의.
프로세스 관점 (How) 업무 수행 방식과 필요한 작업을 분석해 모델링.
데이터와 프로세스 상관 관점 업무 절차가 데이터에 미치는 영향을 분석하며 CRUD(Create, Read, Update, Delete)를 중심으로 모델링.

 

2. 데이터 모델링의 중요성

더보기

데이터 모델링의 중요성 및 유의점

파급효과 (Leverage)

  • 시스템 구축 과정에서 데이터 모델 변경은 대규모 영향을 미칠 수 있는 중요한 요소.
  • 데이터 속성이 변경되면 표준 영향 분석, 응용 변경 등 추가 작업 발생.
  • 데이터를 시스템 전체 관점에서 설계하며 큰 구조는 변하지 않도록 유지 필요.

간결한 표현 (Conciseness)

  • 데이터 모델은 정보 요구 사항을 간결하고 명확하게 표현하는 도구.
  • 설계자의 의도를 정확히 전달하며 데이터 일관성을 유지하도록 지원.

데이터 품질 (Data Quality)

  • 데이터 품질은 기업의 중요한 자산이며 의사 결정에 직접적 영향을 미침.
  • 중복 (Duplication): 같은 정보를 데이터베이스 여러 곳에 저장하지 않도록 설계.
  • 비유연성 (Inflexibility): 변화하는 환경에서도 데이터가 사용 가능하도록 유연성 확보.
  • 비일관성 (Inconsistency): 데이터 간 상호 관계를 명확히 정의해 일관성을 유지.

프로젝트 라이프 사이클에서 데이터 모델링

  • 프로젝트 시작부터 완료까지 거치는 단계.
  • 폭포수 모델(Waterfall)과 애자일 모델(Agile)로 구분.
프로젝트 단계데이터 모델링 방식주요 활동
분석 논리 및 개념 데이터 모델링 프로세스 모델링
설계 물리 데이터 모델링 AP 설계
개발 DB 구축, 변경, 관리 AP 개발
테스트 DB 튜닝 AP 테스트
전환/이행 DB 전환 AP 설치

데이터 모델링의 이해관계자

  • 정보 시스템을 구축하는 모든 사람은 데이터 모델링을 이해하거나 해석 가능해야 함.
  • 개발자는 높은 수준의 데이터 모델링 기술을 필요로 하고, 비전공자도 기본 개념을 숙지해야 함.
  • 올바른 시스템 구축을 위해 원활한 업무 소통 필수.

 

3. 3층 스키마

더보기

데이터 독립성의 필요성

  • 데이터 모델링에서 일체적 구성을 통해 일관된 데이터 수집독립적 데이터 구성을 실현.
  • 과거에는 파일 방식 데이터 구성이 일반적이었지만, 클라이언트-서버 모델로 전환되며 독립성 확보가 중요해짐.

데이터 독립성 확보의 기대 효과

  1. 각 View의 독립성을 유지하며 계층별 변경이 가능.
  2. 단계별 Schema에 따라 DDL과 DML 제공.

데이터베이스의 3층 스키마

  • 외부 스키마(External Schema): 사용자 관점에서 필요한 데이터 부분을 정의하며 나머지는 감춤.
  • 개념 스키마(Conceptual Schema): 데이터 전체 구조와 관계를 설명하며, 물리적 저장 구조는 숨김.
  • 내부 스키마(Internal Schema): 데이터가 물리적으로 저장되는 방법을 표현.

데이터 독립성 (Data Independence)

  • 한 계층의 변경이 다른 계층에 영향을 미치지 않도록 유지하는 능력.
  • 구조 변경이 상위 스키마와 응용 프로그램에 영향을 주지 않음.

☑️ 3층 스키마의 독립성

독립성설명특징
논리적 독립성 - 개념 스키마 변경이 외부 스키마에 영향을 미치지 않음.
- 구조 변경에도 응용 프로그램은 유지.
- 사용자 특성에 맞게 통합 구조로 변경 가능.
물리적 독립성 - 내부 스키마 변경이 개념 스키마에 영향을 미치지 않음.
- 저장 장치 변경에도 응용 프로그램은 유지.
- 물리적 구조와 개념 구조 간 독립성 보장.

데이터 독립성의 예시

  1. 외부 스키마의 요청 처리:
    • 고객 정보(이름, 전화번호 등)만 필요할 경우, 개념 스키마를 통해 필요한 데이터만 제공.
  2. 새로운 속성 추가:
    • 14세 이상 여부를 판단하는 데이터 추가 시, 기존 고객 데이터 접근에 영향 없음.
  3. 파일 구조 변경:
    • 검색 속도를 위해 내부 스키마 변경 시, 개념 스키마와 외부 스키마는 영향 받지 않음.

 

4. 데이터 모델링의 요소와 ERD

더보기

데이터 모델링의 중요 요소

데이터 모델링의 3가지 개념

  1. 엔터티(Entity)
    • 업무가 관여하는 객체. 사물이나 사건 등을 지칭하며, 업무의 중심 요소.
  2. 속성(Attribute)
    • 엔터티가 가진 성격. 키, 몸무게 등과 같은 특징.
  3. 관계(Relationship)
    • 엔터티 간의 연관성. 예: 트레이너와 고객 1:N 관계.

데이터 모델링을 위한 ERD

ERD란?

  • Entity Relationship Diagram의 약자로, 데이터 관계를 나타낸 도표.
  • 1976년 피터 첸이 표준화된 모델로 제안.

ERD 작성법

  1. 엔터티 정의 그림 배치.
  2. 엔터티 관계 설정 관계명 서술.
  3. 관계의 참여도와 필수 여부 기술.

데이터 모델 표기법

  • 주요 표기법: IE/Crow’s Foot, Barker 표기법.
  • Barker 표기법: #(식별자), *(필수 속성), o(선택 속성) 사용.

좋은 데이터 모델의 요소

  1. 완전성 (Completeness)
    • 업무에 필요한 모든 데이터 정의. 예: 학교 모델에 학생과 선생님 정보 포함.
  2. 중복 제재 (Non-Redundancy)
    • 동일한 사실은  번만 기록. 예: 나이와 생년월일  하나만 사용.
  3. 업무 규칙 (Business Rules)
    • 업무 규칙을 데이터 모델에 표현하여 사용자  일관성 유지. 예: 사원 구분별 급여 항목 정의.
  4. 데이터 재사용 (Data Reusability)
    • 데이터를 재사용 가능하도록 설계.
  5. 의사소통 (Communication)
    • 데이터 모델을 의사소통 도구로 활용.
  6. 통합성 (Integration)
    • 데이터 구조를 조직   번만 정의하고 재활용.
  1.