Требуется ли нормализация базы данных? - PullRequest
14 голосов
/ 31 января 2010

Нормализация базы данных все еще "вещь?"

Когда я учился на курсе баз данных, нас учили все уровни нормализации и говорили, что мы всегда должны это делать.

Теперь, со всем движением NoSQL кажется, что нормализация больше не нужна?

Ответы [ 4 ]

12 голосов
/ 31 января 2010

Это зависит от того, какие приложения используют базу данных.

Для приложений OLTP (в основном, для ввода данных, со многими INSERT, UPDATEs и DELETES, а также SELECT) нормализация обычно является хорошей вещью.

Для приложений OLAP и отчетов нормализация не помогает. Запросы SELECT будут выполняться намного быстрее с денормализованной схемой, чего можно достичь с помощью представлений.

Вы также можете найти полезную информацию в этих очень популярных похожих вопросах:

Должен ли я нормализовать свою БД или нет?

С точки зрения баз данных, является ли «Нормализация для корректности, денормализация для производительности» правильной мантрой?

Какое влияние оказывает ресурс на нормализацию базы данных?

Как убедить кого-то нормализовать базу данных?

Действительно ли лучше использовать нормализованные таблицы?

7 голосов
/ 31 января 2010

NoSQL - это не серебряная пуля: это просто технология, которая может обеспечить гораздо лучшее соответствие определенным обстоятельствам. Для реляционных данных СУБД в ближайшее время не исчезнет.

2 голосов
/ 24 марта 2014

Эмпирическое правило «ДВИЖЕНИЯ дорогие по вычислительной мощности». Я использую это при создании базы данных для проекта, большого или маленького. Таблицы, в которых хранятся такие данные, как имена пользователей, адреса и т. Д., Всегда должны быть нормализованы, поскольку к ним обращаются не так давно, как вас учили, используя обучающие примеры. В последние годы данные web2.0, приложения, мобильные сервисы и т. Д. Фактически используют другой тип данных, который при еще меньшем количестве кода памяти позволяет экономить вычислительную мощность, чтобы хранить их все в одной таблице. нормализуя его.

2 голосов
/ 30 октября 2010

да, поскольку транзакционная система всегда нормализуется, или есть вероятность, что в будущем у вас будут большие головные боли.Для базы данных, которая будет использоваться для составления отчетов / денормализации OLAP, схема может быть очень полезна.

...