Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

7. Нормальные формы более высоких порядков

Лекция



Привет, сегодня поговорим про нормальные формы более высоких порядков, обещаю рассказать все что знаю. Для того чтобы лучше понимать что такое нормальные формы более высоких порядков , настоятельно рекомендую прочитать все из категории Базы данных, знаний и хранилища данных. Big data, СУБД и SQL и noSQL.

В предыдущей главе были рассмотрены нормальные формы вплоть до третьей нормальной формы (3НФ). В большинстве случаев этого вполне достаточно, чтобы разрабатывать вполне работоспособные базы данных. В данной главе рассматриваются нормальные формы более высоких порядков , а именно, нормальная форма Бойса-Кодда (НФБК), четвертая нормальная форма (4НФ), пятая нормальная форма (5НФ).

НФБК (Нормальная Форма Бойса-Кодда)

При приведении отношений при помощи алгоритма нормализации к отношениям в 3НФ неявно предполагалось, что все отношения содержат один потенциальный ключ. Это не всегда верно. Рассмотрим следующий пример отношения, содержащего два ключа.

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

Номер поставщика
PNUM
Наименование поставщика
PNAME
Номер детали
DNUM
Поставляемое количество
VOLUME
1 Фирма 1 1 100
1 Фирма 1 2 200
1 Фирма 1 3 300
2 Фирма 2 1 150
2 Фирма 2 2 250
3 Фирма 3 1 1000

Таблица 1 Отношение "Поставки"

Данное отношение содержит два потенциальных ключа - {PNUMDNUM} и {PNAMEDNUM}. Видно, что данные хранятся в отношении с избыточностью - при изменении наименования поставщика, это наименование нужно изменить во всех кортежах, где оно встречается. Можно ли эту аномалию устранить при помощи алгоритма нормализации, описанного в предыдущей главе? Для этого нужно выявить имеющиеся функциональные зависимости (как обычно, курсивом выделены ключевые атрибуты):

PNUM 7. Нормальные формы более высоких порядков PNAME - наименование поставщика зависит от номера поставщика.

PNAME 7. Нормальные формы более высоких порядков PNUM - номер поставщика зависит от наименования поставщика.

{PNUMDNUM} 7. Нормальные формы более высоких порядков VOLUME - поставляемое количество зависит от первого ключа отношения.

{PNUMDNUM} 7. Нормальные формы более высоких порядков PNAME - наименование поставщика зависит от первого ключа отношения.

{PNAMEDNUM} 7. Нормальные формы более высоких порядков VOLUME - поставляемое количество зависит от второго ключа отношения.

{PNAMEDNUM} 7. Нормальные формы более высоких порядков PNUM - номер поставщика зависит от второго ключа отношения.

Данное отношение не содержит неключевых атрибутов, зависящих от части сложного ключа (см. определение 2НФ). Действительно, от части сложного ключа зависят атрибуты PNAME и PNUM, но они сами являются ключевыми. Таким образом, отношение находится в 2НФ.

Кроме того, отношение не содержит зависимых друг от друга неключевых атрибутов, т.к. неключевой атрибут всего один -VOLUME (см. определение 3НФ). Таким образом, показано, что отношение "Поставки" находится в 3НФ.

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

Номер поставщика
PNUM
Наименование поставщика
PNAME
1Фирма 1
2Фирма 2
3Фирма 3

Таблица 2 Отношение "Поставщики"

Номер поставщика
PNUM
Номер детали
DNUM
Поставляемое количество
VOLUME
1 1 100
1 2 200
1 3 300
2 1 150
2 2 250
3 1 1000

Таблица 3 Отношение "Поставки-2"

Определение 1. Отношение 7. Нормальные формы более высоких порядков находится в нормальной форме Бойса-Кодда (НФБК) тогда и только тогда, когдадетерминанты всех функциональных зависимостей являются потенциальными ключами.

Замечание. Если отношение находится в НФБК, то оно автоматически находится и в 3НФ. Действительно, это сразу следует из определения 3НФ.

Отношение "Поставки" не находится в НФБК, т.к. имеются зависимости (PNUM 7. Нормальные формы более высоких порядков PNAME и PNAME 7. Нормальные формы более высоких порядков PNUM), детерминанты которых не являются потенциальными ключами.

Для того чтобы устранить зависимость от детерминантов, не являющихся потенциальными ключами, необходимо провести декомпозицию, вынося эти детерминанты и зависимые от них части в отдельное отношение. Отношения "Поставщики" и "Поставки-2", полученные в результате декомпозиции находятся в НФБК.

