Contents

01_SQLD_제1 절 데이터 모델링의 이해

SQLD를 준비하면서 공부한 내용을 정리.

# SQL


제1 장 데이터 모델링의 이해


제1 절 데이터 모델링의 이해

  1. 모델링의 이해

    • 모델링의 정의

      • 복잡한 “현실세계"를 단순화(추상화)시켜 표현
      • 사물 또는 사건에 관한 양상(Aspect)이나 관점(Perspective)을 명확하게 하는 것
    • 특징 3가지

      • 추상화 - 현실세계를 일정한 형식에 맞추어 표현하는 것
      • 단순화 - 복잡한 현실세계를 약속된 규약에 의해 쉽게 이해할 수 있게 표현하는 것
      • 명확화 - 누구나 이해할 수 있도록 명확하게 표기하는 것
    • 모델링의 3가지 관점

      • 데이터 관점 - 업무 & 데이터, 데이터 & 데이터간의 관계가 무엇인지 표기(What, Data)

      • 프로세스 관점 - 업무가 실제하고 있는 일 또는 무엇을 해야하는지 표기(How, Process)

      • (프로세스&데이터) 상관 관점 - 업무 처리 방법에 따라 데이터가 받는 영향을 표기(Interaction)

  2. 데이터 모델링의 기본개념 이해

    • 데이터 모델링의 정의

      • 업무상 필요한 데이터를 일정한 표기법으로 표현함으로써 필요한 정보를 용이하게 분석할 수 있고, 정리된 데이터로 개발 및 데이터관리를 용이하게 하기 위함

        ∴ 데이터 모델링 자체로서 업무를 설명하고 분석하는 부분에도 매우 중요한 의미가 있음

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

    1. 중요성 (중요한 이유)

      • 파급효과 향상, 간결한 표현, 데이터품질 향상
    2. 유의점

      • 중복 - 데이터 베이스가 여러 장소에 같은 정보를 저장하지 않도록 유의.

      • 비유연성 - 데이터의 정의를 데이터 사용 프로세스와 분리.

      • 비일관성 ( ≒ 모순) - 연관되어 있는 데이터는 같이 관리될 수 있도록 유의.

  4. 데이터 모델링의 3단계

    1. 개념적 데이터 모델 - 추상화 수준이 높고, 업무 중심적이며, 포괄적인 수준의 모델링
    2. 논리적 데이터 모델 - 모델링하고자하는 업무에 대해 Key, 속성, 관계 등을 구현. (높은 재사용)
    3. 물리적 데이터 모델 - 실제 DB에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려해 진행

  5. 프로젝트 생명주기에서 데이터 모델링

    • 이론 : 계획단계 → (분석) 개념적모델링 → (설계) 논리적 모델링 → (구현)물리적 모델링

    • 실제 : 계획단계 → (분석) 개념 + 논리적 모델링 → (설계 & 구현) 물리적 모델링

  6. 데이터 모델링에서 데이터 독립성의 이해

    1. 데이터 독립의 필요성 - 유지보수비용 절감, 데이터복잡도 하락, 중복데이터 감소 등.

    2. DB의 3단계 구조

    3. 데이터 독립성 요소

      1. 외부스키마 - 사용자 개개인이 보는(접근하는) DB를 정의

      2. 개념스키마 - 모든 사용자 관점을 통합한 조직 전체 DB를 정의.

      3. 내부스키마 - 물리적 장치에 데이터가 실제로 저장되는 구조를 정의.

        * 스키마: 데이터베이스에서 자료의 구조, 자료의 표현 방법, 자료 간의 관계를 형식 언어로 정의한 구조

    4. 두 영역의 데이터독립성

      1. 논리적 독립성 - 개념스키마가 변경되어도 외부스키마에는 영향을 미치지 않도록.
      2. 물리적 독립성 - 내부스키마가 변경되어도 외부/개념스키마는 영향을 받지 않도록.

      ∴ 외부 / 개념 / 내부 스키마의 독립성을 강조하지만, 이들이 분리되어 관리된다는 의미는 아니다. 이를 사상(Mapping)이라고 말하며, “상호 독립적인 개념을 연결시켜주는 다리” 정도로 이해하면 된다.

  7. 데이터 모델링의 중요한 세 가지 개념

    1. 업무가 관여하는 어떤 것(Thing)

    2. 어떤 것이 가지는 성격(Attributes)

    3. 업무가 관여하는 어떤 건 간의 관계(Relationships)

  8. 데이터 모델 표기법과 ERD의 이해

    • 데이터 모델 표기법

      1976년 피터첸이 Entity-Releationship model(E-R Model)이라는 표기법을 만듦

      ‘‘엔터티"라는 것을 사각형으로 표현, 관계를 마름모, 속성을 타원형으로 표현

    • ERD(Entity Relationship Diagram)

      • 모델링 작업 순서

        엔터티를 그린다. → 엔터티를 적절하게 배치한다. → 엔터티간의 관계를 설정한다. → 관계명을 기술한다. → 관계의 참여도를 기술한다. → 관계의 필수여부를 기술한다.

  9. 좋은 데이터 모델의 요소

    • 완전성 - 모든 데이터가 데이터 모델에 정의 되어 있어야 한다.

    • 중복배제(정규화) - 하나의 DB 안에 동일한 사실은 반드시 한 번만 기록되어 있어야 한다.

    • 명확한 업무규칙 기술 및 공유

    • 데이터 재사용성 고려 - 데이터가 어플리케이션에 대해 독립적으로 설계되어야만 재사용성↑

    • 의사소통 - 데이터를 분석하는 과정에서 나오는 규칙들에 대한 이해가 표현되어야 좋다.

    • 통합성 - 중복배제(정규화)를 이루기 위해 데이터 모델들은 통합적으로 관리되어야 한다.

*계속