• 정의

    • 현실 세계를 단순화하여 표현하는 기법
    • 현실 세계에서 필요한 데이터를 저장하는 데이터베이스를 구축하기 위한 분석/설계의 과정
  • 특징

    • 추상화
    • 단순화
    • 명확화
  • 세 가지 관점

    • 데이터 관점
    • 프로세스 관점
    • 데이터와 프로세스의 상관 관점
  • 데이터 품질 보장을 위한 유의사항

    • 중복
    • 비유연성
    • 비일관성
  • 모델링의 세 가지 단계

    • 개념적 데이터 모델링
    • 논리적 데이터 모델링
    • 물리적 데이터 모델링
  • 데이터베이스 스키마

    • RDB에서 데이터가 구조화되는 방식을 정의한 것
    • 구조, 제약조건 등
    • 모델링을 하여서 나온 결과물
  • 데이터의 독립성

    • 스키마의 3단계 구조
      • DB에 대한 사용자들의 관점, DB가 실제로 표현되는 물리적인 방식을 분리하기 위함

      • 사용자는 필요한 데이터만 보고, DBA는 앱에 영향을 주지 않고 DB의 구조를 변경하는 독립성 보장

        • 논리적 독립성
        • 물리적 독립성
      • 외부 스키마

      • 개념 스키마

      • 내부 스키마

  • ERD

    • 시스템에 어떤 엔터티들이 존재하며 어떤 관계가 있는지를 나타내는 다이어그램

    • IF/Crow’s Foot 가장 많이 사용

    • 작성순서

      • 엔티티 도출하고 그림
      • 엔티티 배치
      • 엔티티간 관계 설정
      • 관계명 기입
      • 관계 참여도 기입
      • 관계 필수/선택여부 기입
    • 특징

      • 관계명으로 엔티티 간의 관계를 알 수 있음
      • 1 : 1 관계 차수를 갖는 엔티티들은 관계에 참여하는 각각의 엔티티에 대해 단 하나의 관계만을 가짐
      • 존재에 의한 관계, 행위에 의한 관계를 구분하지 않음
      • 관계차수는 1 : 1, 1 : M, M : N 존재
  • 시스템 분석을 위한 모델링의 기능

    • 시스템이 향후 변화하고자 하는 모습으로 가시화
    • 시스템을 구축하는 과정에서 결정한 것을 문서화
    • 시스템을 구축하는 구조화된 틀 제공
    • 시스템의 구조와 행동을 명세화