데이터 모델링

코딩하는 꽁지·2023년 11월 6일
0

데이터베이스

목록 보기
13/14
post-thumbnail

사진 출처

모델링?

모델링은 복잡한 현실세계를 추상화하여 일정한 표기법에 의해 단순하게 표현하는 것을 말한다.
정보시스템 구축을 위한 데이터 모델링은 업무를 분석하여, 어떤 데이터가 존재하는지, 필요한 정보는 무엇인지 파악하는, 데이터베이스 구축을 위한 분석과 설계의 과정이라고도 볼 수 있다.

모델링 특징

  • 추상화: 현실세계를 일정한 형식에 맞추어 표현
  • 단순화: 복잡한 현실세계를 약속된 표기법으로 표현하여 쉽게 이해할 수 있도록 단순하게 표기
  • 명확화: 누구나 이해하기 쉽게 대상에 대한 애매모호함을 제거하고 정확하게 현상을 기술

모델링 대상에 대한 세 가지 관점

  • 데이터 관점
    업무가 어떤 데이터와 관련이 있는지, 데이터 간의 관계는 무엇인지에 대해 모델링
  • 프로세스 관점
    실제 하고 있는 업무는 무엇인지, 무엇을 해야 하는지를 모델링
  • 데이터와 프로세스의 상관관계
    업무가 처리하는 일의 방법에 따라 데이터가 어떻게 영향을 받고 있는지를 모델링

데이터 모델링 3단계

여기서 데이터 모델링은 데이터베이스 설계 및 구축을 위한 과정이라고 생각하면 된다.

개념적 데이터 모델링

추상화 수준이 높고, 업무 중심적이며 포괄적 수준의 모델링

논리적 데이터 모델링

(관계형 데이터베이스) 시스템으로 구축하고자 하는 업무에 대해 key, attribute, relationship 등을 정확하게 표현

물리적 데이터 모델링

실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려하여 모델링

데이터 모델링 표기법

E-R(Entity-Relationship) 다이어그램

직사각형이 엔터티, 마름모가 관계, 타원이 속성을 의미한다.

  • Peter Chen 표기법

  • IE/Crow's Foot 표기법

엔터티 (Entity)

객체, 실체
사람, 장소, 물건, 사건, 개념 등의 명사에 해당
업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 어떤 것
예) 학생, 회원, 주문 등

엔터티 특징

  • 반드시 해당 업무에 필요하고 관리하고자 하는 정보여야 함
  • 유일한 식별자에 의해 식별이 가능해야 함
  • 두 개 이상의 영속적으로 존재하는 인스턴스의 집합
  • 엔터티는 업무 프로세스에 의해 이용되어야 함
  • 엔터티는 반드시 속성을 가져야 함 예) '학생' 엔터티는 '학번', '이름', '학과' 등의 속성을 가진다.

속성 (Attribute)

업무에서 필요로 하는 의미상 더이상 분리되지 않는 최소의 데이터 단위
엔터티를 설명하고 인스턴스의 구성요소

도메인

각 속성이 가질 수 있는 값의 범위

관계 (Relationship)

상호연관성 있는 상태
엔터티의 인스턴스 사이의 논리적 연관성
예) '회원' 엔터티와 '주문' 엔터티 사이에는 '주문하다'라는 관계 존재

관계 표기법 구성 요소

  • 관계명: 엔터티가 관계에 참여하는 형태
  • 관계차수: 1:1, 1:N, N:N
  • 관계선택: 필수관계, 선택관계
profile
프로그래밍으로 온 세상을 떠들썩 하게~🪼

0개의 댓글