Необходима ли нормализация базы данных?
нормализация базы данных "что?"
когда я учился на курсе баз данных, нас учили всем уровням нормализации и говорили, что мы всегда должны это делать.
с NoSQL движение, кажется, нормализация больше не является тем, что нужно делать?
4 ответов
Это зависит от того, какие приложения используют базу данных.
для приложений OLTP (в основном ввод данных, со многими вставками, обновлениями и удалениями, а также выбор), нормализованный, как правило, хорошая вещь.
для приложений OLAP и отчетов нормализация не полезна. Запросы SELECT будут выполняться намного быстрее по денормализованной схеме, что может быть достигнуто с помощью представлений.
вы также можете найти полезную информацию в этих очень популярные похожие вопросы:
должен ли я нормализовать свою БД или нет?
каково влияние ресурсов на нормализацию базы данных?
как убедить кого-то нормализовать базу данных?
действительно ли лучше использовать нормализованные таблицы?
NoSQL не серебряная пуля: это просто технология, которая может обеспечить гораздо лучшую приспособленность для определенных обстоятельств. Для данных в форме отношений СУБД в ближайшее время не исчезнут.
да, для транзакционной системы всегда нормализуется, или, скорее всего, у вас будут серьезные головные боли дальше по дороге. Для базы данных, которая будет использоваться для отчетности/OLAP и denormalising схема может быть очень полезной.
эмпирическое правило "присоединение дорого стоит на вычислительной мощности". Я использую при создании базы данных для проекта, большой или маленький. Таблицы, содержащие данные, такие как имена пользователей, адреса и т. д., всегда должны быть нормализованы, поскольку они доступны менее недавно, как вы учили, используя примеры. Сейчас в последние годы веб2.0 данные, приложения, мобильные сервисы и т. д. взяли на самом деле другой тип данных, которые с обилием кода памяти еще ниже, он может сэкономить вычислительную мощность, чтобы держите их всех на одном "столе", не нормализуя его.