본문 바로가기
SQL

SQLD - 데이터 모델링

by ddahu 2023. 3. 5.

암기 할 겸 끄적 끄적

 

데이터 모델?

  • 모델링이란? 다양한 분야에서 모델링이라는 단어를 사용한다 . 모델링이라고 생각 할때 설계 ? 디자인 ? 형상 ? 등으로 생각 할 수있는데 데이터베이스에서의 모델링도 다른 모델링들이랑 접목해 보면 이해하기 쉽다.
  • 데이터베이스의 모델링은 '현실 세계를 단순화하여 표현하는 기법' 이라고 한다.

예시로 단순한 ERD 다이어그램을 본다면 

 

ERD - 해시넷 (hash.kr)

 

ERD - 해시넷

ERD(이알디)란 "Entity Relationship Diagram"의 약자로서, 계체-관계 다이어그램이라고도 하며 말로 되어 있는 요구사항을 분석하여 그림으로 그려내어 그 관계를 도출한 다이어그램을 말한다. 즉, ERD는

wiki.hash.kr

 

학생이 수강신청을 할 때 ,  학생 , 과목 과 수강신청(등록) 을 하는 행위로 나눌 수 있다.

이런 현실 세계를 그림과 같이 모델을 만듦으로 써 모델링이 되었고 모델은 이처럼 현실 세계에서 일어 날 수있는 현상에 대해서 일정한 표기법으로 모델을 만들어 나가는것이다.

 

모델링의 특징

  1. 추상화(Abstraction)
    1. 현실 세계를 일정한 형식으로 표현하는 것이다. 아이디어나 개념을 간략하게 표현하는 과정
  2. 단순화(Simplification)
    1. 복잡한 현실 세계를 정해진 표기법으로 단순하고 쉽게 표현하는것이다
  3. 명확화(Clarity)
    1. 불분명함을 제거하고 명확하게 해석할 수 있도록 기술하는 것

 

DB의 모델링은 '현실세계를 추상화,단순화,명학화 하기 위해 일정한 표기법에 의해 표기 하는것이다'

 

모델링의 3가지 관점

  1. 데이터 관점
    1. 데이터 위주의 모델링
  2. 프로세스 관점
    1. 프로세스 위주의 모델링 ( 실제로 처리하고 있는 일이 무엇인지에 따라 처리해야 하는 일은 무엇인지 모델링 하는 방법)
  3. 데이터와 프로세스 상관 관점
    1. 위 두개의 관계를 위주로 하는 모델링 ( 프로세스의 흐름에 따라 데이터의 영향을 받는지에 따른 모델링)

 

 

모델링의 3단계

  1. 개념적 데이터 모델링(Conceptual)
    1. 데이터 모델링 수행시 추상화 레벨이 가장 높은 레벨이며 업무 중심적이고 포괄적인 수준의 모델링이 진행된다
  2. 논리적 데이터 모델링(Logical)
    1. 재사용성이 가장 높은 모델링으로 DB모델에 대한 key, 속성 , 관계 등을 모두 표현 하는 단계
  3. 물리적 데이터 모델링(Physical)
    1. 실제  DB 를 구현할수 있도록 하는 가용성등의 물리적인 성격을 고려하여 모델을 표현하는 단계

 

 

 

데이터의 독립성

 

3단계 스키마 구조

  1. 외부 스키마 구조
    1. 사용자 관점 (View) 단계로 각 사용자가 보는 데이터베이스의 스키마를 정의
  2. 개념 스키마 구조
    1. 모든 사용자가 보는 DB의 스키마를 통합하여 전체 DB를 나타내는 것이고 DB에 저장되는 데이터들을 표현하고 데이터들 간의 관계를 나타냄
  3. 내부 스키마 구조
    1. 물리적으로 저장되는 구조, 실질적인 데이터의 저장 구조나 컬럼정의 , 인덱스 등이 포함 된다.

위 그림과 같이 스키마 구조가 보장하는 독립성은

  • 논리적 독립성 :  개념 스키마가 변경되어도 외부 스키마는 영향 받지 않는다.
  • 물리적 독립성 :  내부 스키마가 변경되어도 외부/개념 스키마는 영향 받지 않는다.

단순하게 위 스키마 구조에서는 하위 스키마는 상위 스키마에 영향을 주지 않는다!

'SQL' 카테고리의 다른 글

SQLD - ERD(엔터티, 인스턴스 , 속성 ...)  (0) 2023.03.06