SQL & DB/관계형 데이터 모델링

[관계형 데이터 모델링] 논리적 데이터 모델링, 물리적 데이터 모델링(정규화, 역정규화)

YSY^ 2021. 4. 12. 23:30

 논리적 데이터 모델링

정규화

- 중복을 제거하는 과정(쓰기의 편리함을 위해 읽기의 편리함을 희생)

 제 1 정규화

- Atomic columns : 각각의 컬럼의 값은 값을 1개만 가져야함 

- 하나의 컬럼을 두개의 컬럼으로 만들 수도 있지만, 테이블로 쪼개는 것이 좋음

 

제 2 정규화

- 부분 종속성이 없어야함 : 기본키 중에 중복키가 없어야함

- 부분적으로 종속되는 칼럼들을 따로 쪼개서 테이블을 만들어야 함

 

제 3 정규화

- No transitive dependencies : 이행적종속성

- 식별되는 ID와 이에 딸린 칼럼들을 분리해 내야함.

 

물리적 데이터 모델링

역정규화

- 정규화를 할 수록 Join을 많이 써야하기 때문에 성능이 떨어질 수 있음, 따라서 성능의 향상을 위해 join 사용횟수를 줄이기 위해 표의 구조를 다시 바꿈

- 정해진 규칙이 없음

- 테이블을 합쳐서 join을 줄이거나, 파생변수를 만들거나, 칼럼/행을 기준으로 테이블을 분리

 

 

 

 

728x90
반응형