Замечание. Приведенная декомпозиция отношения "Поставки" на отношения "Поставщики" и "Поставки-2" не является единственно возможной. Альтернативной декомпозицией является декомпозиция на следующие отношения:

Номер поставщика
PNUM
Наименование поставщика
PNAME
1Фирма 1
2Фирма 2
3Фирма 3

Таблица 4 Отношение "Поставщики"

Наименование поставщика
PNAME
Номер детали
DNUM
Поставляемое количество
VOLUME
Фирма 1 1 100
Фирма 1 2 200
Фирма 1 3 300
Фирма 2 1 150
Фирма 2 2 250
Фирма 3 1 1000

Таблица 5 Отношение "Поставки-3"

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

На самом деле никакого противоречия тут нет. В отношении "Поставки-3" атрибут "Наименование поставщика" (PNAME) является внешним ключом, служащим для связи с отношением "Поставщики". Поэтому, при изменении наименования поставщика, это изменение производится в отношении "Поставщики" и каскадно (см. стратегии поддержания ссылочной целостности в гл. 3) распространяется на отношение "Поставки-3" совершенно так, как изменение номера поставщика каскадно распространяется на отношение "Поставки-2". Поэтому, формально обе декомпозиции совершенно равноправны. В реальной работе разработчик выберет, конечно, первую декомпозицию, но тут важно подчеркнуть, что его выбор основан совсем на других соображениях, не имеющих отношения к формальной теории нормальных форм.

Замечание. Отношение "Поставки-2", полученное в результате декомпозиции имеет всего один потенциальный ключ. Поэтому, для анализа отношения "Поставки-2" не требуется привлекать определение НФБК, достаточно определения 3НФ. Хотя отношение "Поставщики" имеет два потенциальных ключа, но, т.к. других атрибутов в нем нет, оно уже так просто устроено, что упростить его дальше нельзя. Возникает вопрос, имеются ли нетривиальные примеры отношений в НФБК, не находящиеся в 3НФ и не такие простые, как отношение "Поставщики"?

Пример 2. Предположим, что нам по-прежнему необходимо учитывать поставки, но каждый акт поставки должен иметь некоторый уникальный номер (назовем его "сквозной номер поставки"). Отношение может иметь следующий вид:

Номер поставщика
PNUM
Номер детали
DNUM
Поставляемое количество
VOLUME
Сквозной номер поставки

NN
1 1 100 1
1 2 200 2
1 3 300 3
2 1 150 4
2 2 250 5
3 1 1000 6

Таблица 6 Отношение "Поставки-с-номером"

Одним потенциальным ключом данного отношения является, как и раньше, пара атрибутов {PNUMDNUM}. Другим ключом, в силу уникальности сквозного номера, является атрибут NN. В данном отношении имеются следующие функциональные зависимости:

Зависимость атрибутов от первого ключа отношения:

{PNUMDNUM} 7. Нормальные формы более высоких порядков VOLUME,

{PNUMDNUM} 7. Нормальные формы более высоких порядков NN,

Зависимость атрибутов от второго ключа отношения:

NN 7. Нормальные формы более высоких порядков PNUM,

NN 7. Нормальные формы более высоких порядков DNUM,

NN 7. Нормальные формы более высоких порядков VOLUME,

Зависимости, являющиеся следствием зависимостей от ключей отношения:

{PNUMDNUM} 7. Нормальные формы более высоких порядков {VOLUME, NN},

NN 7. Нормальные формы более высоких порядков {PNUMDNUM},

NN 7. Нормальные формы более высоких порядков {PNUM, VOLUME},

NN 7. Нормальные формы более высоких порядков {DNUM, VOLUME},

NN 7. Нормальные формы более высоких порядков {PNUMDNUM, VOLUME}.

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

4НФ (Четвертая Нормальная Форма)

Рассмотрим следующий пример. Пусть требуется учитывать данные об абитуриентах, поступающих в ВУЗ. При анализе предметной области были выделены следующие требования:

  • Каждый абитуриент имеет право сдавать экзамены на несколько факультетов одновременно.
  • Каждый факультет имеет свой список сдаваемых предметов.
  • Один и тот же предмет может сдаваться на нескольких факультетах.
  • Абитуриент обязан сдавать все предметы, указанные для факультета, на который он поступает, несмотря на то, что он, может быть, уже сдавал такие же предметы на другом факультете.

