DB/SQL 기초

정규화, 반정규화(비정규화)는 언제 해야할까?

케이(kay) 2022. 9. 7. 14:15
반응형
SMALL

이번 장에서는 정규화 절차(제1-5 정규화)는 구분하지 않았다.

 

 

https://images.app.goo.gl/Gyf8xCe7m4fv7REW8

 

정규화가 필요한 경우

- 데이터 무결성: 임의의 갱신으로부터 보호, 규칙/제약(constraint)

- 엔터티 무결성 : 기본키 = not null

- 도메인 무결성: 성별(M,F) ((정해진 값의 허용범위를 벗어나면 안된다))

- 참조 무결성: 부모 → 자식 ((CONSTRAINT FOREIGN KEY REFERENCES)) << 자식 쪽에서 참조

 

반정규화가 필요한 경우

- 디스크 입출량이 많아서 성능이 저하될 때 → 자주쓰는 데이터를 합계(<>분할) 시켜둠

- 조인으로 인한 성능이 저하 될때

- 컬럼을 계산하여 읽어서 성능이 저하  될 때

반응형
LIST