SQLD 자격증 공부하면서 정리한 내용들을 작성한 글입니다.
1. 데이터 모델의 이해
(1) 데이터 독립성
- 데이터 독립성을 이해하기 위해서는 구조, 독립성, 사상(mapping) 3가지를 이해하면 된다.
- 데이터독립성의 반대말은 데이터종속성이다.
(2) 데이터 독립성의 필요성
- 유지보수 비용 절감
- 데이터 중복성 줄이기
- 데이터 복잡도 낮추기
- 요구사항 대응 높이기 위해
(3) 데이터 독립성 확보 시 효과
- 각 View의 독립성을 유지하고 계층별 View에 영향을 주지 않고 변경 가능
- 단계별 Schema에 따라 데이터 정의어(DDL)와 데이터 조작어(DML)가 다름을 제공
(4) 데이터베이스 3단계 구조
- 외부 단계
- 개념적 단계
- 내부적 단계
(5) 데이터 독립성 요소
- 외부 스키마
- 개념 스키마
- 내부 스키마
(6) 두 영역의 데이터 독립성
- 논리적 데이터 독립성
- 개념 스키마
DB에 저장되는 데이터와 사용자 관계 표현
사용자 특성에 맞는 변경 가능, 통합 구조 변경 가능
- 물리적 데이터 독립성
- 내부 스키마
물리적 구조 영향 없이 개념구조 변경 가능
개념구조 영향 없이 물리적인 구조 변경 가능
=> 즉, 논리적인 데이터독립성은 외부의 변경에도 개념스키마가 변하지 않는 특징을 가진다.
(7) 사상(mapping)
- 사상은 상호 독립적인 개념을 연결시켜주는 다리를 뜻한다.
- 외부적/개념적 사상 (논리적 사상)
- 개념적/내부적 사상 (물리적 사상)
(8) 데이터모델링 주요 3가지 개념
- 업무가 관여하는 어떤 것(Things)
- 어떤 것이 가지는 성격(Attributes)
- 업무가 관여하는 어떤 것 간의 관계(Relationships)