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

ERD - 해시넷
ERD(이알디)란 "Entity Relationship Diagram"의 약자로서, 계체-관계 다이어그램이라고도 하며 말로 되어 있는 요구사항을 분석하여 그림으로 그려내어 그 관계를 도출한 다이어그램을 말한다. 즉, ERD는
wiki.hash.kr
학생이 수강신청을 할 때 , 학생 , 과목 과 수강신청(등록) 을 하는 행위로 나눌 수 있다.
이런 현실 세계를 그림과 같이 모델을 만듦으로 써 모델링이 되었고 모델은 이처럼 현실 세계에서 일어 날 수있는 현상에 대해서 일정한 표기법으로 모델을 만들어 나가는것이다.
모델링의 특징
- 추상화(Abstraction)
- 현실 세계를 일정한 형식으로 표현하는 것이다. 아이디어나 개념을 간략하게 표현하는 과정
- 단순화(Simplification)
- 복잡한 현실 세계를 정해진 표기법으로 단순하고 쉽게 표현하는것이다
- 명확화(Clarity)
- 불분명함을 제거하고 명확하게 해석할 수 있도록 기술하는 것
DB의 모델링은 '현실세계를 추상화,단순화,명학화 하기 위해 일정한 표기법에 의해 표기 하는것이다'
모델링의 3가지 관점
- 데이터 관점
- 데이터 위주의 모델링
- 프로세스 관점
- 프로세스 위주의 모델링 ( 실제로 처리하고 있는 일이 무엇인지에 따라 처리해야 하는 일은 무엇인지 모델링 하는 방법)
- 데이터와 프로세스 상관 관점
- 위 두개의 관계를 위주로 하는 모델링 ( 프로세스의 흐름에 따라 데이터의 영향을 받는지에 따른 모델링)
모델링의 3단계
- 개념적 데이터 모델링(Conceptual)
- 데이터 모델링 수행시 추상화 레벨이 가장 높은 레벨이며 업무 중심적이고 포괄적인 수준의 모델링이 진행된다
- 논리적 데이터 모델링(Logical)
- 재사용성이 가장 높은 모델링으로 DB모델에 대한 key, 속성 , 관계 등을 모두 표현 하는 단계
- 물리적 데이터 모델링(Physical)
- 실제 DB 를 구현할수 있도록 하는 가용성등의 물리적인 성격을 고려하여 모델을 표현하는 단계
데이터의 독립성
3단계 스키마 구조
- 외부 스키마 구조
- 사용자 관점 (View) 단계로 각 사용자가 보는 데이터베이스의 스키마를 정의
- 개념 스키마 구조
- 모든 사용자가 보는 DB의 스키마를 통합하여 전체 DB를 나타내는 것이고 DB에 저장되는 데이터들을 표현하고 데이터들 간의 관계를 나타냄
- 내부 스키마 구조
- 물리적으로 저장되는 구조, 실질적인 데이터의 저장 구조나 컬럼정의 , 인덱스 등이 포함 된다.

위 그림과 같이 스키마 구조가 보장하는 독립성은
- 논리적 독립성 : 개념 스키마가 변경되어도 외부 스키마는 영향 받지 않는다.
- 물리적 독립성 : 내부 스키마가 변경되어도 외부/개념 스키마는 영향 받지 않는다.
단순하게 위 스키마 구조에서는 하위 스키마는 상위 스키마에 영향을 주지 않는다!
'SQL' 카테고리의 다른 글
| SQLD - ERD(엔터티, 인스턴스 , 속성 ...) (0) | 2023.03.06 |
|---|