IT

데이터 모델 이해

rimicode 2022. 6. 19. 23:19
728x90
반응형
SMALL

모델링(Modeling)

현실 세계를 추상화, 단순화, 명확화 하기 위해 일정한 표기법에 의해 표기하는 기법

  • 모델: 현실 세계에서 일어날 수 있는 다양한 현상에 대해서 일정한 표기법에 의해 표현해 놓은 모형
  • 모델링: 이런 모델을 만들어 가는 일

 

모델링이 갖춰야 할 조건

  • 현실 세계를 반영
  • 단순화하여 표현
  • 관리하고자 하는 데이터를 모델로 설계

모델링 특징

추상화(Abstraction)

  • 현실 세계를 일정한 형식으로 표현
  • 아이디어나 개념을 간략하게 표현하는 과정

단순화(Simplification)

  • 복잡한 현실 세계를 정해진 표기법으로 단순하고 쉽게 표현

명확화(Clarity)

  • 불분명함을 제거하고 명확하게 해석할 수 있도록 기술

모델링의 세 가지 관점

데이터 관점

  • 어떤 데이터들이 업무와 얽혀있는지
  • 데이터들 간에 어떤 관계가 있는지

프로세스 관점

  • 업무가 실제로 처리하고 있는 일이 무엇인지
  • 앞으로 처리해야 하는 일은 무엇인지

데이터와 프로세스의 상관 관점

  • 프로세스 흐름에 따라 데이터가 어떤 영향을 받는지

모델링의 세 가지 단계

개념적 데이터 모델링(Conceptual Data Modeling)

  • 추상화 레벨이 가장 높은 모델링
  • 업무 중심적이고 포괄적

논리적 데이터 모델링(Logical Data Modeling)

  • 재사용성이 가장 높은 모델링
  • 데이터베이스 모델에 대한 Key, 속성, 관계 등을 모두 표현

물리적 데이터 모델링(Physical Data Modeling)

  • 실제 데이터베이스로 구현할 수 있도록 물리적인 성격을 고려하여 모델을 표현

데이터의 독립성

데이터베이스에 대한 사용자들의 관점과 물리적 방식을 분리

어플리케이션에 영향을 주지 않고 데이터베이스 구조를 변경할 수 있어야 독립성 보장

 

3단계 스키마 구조

외부 스키마(External Schema)

  • 사용자의 관점
  • Multiple User's View 단계

개념 스키마(Conceptual Schema)

  • 통합된 관점
  • Community View of DB 단계

내부 스키마(Internal Schema)

  • 물리적인 관점
  • Physical Representation 단계

 


3단계 스키마 구조가 보장하는 독립성

논리적 독립성

개념 스키마가 변경되어도 외부 스키마는 영향 받지 않는다.

물리적 독립성

내부 스키마가 변경되어도 외부/개념 스키마는 영향받지 않는다.


ERD (Entity Relationship Diagram)

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

ERD 표기방식

Peter Chen

  • 대학교재에서 사용

IDEF1X(Integration Definition for Information Modeling)

  • 실무에서 사용
  • ERWing 에서 사용

IE/Crow's Foot

  • 까마귀발 표기법
  • 가장 많이 사용
  • ERWin, ERStudio 에서 사용
    (ERWin, ERStudio는 ERD 그리는 모델링 툴)

Min-Max/ISO

  • 각 엔티티의 참여도를 상세하게 나타내는 표기법

UML

  • 소프트웨어 공학에서 주로 사용

Case*Meethod/Barker

  • Oracle 에서 사용되는 모델
  • Crow/s Foot 과 비슷

IE/Crow's Foot 표기법

엔티티
0개
1개
2개 이상
식별자 관계
비식별자 관계

 


ERD 작성 순서

  • 엔티티 도출하고 그리기
  • 엔티티 적절하게 배치
  • 엔티티 간의 관계 설정
  • 관계명 기입
  • 관계의 참여도 기입
  • 관계의 필수/선택 여부 기입
728x90
반응형
LIST

'IT' 카테고리의 다른 글

백준 파이썬 10718 We love kriii  (0) 2022.06.21
백준 파이썬 2557 - Hello World  (0) 2022.06.20
컴프리헨션(comprehension)  (0) 2022.06.18
오라클 환경 세팅 방법  (0) 2022.06.17
파이썬 프로그래밍  (0) 2022.06.16