데이터베이스의 구조를 변경하는 과정은 기본적으로 Normalization과 Denormalization의 두 가지로 분류됩니다.
다음은 정규화와 비정규화의 중요한 차이점입니다.
Sr. 아니요. | 키 | 정규화 | 비정규화 |
---|---|---|---|
1 | 구현 | 정규화는 데이터베이스에서 중복 데이터를 제거하고 중복되지 않고 일관된 데이터를 데이터베이스에 저장하는 데 사용됩니다. | 비정규화는 여러 테이블 데이터를 하나로 결합하여 빠르게 쿼리할 수 있도록 하는 데 사용됩니다. |
2 | 초점 | 정규화는 주로 사용하지 않는 데이터에서 데이터베이스를 지우고 데이터 중복성과 불일치를 줄이는 데 중점을 둡니다. | 반면 비정규화는 중복성을 도입하여 쿼리를 더 빠르게 실행하는 데 중점을 둡니다. |
3 | 테이블 수 | 정규화 중에는 데이터가 줄어들어 데이터베이스에서 많은 테이블이 삭제되므로 테이블 수가 줄어듭니다. | 반면 비정규화 동안 데이터는 동일한 데이터베이스에 통합되므로 해당 데이터를 저장할 테이블의 수가 증가합니다. |
4 | 메모리 소비 | 정규화는 최적화된 메모리를 사용하므로 성능이 더 빠릅니다. | 반면, 비정규화는 일종의 메모리 낭비를 초래합니다. |
5 | 데이터 무결성 | 정규화는 데이터 무결성을 유지합니다. 즉, 테이블에서 데이터를 추가하거나 삭제해도 테이블 관계에 불일치가 발생하지 않습니다. | 비정규화는 데이터 무결성을 유지하지 않습니다. |
6 | 사용 위치 | 정규화는 일반적으로 삽입/업데이트/삭제 작업 횟수가 수행되고 해당 테이블의 조인 비용이 비싸지 않은 경우에 사용됩니다. | 반면에 비정규화는 조인 비용이 많이 들고 테이블에서 자주 쿼리가 실행되는 경우에 사용됩니다. |