13.4Резюме
Реляционная модель важна по двум причинам: во-первых, с ее помощью можно описывать структуры баз данных независимым от СУБД образом, а во-вторых, эта модель лежит в основе значительной части современных СУБД. Критерием правильности и желательности отношений может служить нормализация.
Отношение — это двумерная таблица, в ячейках которой записаны одиночные значения. Все значения в одном столбце принадлежат к одному и тому же типу; каждый столбец имеет уникальное имя; порядок следования столбцов несуществен. Столбцы называются также атрибутами. В отношении не может быть двух одинаковых строк, а порядок следования строк несуществен. Строки называются также кортежами. Термины таблица, файл и отношение являются синонимами; то же самое можно сказать о терминах столбец, поле и атрибут; термины строка, запись и кортеж также синонимичны.
Функциональная зависимость — это связь между атрибутами. Y функционально зависит от X, если значение X определяет значение Y. Детерминантом называется группа из одного или нескольких атрибутов, находящаяся с левой стороны функциональной зависимости. Например, если X определяет Y, то X является детерминантом. Ключ — это группа из одного или нескольких атрибутов, которая однозначно определяет кортеж. Каждое отношение имеет минимум один ключ; поскольку каждая строка уникальна, в самом крайнем случае ключом является совокупность всех атрибутов отношения. Хотя ключ всегда уникален, детерминант функциональной зависимости может таковым и не быть. Являются ли атрибуты ключами и являются ли они функционально зависимыми — это определяется не абстрактным набором правил, а тем смыслом, который вкладывают пользователи в эти атрибуты.
В некоторых отношениях в результате обновления данных возникают нежелательные последствия, называемые аномалиями модификации. Аномалия удаления — это ситуация, когда удаление одной строки из отношения вызывает потерю информации о двух или более фактах. Аномалией вставки называется ситуация, когда реляционная структура вынуждает добавлять информацию одновременно о двух фактах. Аномалии могут быть устранены путем разбиения исходного отношения на два.
Существует много типов аномалий модификации. Отношения можно классифицировать по типам аномалий, которые ими ликвидируются. Типы, на которые подразделяются отношения в рамках этой классификации, называются нормальными формами.
По определению каждое отношение находится в первой нормальной форме. Отношение находится во второй нормальной форме, если каждый из его неключевых атрибутов зависит от всего ключа. Отношение находится в третьей нормальной форме, если оно находится во второй нормальной форме и не имеет транзитивных зависимостей. Отношение находится в нормальной форме Бойса-Кодда, если каждый его детерминант является ключом-кандидатом. Отношение находится в четвертой нормальной форме, если оно находится в нормальной форме Бойса-Кодда и не имеет многозначных зависимостей. Определение пятой нормальной формы не имеет интуитивной интерпретации, и поэтому мы его не приводили.
Отношение находится в доменно-ключевой нормальной форме, если каждое ограничение, накладываемое на отношение, является логическим следствием определения доменов и ключей. Под ограничением здесь понимается любое условие, определяющее возможные статические значения атрибутов, истинность которого может быть проверена. Домены, как они определены нами, имеют физическую и семантическую составляющие. В контексте ДКНФ, однако, под доменом подразумевается только физическое описание.
Неформальная интерпретация ДКНФ заключается в том, что каждое отношение должно иметь только одну тему. Например, в отношении может содержаться информация о профессорах или о студентах, но не о тех и других одновременно.
Нормализация - это процесс анализа отношений. Отношения можно также строить синтетическим путем, рассматривая связи между атрибутами. Если два атрибута функционально определяют друг друга, между ними имеется связь вида «один к одному». Если один из двух атрибутов функционально определяет второй, между этими атрибутами имеется связь «многие к одному». Если ни один из двух атрибутов не определяет другой, между этими атрибутами имеется связь «многие ко многим».
В некоторых случаях нормализация нежелательна. Всякий раз, когда исходная таблица разбивается на две или более новых, возникают ограничения ссылочной целостности. Если расходы на дополнительную обработку двух таблиц И обеспечение ссылочной целостности превышают выгоду от устранения аномалий модификации, нормализация не рекомендуется. Вдобавок в некоторых случаях создание повторяющихся столбцов предпочтительнее обычных способов нормализации, а в других случаях для повышения производительности вводится преднамеренная избыточность
|