Базы данных

Процесс нормализации


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

К счастью, системы реляционных баз данных располагают встроенными механизмами обеспечения ограничений ссылочной целостности. Ограничение задается на уровне схемы базы данных, и система базы данных обеспечивает его соблюдение.

Процесс нормализации выявляет ограничения функциональных зависимостей, обеспечить соблюдение которых сложно и дорого, а затем заменяет их ограничениями ключа и внешнего ключа. Система базы данных может эффективно обеспечивать соблюдение этих ограничений, поскольку соответствующие алгоритмы встроены в систему, а проверке подлежат только изменения, вносимые в значения ключей. Любой атрибут, не являющийся ключом или внешним ключом, можно легко модифицировать. Однако необходимо тщательно следить за атрибутами, являющимися частью ключей или внешних ключей. Выигрыш от целостности содержимого базы данных существенно выше стоимости реализации ограничений.

После создания реляционной модели ее необходимо проанализировать и модифицировать, чтобы получить окончательную модель приемлемого качества. Общие критерии качества следующие: простой смысл атрибутов и схем; минимизация избыточных значений и присутствия значений null в таблицах; запрещение ложных или лишенных смысла кортежей. Более формальные оценки качества основываются на функциональных зависимостях и нормальных формах. Цель нормализации состоит в том, чтобы представить функциональные зависимости как зависимости ключей и внешних ключей, что позволяет уменьшить избыточность данных и упростить реализацию ограничений функциональных зависимостей.

Функциональная зависимость является ограничением содержимого таблицы, означающим, что некоторое множество атрибутов таблицы функционально определяет другое множество атрибутов. То есть, любые два кортежа, имеющие одинаковые значения первого множества атрибутов, имеют одинаковые значения зависимого множества атрибутов. Правила вывода используются для нахождения всех зависимостей, которые можно вывести из некоторого множества зависимостей. На основании функциональных зависимостей можно определить ключи схемы. Декларация ключа, в свою очередь, определяет функциональную зависимость.

Каждая нормальная форма налагает ограничения на функциональные зависимости. Если реляционная схема содержит нарушение нормальной формы, следует разделить на две схемы. В результате декомпозиции неключевая зависимость преобразуется в ключевую.

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

Комментарии закрыты