- 데이터 정합석 때문에 중복 데이터의 사용을 최소화해야 함
- 중복이 많을수록 데이터 정합성이 궁극적으로 데이터의 품질은 떨어짐
- 어플리케이션에서 아무리 체크하더라도 한계가 있음. 사람의 실수, 임의 조작, 예외 처리등도 포함
- 하나의 원천 속성에 중복, 추출 속성이 몇 개 존재하는지도 관리하기 쉽지 않음
- 정규형이면 원천 속성 값만 변경시키면 되지만 중복, 추출 속성이 사용되면 원천 속성이 변경될때 모든 중복 데이터의 값을 변경시겨야 함
- 조회 성능에 문제가 없는데도 조인(Join)을 하지 않으려는 이유로 중복 데이터를 사용해서는 안됨
- 부적절한 비정규화는 엔터티의 성격을 불명확하게 만들며 엔터티 간의 관계도 모호하게 만들 수 있음
- 속성이 적은 엔터티에 중복 속성이 몇개 추가되면 엔터티가 마치 다른 엔터티인 것 같아짐
- 모델을 보고 이해히기도 어려워져 커뮤니케이션에 방해가 될 수 있음
- 시간이 지나거나 담당자가 바뀌면 엔터티가 오용될 가능성은 커짐
- 정규화를 완전하게 거치지 않고 비정규형을 채택하면 엔터티의 성격이 더욱 혼재됨
- 데이터 조작(update, insert, delete) 성능의 저하. 중복 데이터를 채택한 모든 속성에 값을 일치시켜야 함
- 한 엔터티에 많은 중복 속성이 있으면 인스턴스의 길이가 늘어남. 한 블록에 존재할 인스턴스가 두 개의 블록에 존재할 수 있고,
- 한 블록에 여러 인스턴스가 존재할 수 없어 조회 결과를 얻는데 상대적으로 많은 블록이 필요해질 수 있음
- 중복 데이터 발생으로 저장 공간을 더 많이 차지하게 됨
요약
데이터 정합성 문제, 데이터 품질 문제, 모델의 가독성 문제, 모델의 확장성 문제, 데이터벳이스 공간 문제, 데이터 생성 성능 문제 등 많은 단점이 존재