![](https://cv01.studmed.ru/view/f17038b5a82/bg1e.png)
30
Полной декомпозицией таблицы называют такую совокупность
произвольного числа ее проекций, соединение которых полностью совпадает с
содержимым таблицы.
Например, применив операцию соединения к таблицам (табл.6) можно
получить таблицу, приведенную в табл.5. Следовательно, совокупность таблиц
(табл.6) является полной декомпозицией таблицы «Сессия», приведенной в табл.5.
Далее дадим определения нормальных высших форм.
Таблица находится в пятой нормальной форме (5НФ) тогда и только тогда,
когда в каждой ее полной декомпозиции все проекции содержат возможный ключ.
Таблица, не имеющая ни одной полной декомпозиции, также находятся в 5НФ.
Четвертая нормальная форма (4НФ) является частным случаем 5НФ, когда
полная декомпозиция должна быть соединением ровно двух проекций. На практике
непросто подобрать реальную таблицу, которая находилась бы в 4НФ, но не была
бы в 5НФ.
4.4. ПРОЦЕДУРА НОРМАЛИЗАЦИИ
В соответствии с определениями нормальных форм можно дать и другое
определение нормализации: нормализация – это процесс последовательной замены
таблицы ее полными декомпозициями до тех пор, пока все они не будут находиться
в 5НФ. Однако оказывается, что достаточно привести таблицы в НФБК и с большой
гарантией считать, что они находятся в 5НФ (это утверждение нуждается в
проверке, но пока не существует эффективного алгоритма такой проверки).
Рассмотрим процедуру приведения таблиц к НФБК.
Такая процедура основывается на том, что единственными функциональными
зависимостями в любой таблице должны быть зависимости вида А К , где К –
первичный ключ, а А – некоторый атрибут. Принцип «один факт в одном месте»
говорит о том, что не должно существовать в рамках таблицы никаких других
функциональных зависимостей. Цель нормализации и состоит в удалении этих
«других» функциональных зависимостей.
Рассмотрим два возможных случая.
Таблица имеет составной первичный ключ вида, скажем, (К1,К2), и включает
также атрибут А, который функционально зависит от части этого ключа (например,
от К2), но не от полного ключа. В этом случае рекомендуется сформировать другую
таблицу, содержащую атрибуты К2 и А (первичный ключ – К2), и удалить атрибут
А из первоначальной таблицы.
Таблица имеет первичный (возможный) ключ К, атрибут А1, который не
является возможным ключом, но функционально зависит от К, и другой не
ключевой атрибут А2, который функционально зависит от А1. Решение здесь, по
существу, то же самое, что и прежде – формируется другая таблица, содержащая
атрибуты А1 и А2, с первичным ключом А1, а атрибут А2 удаляется из
первоначальной таблицы
Таким образом, повторяя применение двух рассмотренных правил, для
любой заданной таблицы почти во всех реальных практических ситуациях можно