SQL (데이터 모델링, 스키마, DB, ERD)
데이터 모델링 특징 및 목적
- 특징
- 추상화
- 개념을 일정한 형식으로 간략하게 표현
- 단순화
- 정해진 표기법으로 단순하게 표현
- 명확화
- 불분명함을 제거하고 정확하게 기술
- 추상화
- 목적
- DB, 시스템 구축 외 업무 설명, 분석, 형상화 목적
- 분석된 모델로 DB를 생성하여 개발 및 데이터 관리에도 사용
데이터 모델링 유의점 및 관점 및 중요 요소
- 유의점
- 중복(Duplication)
- 엔티티에 같은 데이터가 중복되면 안 됨
- 비유연성(inflexibility)
- 사소한 변경에도 데이터 모델이 수시로 변경되면 안 됨
- 비일관성(inconsistency)
- 데이터와 데이터의 연관 관계에 대해 명확하게 정의
- 중복(Duplication)
- 관점
- 데이터 관점
- 어떤 데이터들이 업무와 얽혀있는지
- 프로세스 관점
- 업무가 실제로 처리하고 있는 일이 무엇인지
- 데이터와 프로세스의 상관 관점
- 프로세스 흐름에 따라 데이터가 어떤 영향을 받는지
- 데이터 관점
- 중요 요소
- Things : 대상
- Attribute : 속성
- Relationships : 관계
모델링의 3가지 단계
- 개념적 데이터 모델링
- 전사적으로 수행, 업무 중심적이고 포관적인 수준의 모델링
- 추상화 레벨이 가장 높음
- 논리적 데이터 모델링
- Key, 속성, 관계들을 표현하는 단계 -> 정규화가 발생하는 단계
- 논리데이터모델을 정규화 하는 것
- 물리적 데이터 모델링
- DB를 구현할 수 있도록 성능, 물리적 요소를 고려하는 단계
스키마
- 테이블이 어떤 구성으로 되어있는지, 무슨 정보를 가지고 있는지에 대한 기본적인
테이블의 구조를 정의한 것
데이터 스키마의 구조
- 외부 스키마
- 각 (여러) 사용자가 보는 스키마 정의
- 개념 스키마
- 모든 여러X 사용자가 보는 데이터를 정의하는 단계
- 내부 스키마
- 물리적인 저장 구조를 나타내는 단계 - 저장 구조, 칼럼, 인덱스 정의
- 물리적인 저장 구조를 나타내는 단계 - 저장 구조, 칼럼, 인덱스 정의
DB
- 논리적 독립성
- 개념 스키마가 변경되어도 외부 스키마는 영향 X
- 개념
- 개념 스키마가 변경되어도 외부 스키마는 영향 X
- 물리적 독립성
- 내부 스키마가 변경되어도 개념/외부 스키마는 영향 X
- 내부
- 내부 스키마가 변경되어도 개념/외부 스키마는 영향 X
ERD (Entity Relationship Diagram)
- ERD는 테이블 간 서로의 상관 관계를 그림으로 표현한 것
- ERD의 구성요소에는 엔티티 | 관계 | 속성이 있음
ERD 작성 순서
1. 엔티티 도출
2. 엔티티 배치
3. 엔티티 관계 설정
4. 관계명 기입
5. 관계 참여도 기입
6. 관계 필수/선택 여부 기입
Best는 좌측 상단에서 하단으로