Нормальные формы отношений
Процесс проектирования баз данных с использованием метода нормальных форм является итерационным и заключается в последовательном переводе отношений из первой нормальной формы в нормальную форму более высокого порядка по определенным правилам. Каждая следующая нормальная форма ограничивает определенный тип функциональных зависимостей, сохраняет свойства предшествующей нормальной формы и устраняет… Читать ещё >
Нормальные формы отношений (реферат, курсовая, диплом, контрольная)
При наличии определенных зависимостей между атрибутами таблиц и дублированием данных в таблицах выделяют шесть нормальных форм: первая, вторая, третья, усиленная третья (НФБК), четвертая, пятая.
Процесс проектирования баз данных с использованием метода нормальных форм является итерационным и заключается в последовательном переводе отношений из первой нормальной формы в нормальную форму более высокого порядка по определенным правилам. Каждая следующая нормальная форма ограничивает определенный тип функциональных зависимостей, сохраняет свойства предшествующей нормальной формы и устраняет избыточное дублирование. Основная операция, применяемая при переходе отношения из одной нормальной формы в другую — это операция проекции.
Нормальная форма Бойса-Кодда (НФБК) учитывает функциональные зависимости, в которых участвуют все потенциальные ключи отношения, а не только его первичный ключ. Для отношения с единственным потенциальным ключом его ЗНФ и НФБК являются эквивалентными.
Отношение находится в НФБК тогда и только тогда, когда каждый его детерминант является потенциальным ключом Калабухов Е. В. Базы данных, знаний и экспертные системы: лабораторный практикум для студентов. Минск: БГУИР, 2008. С. 22.
Для проверки принадлежности отношения к НФБК необходимо найти все его детерминанты и убедиться в том, что они являются потенциальными ключами. Напомним, что детерминантом является один атрибут или группа атрибутов, от которой полностью функционально зависит другой атрибут.
Различие между 3НФ и НФБК заключается в том, что функциональная зависимость А->В допускается в 3НФ-отношении, если атрибут В является первичным ключом, а атрибут, А не обязательно является потенциальным ключом. Тогда как в НФБК-отношении эта зависимость допускается только тогда, когда атрибут, А является потенциальным ключом. Следовательно, нормальная форма Бойса-Кодда является жесткой версией формы 3НФ, поскольку каждое НФБК-отношение является 3НФ-отношением, но не всякое 3НФ-отношение является НФБК-отношением.
Отношение находится в первой нормальной форме, если все его атрибуты являются простыми. Другими словами, значения в домене каждого атрибута отношения не являются ни списками, ни множествами простых или сложных значений.
Определить понятия атомарности трудно. Значение, атомарное в одном приложении, может быть неатомарным в другом. Можно руководствоваться общим принципом, что значение не атомарно, если в приложении оно используется по частям.
Вторая и третья нормальные формы возникли в результате стремления избежать аномалий обновления данных при работе с БД и избавиться от информационной избыточности в отношениях.
Отношение находится во второй нормальной форме, если оно находится в первой нормальной форме (каждый атрибут является простым) и каждый не ключевой атрибут функционально полно зависит от первичного ключа, причем ключ, как правило, составной.
Вторая нормальная форма применяется к отношениям с составными ключами, т. е. к таким отношениям, первичный ключ которых состоит из двух и более атрибутов. Дело в том, что отношение с первичным ключом на основе единственного атрибута всегда находится, по крайней мере, в 2НФ. Отношение, которое не находится в 2НФ, может страдать от аномалий обновления. Например, предположим, что необходимо изменить арендную плату (Rent) для объекта недвижимости с номером `PG4'. Для этого потребуется обновить две строки отношения Customer Rental. Если значение арендной платы будет обновлено только в одной строке, то в результате база данных будет приведена в противоречивое состояние Информатика для экономистов: учебник для вузов / под ред. Матюшка В. М. М.: Инфра-М, 2009. С. 650.
2НФ — отношение, которое находится в первой нормальной форме и каждый атрибут которого, не входящий в состав первичного ключа, характеризуется полной функциональной зависимостью от этого первичного ключа.
Если имеет место частичная функциональная зависимость, то для ее устранения необходимо использовать операцию проекции различных отношений на два новых следующим образом: построить проекцию без атрибутов, находящихся в частичной функциональной зависимости от составного ключа и построить проекции на части составного первичного ключа и атрибутов, зависящих от этих частей. Перевод таблиц во вторую нормальную форму обычно позволяет устранить явное избыточное дублирование.
Отношение находится в третьей нормальной форме, если оно находится во второй нормальной форме и каждый не ключевой атрибут нетранзитивно зависит от первичного ключа. Транзитивные зависимости порождают избыточное дублирование информации. Для устранения транзитивных зависимостей необходимо с помощью операции проекции преобразовать исходное отношение таким образом, чтобы в получаемом отношении отсутствовала транзитивная зависимость между атрибутами.
На практике построение третьей нормальной формы в большинстве случаев является достаточным и приведенный к ней процесс проектирования баз данных завершается. Если же в отношении имеет место зависимость атрибутов составного ключа от не ключевых атрибутов, то необходимо перейти к усиленной третьей нормальной форме. Отношение находится в НФБК, если оно находится в третьей нормальной форме и в нем отсутствуют зависимости ключей от не ключевых атрибутов.
Кроме метода нормальных форм применяется метод ER-диаграмм. Если метод нормальных форм используется обычно при проектировании отношений небольших БД, то метод «сущность-связь» позволяет проектировать большие БД. Каждая сущность (информационный объект) представляется как отношение, а связи между сущностями позволяют установить связи между таблицами (отношения) и ввести ключевой атрибут в таблицу для установления этих связей.
Четвертая нормальная форма (4НФ). В ходе исследований был выявлен еще один тип зависимости — многозначная зависимость, которая может вызвать проблемы, связанные с избыточностью данных.
В случае многозадачной зависимости, существующей между атрибутами А, В и С некоторого отношения, для каждого значения, А имеется набор значений атрибута B и набор значений атрибута C. Однако входящие в эти наборы значения атрибутов B и С не зависят друг от друга.
4НФ — это отношение в нормальной форме Бойса-Кодда, которое не содержит нетривиальных многозадачных зависимостей.
Отношение находится в 4НФ, если оно находится в НФБК и в нем отсутствуют многозначные зависимости, не являющиеся функциональными.
Тот факт, что отношение может быть восстановлено без потерь соединением некоторых его проекций, известен как зависимость по соединению. Говорят, что отношение находится в 5НФ тогда и только тогда, когда любая зависимость по соединению в R определяется возможными ключами R. Другими словами, каждая проекция R содержит не менее одного возможного ключа и, по крайней мере, один непервичный атрибут.
Во всех рассмотренных до этого момента ситуациях нормализация отношений производилась декомпозицией одного отношения на два.
Иногда нормализовать отношение путем декомпозиции на два отношения без потерь не удается, но просматривается возможность декомпозиции исходного отношения без потерь на большее число отношений, каждое из которых обладает лучшими свойствами. Такое отношение называется термином «n-декомпозитируемое отношение» для некоторого n > 2. Это значит, что для данного отношения возможна декомпозиция без потерь на n проекций, а на меньшее число проекций декомпозиция без потерь невозможна.
Если в процессе естественного соединения декомпозированных отношений в сравнении с первоначальным отношением генерируются ложные кортежи, то такая декомпозиция характеризуется зависимостью соединения.
Пятая нормальная форма (5НФ) — при любой декомпозиции отношения на два других отношения полученные отношения имеют свойство соединения без потерь. Это значит, что полученные отношения можно снова соединить и получить прежнее отношение в исходном виде. Однако бывают случаи, когда требуется декомпозировать отношение на более чем два отношения. В таких (достаточно редких) случаях возникает необходимость учитывать зависимость соединения, которая устраняется с помощью пятой нормальной формы.
Зависимость соединения — это свойство декомпозиции, которое вызывает генерацию ложных строк при обратном соединении декомпозированных отношений с помощью операции естественного соединения.
Таким образом, 5НФ — это отношение без зависимостей соединения. Пятая нормальная форма — это последняя нормальная форма, которую можно получить путем декомпозиции. Ее условия достаточно нетривиальны, и на практике 5NF не используется. Следует отметить, что зависимость соединения является обобщением, как многозначной зависимости, так и функциональной зависимости.