Предположим, что нам требуется хранить данные о том, какие предметы должен сдавать каждый абитуриент. Попытаемся хранить данные в одном отношении "Абитуриенты-Факультеты-Предметы":

АбитуриентФакультетПредмет
Иванов Математический Математика
Иванов Математический Информатика
Иванов Физический Математика
Иванов Физический Физика
Петров Математический Математика
Петров Математический Информатика

Таблица 7 Отношение "Абитуриенты-Факультеты-Предметы"

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

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

Номер
Абитуриента
Номер
Факультета
Номер
Предмета
1 1 1
1 1 2
1 2 1
1 2 3
2 1 1
2 1 2

Таблица 8 Модифицированное отношение "Абитуриенты-Факультеты-Предметы"

Номер
Абитуриента
Абитуриент
1 Иванов
2 Петров

Таблица 9 Отношение "Абитуриенты"

Номер
Факультета
Факультет
1 Математический
2 Физический

Таблица 10 Отношение "Факультеты"

Номер
Предмета
Предмет
1 Математика
2 Информатика
3 Физика

Таблица 11 Отношение "Предметы"

Теперь каждое наименование встречается только в одном месте.

И все-таки как в исходном, так и в модифицированном отношении имеются аномалии обновления, возникающие при попытке вставить или удалить кортежи.

Аномалия вставки. Об этом говорит сайт https://intellect.icu . При попытке добавить в отношение "Абитуриенты-Факультеты-Предметы" новый кортеж, например (Сидоров, Математический, Математика), мы обязаны добавить также и кортеж (Сидоров, Математический, Информатика), т.к. все абитуриенты математического факультета обязаны иметь один и тот же список сдаваемых предметов. Соответственно, при попытке вставить в модифицированное отношении кортеж (3, 1, 1), мы обязаны вставить в него также и кортеж (3, 1, 2).

Аномалия удаления. При попытке удалить кортеж (Иванов, Математический, Математика), мы обязаны удалить также и кортеж (Иванов, Математический, Информатика) по той же самой причине.

Таким образом, вставка и удаление кортежей не может быть выполнена независимо от других кортежей отношения.

Кроме того, если мы удалим кортеж (Иванов, Физический, Математика), а вместе с ним и кортеж (Иванов, Физический, Физика), то будет потеряна информация о предметах, которые должны сдаваться на физическом факультете.

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

Определение 2. Пусть 7. Нормальные формы более высоких порядков - отношение, и 7. Нормальные формы более высоких порядков7. Нормальные формы более высоких порядков7. Нормальные формы более высоких порядков - некоторые из его атрибутов (или непересекающиеся множества атрибутов).

Тогда атрибуты (множества атрибутов) 7. Нормальные формы более высоких порядков и 7. Нормальные формы более высоких порядков многозначно зависят от 7. Нормальные формы более высоких порядков (обозначается 7. Нормальные формы более высоких порядков), тогда и только тогда, когда из того, что в отношении 7. Нормальные формы более высоких порядков содержатся кортежи 7. Нормальные формы более высоких порядков и 7. Нормальные формы более высоких порядков следует, что в отношении 7. Нормальные формы более высоких порядковсодержится также и кортеж к7. Нормальные формы более высоких порядков.

Замечание. Меняя местами кортежи 7. Нормальные формы более высоких порядков и 7. Нормальные формы более высоких порядков в определении многозначной зависимости, получим, что в отношении 7. Нормальные формы более высоких порядковдолжен содержаться также и кортеж 7. Нормальные формы более высоких порядков. Таким образом, атрибуты 7. Нормальные формы более высоких порядков и 7. Нормальные формы более высоких порядков, многозначно зависящие от 7. Нормальные формы более высоких порядков, ведут себя "симметрично" по отношению к атрибуту 7. Нормальные формы более высоких порядков.

В отношении "Абитуриенты-Факультеты-Предметы" имеется многозначная зависимость Факультет7. Нормальные формы более высоких порядковАбитуриент|Предмет.

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

Замечание. Если в отношении 7. Нормальные формы более высоких порядков имеется не менее трех атрибутов 7. Нормальные формы более высоких порядков7. Нормальные формы более высоких порядков7. Нормальные формы более высоких порядков и есть функциональная зависимость 7. Нормальные формы более высоких порядков, то есть и многозначная зависимость 7. Нормальные формы более высоких порядков.

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

