Разница между нормализацией и денормализацией

Разница между нормализацией и денормализацией
Разница между нормализацией и денормализацией

Видео: Разница между нормализацией и денормализацией

Видео: Разница между нормализацией и денормализацией
Видео: Базы данных. 1,2,3 нормальные формы. 2024, Ноябрь
Anonim

Нормализация и Денормализация

Реляционные базы данных состоят из отношений (связанных таблиц). Таблицы состоят из столбцов. Если таблицы две большие (т.е. слишком много столбцов в одной таблице), то могут возникнуть аномалии базы данных. Если таблицы две маленькие (т.е. база данных состоит из множества меньших таблиц), это будет неэффективно для запросов. Нормализация и денормализация - это два процесса, которые используются для оптимизации производительности базы данных. Нормализация сводит к минимуму избыточность, присутствующую в таблицах данных. Денормализация (обратная нормализации) добавляет избыточные данные или группирует данные.

Что такое нормализация?

Нормализация - это процесс, который выполняется для минимизации избыточности, присутствующей в данных в реляционных базах данных. Этот процесс в основном разделит большие таблицы на более мелкие таблицы с меньшим количеством избыточности (так называемые «обычные формы»). Эти меньшие таблицы будут связаны друг с другом через четко определенные отношения. В хорошо нормализованной базе данных любое изменение или модификация данных потребует изменения только одной таблицы. Первая нормальная форма (1NF), вторая нормальная форма (2NF) и третья нормальная форма (3NF) были введены Эдгаром Ф. Коддом. Нормальная форма Бойса-Кодда (BCNF) была введена в 1974 году Коддом и Раймондом Ф. Бойсом. Определены более высокие нормальные формы (4NF, 5NF и 6NF), но они используются редко.

Таблица, соответствующая 1NF, гарантирует, что она действительно представляет отношение (т.е. все атрибуты должны иметь атомарные значения). Чтобы таблица соответствовала 2NF, она должна соответствовать 1NF, и любой атрибут, который не является частью какого-либо ключа-кандидата (т. е. не простые атрибуты), должен полностью зависеть от любого из ключей-кандидатов в таблице. Согласно определению Кодда, таблица находится в 3НФ тогда и только тогда, когда эта таблица находится во второй нормальной форме (2НФ) и каждый атрибут в таблице, не принадлежащий ключу-кандидату, должен напрямую зависеть от каждого ключ-кандидат этой таблицы. BCNF (также известный как 3.5NF) фиксирует некоторые аномалии, которые не рассматриваются в 3NF.

Что такое Денормализация?

Денормализация - это процесс, обратный процессу нормализации. Денормализация работает путем добавления избыточных данных или группировки данных для оптимизации производительности. Несмотря на то, что добавление избыточных данных кажется контрпродуктивным, иногда денормализация является очень важным процессом для преодоления некоторых недостатков программного обеспечения реляционных баз данных, которые могут привести к серьезным потерям производительности при использовании нормализованных баз данных (даже настроенных для более высокой производительности). Это связано с тем, что объединение нескольких отношений (которые являются результатом нормализации) для получения результата запроса иногда может быть медленным в зависимости от фактической физической реализации систем баз данных.

В чем разница между нормализацией и денормализацией?

– Нормализация и денормализация – два совершенно противоположных процесса.

– Нормализация – это процесс разделения больших таблиц на более мелкие, уменьшающий количество избыточных данных, а денормализация – это процесс добавления избыточных данных для оптимизации производительности.

– Проводится нормализация для предотвращения аномалий баз данных.

– Денормализация обычно выполняется для повышения производительности чтения базы данных, но из-за дополнительных ограничений, используемых для денормализации, операции записи (то есть операции вставки, обновления и удаления) могут стать медленнее. Таким образом, денормализованная база данных может предложить худшую производительность записи, чем нормализованная база данных.

– Часто рекомендуется «нормализовать, пока не станет больно, денормализовать, пока не сработает».

Рекомендуемые: