거인의 코딩일지
[SQLD] 데이터 모델링의 이해 본문
728x90
데이터 모델링의 이해
모델링이란?
- 데이터베이스의 모델링은 현실세계를 단순화 하여 표현하는 기법
모델링의 특징
- 추상화 (Abstraction)
- 현실세계를 일정한 형식으로 표현하는 것
- 즉, 아이디어나 개념을 간략하게 표현하는 과정
- 단순화 (Smiplification)
- 복잡한 현실세계를 정해진 쵸현식으로 단순하고 쉽게 표현
- 명확화 (Clarity)
- 불명확함을 제거하고 명확하게 해석할 수 있도록 기술
즉, 데이터베이스의 모델링은 '현실세계를 추상화, 단순화, 명확화 하기 위해 일정한 쵸기법에 의해 쵸현하는 기법'
모델링의 세가지 관점
- 데이터 관점 (What, Data)
- 데이터 위주의 모델링
- 어떤 데이터들이 업무와 얽혀 있는지, 그리고 그 데이터 간에 어떠한 관계가 있는지에 대하여 모델링하는 방식
- 프로세스 관점 (How, Process)
- 업무가 실제로 처리하는 일은 무엇인지 혹은 앞으로 처리해야 하는 일은 무엇인지 모델링 하는 방식
- 데이터와 프로세스의 상관 관점 (Data VS Process, Interaction)
- 프로세스의 흐름에 따라 데이터가 어떤 영향을 받는지를 모델링 하는 방법
데이터 품질을 보장하기 위해 데이터 모델링시 유의 해야하는 사항
1. 중복
- 같은 데이터가 여러 엔티티에 중복으로 저장되는 현상을 지양
2. 비유연성
- 데이터 모델의 설계에 따라 어플리케이션의 사소한 변경에도 데이터 모델이 수시로 변경 되어야 하는 상황이 있기에 데이터 모델과 프로세스를 분리하여 유연성을 높여야 한다.
3. 비일관성
- 데이터의 중복이 없는 경우에도 비일관성이 존재할 수 있음, 개발자가 다른데이터와의 연광성을 고려하지 않고 일부 데이터만 변경 할수 있기 때문
- 이런 위험을 예방하기 위해 데이터 모델링을 할 때 데이터의 연관관계를 명확하게 정의 해야함
모델링의 세가지 단계
- 개념적 데이터 모델링
- 회사 전체적 데이터 모델링 수행시 행해지며 추사오하 레벨이 가장 높은 모델링
- 이 단계에서는 업무 중심적이고 포괄적인 수준의 모델링을 해야함
- 논리적 데이터 모델링
- 재사용성이 가장 높은 모델링으로 데이터 베이스 모델에 대한 Key, 속성, 관계 등을 모두 고려
- 물리적 데이터 모델링
- 실제 데이터 베이스로 구현할 수 있도록 성능이나 가용성등의 물리적인 성격을 고려하여 모델링
데이터의 독립성
- 3단계 스키마 구조
- 외부 스키마
- 사용자 관점 : Maltiple User's View 단계로 각 사용자가 보는 데이터베이스의 스키마를 정의
- 개념 스키마
- 통합된 간점
- Communitiy View of DB 단계로 모든 사용자가 보든 데이터베이스의 스키마를 통합, 전체 데이터베이스를 나타냄,
- 데이터베이스에 저장되는 데이터들을 표현하고 데이터들 간의 관계를 나타냄
- 통합된 간점
- 내부 스키마
- 물리적인 관점
- Physical Representation 단계로 물리적인 저장구조
- 실질적인 데이터의 저장구조나 컬럼 정의, 인덱스 등이 포함됨
- 물리적인 관점
- 외부 스키마
- 3단계 스키마 구조가 보장하는 독립성
- 논리적 독립성 : 개념스키마가 변경되어도 외부스키마는 영향 X
- 물리적 독립성 : 내부스키마가 변경되어도 외부/ 개념 스키마는 영향 X
728x90
'자격증 > SQLD' 카테고리의 다른 글
[SQLD] 오답정리(데이터 모델과 SQL) (0) | 2024.05.16 |
---|---|
[SQLD] 오답정리(데이터 모델링의 이해) (0) | 2024.05.15 |
[SQLD] 정규화 이론??? (0) | 2024.05.05 |
[SQLD] 성능 데이터 모델링과 정규화 (0) | 2024.05.03 |
[SQLD] 엔티티 (Entity) (0) | 2024.04.09 |