Таким образом, понятие многозначной зависимости является обобщением понятия функциональной зависимости.

Определение 3. Многозначная зависимость 7. Нормальные формы более высоких порядков называется нетривиальной многозначной зависимостью, если не существует функциональных зависимостей 7. Нормальные формы более высоких порядков и 7. Нормальные формы более высоких порядков.

В отношении "Абитуриенты-Факультеты-Предметы" имеется именно нетривиальная многозначная зависимость Факультет7. Нормальные формы более высоких порядковАбитуриент|Предмет. В силу нетривиальности этой зависимости мы не можем воспользоваться теоремой Хеза для декомпозиции отношения. Однако Фейджином Р. [52] доказана следующая теорема:

Теорема (Фейджина). Пусть 7. Нормальные формы более высоких порядков7. Нормальные формы более высоких порядков7. Нормальные формы более высоких порядков - непересекающиеся множества атрибутов отношения7. Нормальные формы более высоких порядков.

Декомпозиция отношения 7. Нормальные формы более высоких порядков на проекции 7. Нормальные формы более высоких порядков и 7. Нормальные формы более высоких порядков будет декомпозицией без потерь тогда и только тогда, когда имеется многозначная зависимость 7. Нормальные формы более высоких порядков.

Замечание. Если зависимость 7. Нормальные формы более высоких порядков является тривиальной, т.е. существует одна из функциональных зависимостей 7. Нормальные формы более высоких порядков или 7. Нормальные формы более высоких порядков, то получаем теорему Хеза.

Доказательство теоремы.

Необходимость. Пусть декомпозиция отношения 7. Нормальные формы более высоких порядков на проекции 7. Нормальные формы более высоких порядков и 7. Нормальные формы более высоких порядков является декомпозицией без потерь. Докажем что 7. Нормальные формы более высоких порядков.

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

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

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

Включение 7. Нормальные формы более высоких порядков доказывается как в теореме Хеза. Такое включение выполняется всегда для любой декомпозиции отношения 7. Нормальные формы более высоких порядков.

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

Определение 4. Отношение 7. Нормальные формы более высоких порядков находится в четвертой нормальной форме (4НФ) тогда и только тогда, когда отношение находится в НФБК и не содержит нетривиальных многозначных зависимостей.

Отношение "Абитуриенты-Факультеты-Предметы" находится в НФБК, но не в 4НФ. Согласно теореме Фейджина, это отношение можно без потерь декомпозировать на отношения:

ФакультетАбитуриент
Математический Иванов
Физический Иванов
Математический Петров

Таблица 12 Отношение "Факультеты-Абитуриенты"

ФакультетПредмет
Математический Математика
Математический Информатика
Физический Математика
Физический Физика

Таблица 13 Отношение "Факультеты-Предметы"

В полученных отношениях устранены аномалии вставки и удаления, характерные для отношения "Абитуриенты-Факультеты-Предметы".

Заметим, что полученные отношения остались полностью ключевыми, и в них по-прежнему нет функциональных зависимостей.

Отношения с нетривиальными многозначными зависимостями возникают, как правило, в результате естественного соединения двух отношений по общему полю, которое не является ключевым ни в одном из отношений. Фактически это приводит к попытке хранить в одном отношении информацию о двух независимых сущностях. В качестве еще одного примера можно привести ситуацию, когда сотрудник может иметь много работ и много детей. Хранение информации о работах и детях в одном отношении приводит к возникновению нетривиальной многозначной зависимости Работник7. Нормальные формы более высоких порядковРабота|Дети.

5НФ (Пятая Нормальная Форма)

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

Пример 3. Рассмотрим следующее отношение 7. Нормальные формы более высоких порядков:

XYZ
1 1 2
1 2 1
2 1 1
1 1 1

Таблица 14 Отношение R

Всевозможные проекции отношения 7. Нормальные формы более высоких порядков, включающие по два атрибута, имеют вид:

XY
1 1
1 2
2 1

Таблица 15 Проекция R1=R[X,Y]

XZ
1 2
1 1
2 1

Таблица 16 Проекция R2=R[X,Z]

YZ
1 2
2 1
1 1

Таблица 17 Проекция R3=R[Y,Z]

Как легко заметить, отношение 7. Нормальные формы более высоких порядков не восстанавливается ни по одному из попарных соединений 7. Нормальные формы более высоких порядков7. Нормальные формы более высоких порядков или7. Нормальные формы более высоких порядков. Действительно, соединение 7. Нормальные формы более высоких порядков имеет вид:

