논리적 데이터 모델링
정규화
- 중복을 제거하는 과정(쓰기의 편리함을 위해 읽기의 편리함을 희생)
제 1 정규화
- Atomic columns : 각각의 컬럼의 값은 값을 1개만 가져야함
- 하나의 컬럼을 두개의 컬럼으로 만들 수도 있지만, 테이블로 쪼개는 것이 좋음
제 2 정규화
- 부분 종속성이 없어야함 : 기본키 중에 중복키가 없어야함
- 부분적으로 종속되는 칼럼들을 따로 쪼개서 테이블을 만들어야 함
제 3 정규화
- No transitive dependencies : 이행적종속성
- 식별되는 ID와 이에 딸린 칼럼들을 분리해 내야함.
물리적 데이터 모델링
역정규화
- 정규화를 할 수록 Join을 많이 써야하기 때문에 성능이 떨어질 수 있음, 따라서 성능의 향상을 위해 join 사용횟수를 줄이기 위해 표의 구조를 다시 바꿈
- 정해진 규칙이 없음
- 테이블을 합쳐서 join을 줄이거나, 파생변수를 만들거나, 칼럼/행을 기준으로 테이블을 분리
728x90
반응형
'SQL & DB > 관계형 데이터 모델링' 카테고리의 다른 글
[관계형 데이터 모델링] 개념적 데이터 모델링 (0) | 2021.04.12 |
---|