Недавно смотрел интересную презентацию человека, который реализовал свой стартап до полноценного проекта. В этом проекте он использовал БД Postgres. Все конечно было интересно, но он сказал одну вещь, которая меня шокировала. Он сказал так: "Нормализация это зло! В некоторых случаях (этот процент небольшой) и при необходимости используйте нормализацию БД." Я никогда еще не делал проекты связанные с запросом данных в БД или вообще работой с БД, но проходил теорию по данному вопросу (в университете). И у меня возник вполне резонный вопрос: действительно ли нормализация БД является не лучшим союзником в реализации своего проекта (программы)?
Он аргументировал. Он начал рассказывать о том, как НФ (нормальные формы) существуют, как к ним придти. И он сказал, что привел свои данные в БД к 5НФ. И программа спокойно работала с данными. Но потом как данных становилось все больше он заметил существенное торможение своей программы. И как он сказал, привел свою БД в 2 НФ и у него все стало работать очень быстро по сравнению с тем что было. И дал еще совет, МАКСИМУМ нужно доводить до 4 НФ, да и то не всегда.
нормализация данных ведет к экономии места - это хорошо,
но так-же ведет и к усложнению запросов джойнами и к увеличению времени обработки запросов, ведь каждый джойн - это вложенный цикл