XYZ
1 1 2
1 1 1
1 2 2
1 2 1
2 1 1

Таблица 18 R1 JOIN R2

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

Однако отношение 7. Нормальные формы более высоких порядков восстанавливается соединением всех трех проекций:

7. Нормальные формы более высоких порядков.

Это говорит о том, что между атрибутами этого отношения также имеется некоторая зависимость, но эта зависимость не является ни функциональной, ни многозначной зависимостью.

Определение 5. Пусть 7. Нормальные формы более высоких порядков является отношением, а 7. Нормальные формы более высоких порядков7. Нормальные формы более высоких порядков, …, 7. Нормальные формы более высоких порядков - произвольными (возможно пересекающимися)подмножествами множества атрибутов отношения 7. Нормальные формы более высоких порядков. Тогда отношение 7. Нормальные формы более высоких порядков удовлетворяет зависимости соединения

7. Нормальные формы более высоких порядков

тогда и только тогда, когда оно равносильно соединению всех своих проекций с подмножествами атрибутов 7. Нормальные формы более высоких порядков7. Нормальные формы более высоких порядков, …, 7. Нормальные формы более высоких порядков, т.е.

7. Нормальные формы более высоких порядков.

Можно предположить, что отношение 7. Нормальные формы более высоких порядков в примере 3 удовлетворяет следующей зависимости соединения:

7. Нормальные формы более высоких порядков.

Утверждать, что это именно так мы пока не можем, т.к. определение зависимости соединения должно выполняться длялюбого состояния отношения 7. Нормальные формы более высоких порядков, а не только для состояния, приведенного в примере.

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

Теорема Фейджина (другая формулировка). Отношение 7. Нормальные формы более высоких порядков удовлетворяет зависимости соединения 7. Нормальные формы более высоких порядковтогда и только тогда, когда имеется многозначная зависимость 7. Нормальные формы более высоких порядков.

Т.к. теорема Фейджина является взаимно обратной, то ее можно взять в качестве определения многозначной зависимости. Таким образом, многозначная зависимость является частным случаем зависимости соединения, т.е., если в отношении имеется многозначная зависимость, то имеется и зависимость соединения. Обратное, конечно, неверно.

Определение 6. Зависимость соединения 7. Нормальные формы более высоких порядков называется нетривиальной зависимостью соединения, если выполняется два условия:

 

  • Одно из множеств атрибутов 7. Нормальные формы более высоких порядков не содержит потенциального ключа отношения 7. Нормальные формы более высоких порядков.

     

  • Ни одно из множеств атрибутов не совпадает со всем множеством атрибутов отношения 7. Нормальные формы более высоких порядков.

Для удобства работы сформулируем это определение так же и в отрицательной форме:

Определение 7. Зависимость соединения 7. Нормальные формы более высоких порядков называется тривиальной зависимостью соединения, если выполняется одно из условий:

  • Либо все множества атрибутов 7. Нормальные формы более высоких порядков содержат потенциальный ключ отношения 7. Нормальные формы более высоких порядков.
  • Либо одно из множеств атрибутов совпадает со всем множеством атрибутов отношения 7. Нормальные формы более высоких порядков.

Определение 8. Отношение 7. Нормальные формы более высоких порядков находится в пятой нормальной форме (5НФ) тогда и только тогда, когда любая имеющаяся зависимость соединения является тривиальной.

Определения 5НФ может стать более понятным, если сформулировать его в отрицательной форме:

Определение 9. Отношение 7. Нормальные формы более высоких порядков не находится в 5НФ, если в отношении найдется нетривиальная зависимость соединения.

Возвращаясь к примеру 3, становится понятно, что не зная ничего о том, какие потенциальные ключи имеются в отношении и как взаимосвязаны атрибуты, нельзя делать выводы о том, находится ли данное отношение в 5НФ (как, впрочем, и в других нормальных формах). По данному конкретному примеру можно только предположить, что отношение в примере 3 не находится в 5НФ. Предположим, что анализ предметной области позволил выявить следующие зависимости атрибутов в отношении 7. Нормальные формы более высоких порядков:

(i) Отношение 7. Нормальные формы более высоких порядков является полностью ключевым (т.е. потенциальным ключом отношения является все множество атрибутов).

(ii) Имеется следующая зависимость (довольно странная, с практической точки зрения): если в отношении 7. Нормальные формы более высоких порядков содержатся кортежи 7. Нормальные формы более высоких порядков7. Нормальные формы более высоких порядков и 7. Нормальные формы более высоких порядков, то отсюда следует, что в отношении 7. Нормальные формы более высоких порядков содержится также и кортеж 7. Нормальные формы более высоких порядков.

Утверждение. Докажем, что при наличии ограничений (i) и (ii), отношение находится в 4НФ, но не в 5НФ.

Доказательство. Покажем, что отношение 7. Нормальные формы более высоких порядков находится в 4НФ. Согласно определению 4НФ, необходимо показать, что отношение находится в НФБК и не содержит нетривиальных многозначных зависимостей. Т.к. отношение является полностью ключевым, то оно автоматически находится в НФБК. Если бы в отношении имелась многозначная зависимость (необязательно нетривиальная), то, согласно теореме Фейджина, отношение можно было бы декомпозировать без потерь на две проекции. Но пример 3 показывает, что таких декомпозиций нет (здесь мы воспользовались тем, что для доказательства возможности декомпозиции необходимо доказать ее для всех возможных состояний отношения, а для доказательства невозможности достаточно привести один контрпример). Поэтому в отношении нет никаких многозначных зависимостей.

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

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

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

Включение 7. Нормальные формы более высоких порядков доказывается как в теореме Хеза. Такое включение выполняется всегда для любой декомпозиции отношения 7. Нормальные формы более высоких порядков.

Докажем включение 7. Нормальные формы более высоких порядков.

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

Продолжение алгоритма нормализации (приведение к 5НФ)

В предыдущей главе был описан алгоритм нормализации как алгоритм приведения отношений к 3НФ. Теперь мы можем продолжить этот алгоритм, доведя его до алгоритма приведения к 5НФ.

Шаг 4 (Приведение к НФБК). Если имеются отношения, содержащие несколько потенциальных ключей, то необходимо проверить, имеются ли функциональные зависимости, детерминанты которых не являются потенциальными ключами. Если такие функциональные зависимости имеются, то необходимо провести дальнейшую декомпозицию отношений. Те атрибуты, которые зависят от детерминантов, не являющихся потенциальными ключами выносятся в отдельное отношение вместе с детерминантами.

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

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

Выводы

Обобщением 3НФ на случай, когда отношение имеет более одного потенциального ключа, является нормальная форма Бойса-Кодда.

Отношение 7. Нормальные формы более высоких порядков находится в нормальной форме Бойса-Кодда (НФБК) тогда и только тогда, когда детерминанты всех функциональных зависимостей являются потенциальными ключами.

Нормализация отношений вплоть до нормальной формы Бойса-Кодда основывалась на понятии функциональной зависимости и теореме Хеза, гарантировавшей, что декомпозиция будет происходить без потерь информации.

Дальнейшая нормализация связана уже с обобщением понятия функциональной зависимости.

Атрибуты (множества атрибутов) 7. Нормальные формы более высоких порядков и 7. Нормальные формы более высоких порядков многозначно зависят от 7. Нормальные формы более высоких порядков, (7. Нормальные формы более высоких порядков), тогда и только тогда, когда из того, что в отношении 7. Нормальные формы более высоких порядков содержатся кортежи 7. Нормальные формы более высоких порядков и 7. Нормальные формы более высоких порядков следует, что в отношении 7. Нормальные формы более высоких порядков содержится также и кортеж к7. Нормальные формы более высоких порядков.

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

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

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

Отношение 7. Нормальные формы более высоких порядков находится в четвертой нормальной форме (4НФ) тогда и только тогда, когда отношение находится в НФБК и не содержит нетривиальных многозначных зависимостей.

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

Отношение 7. Нормальные формы более высоких порядков находится в пятой нормальной форме (5НФ) тогда и только тогда, когда любая имеющаяся зависимость соединения является тривиальной.

На этом все! Теперь вы знаете все про нормальные формы более высоких порядков, Помните, что это теперь будет проще использовать на практике. Надеюсь, что теперь ты понял что такое нормальные формы более высоких порядков и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Базы данных, знаний и хранилища данных. Big data, СУБД и SQL и noSQL

создано: 2014-12-16
обновлено: 2021-03-13
132497



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Базы данных, знаний и хранилища данных. Big data, СУБД и SQL и noSQL

Термины: Базы данных, знаний и хранилища данных. Big data, СУБД и SQL и noSQL