рассматривается достаточно общий случай. Дело в том, что оригинальное
определение Кодда для ЗНФ [9.4] не совсем подходит для отношений с
перечисленными ниже условиями.
1. 1.BBBBBB Отношение имеет два (или более) потенциальных ключа.
2. 2.BBBBBB Два потенциальных ключа являются сложными.
3. 3.BBBBBB Они перекрываются (т.е. имеют, по крайней мере, один общий атрибут).
Поэтому оригинальное определение ЗНФ было впоследствии заменено более
строгим определением Бойса-Кодда (Boyce/Codd) [10.2], для которого было принято
отдельное название — нормальная форма Бойса-Кодда, НФБК. (На самом деле
строгое определение "третьей" нормальной формы, эквивалентное определению
нормальной формы Бойса-Кодда, было впервые дано Хезом (Heath) в 1971 году
[10.4], и этой форме следовало бы дать название "нормальная форма Хеза".)
Замечание. Комбинация условий 1, 2 и 3 не часто встречается на практике, и
для отношения без этих условий ЗНФ и НФБК эквивалентны.
Для объяснения понятия НФБК потребуется использовать понятие
детерминанта, введенное в главе 9 для левой части ФЗ, а также тривиальной
функциональной зависимости, т.е. ФЗ, в которой левая часть является
супермножеством правой части.
■ ■BBBBBBB Отношение находится в нормальной форме Бойса-Кодда тогда и только
тогда, когда каждая нетривиальная и неприводимая слева ФЗ обладает
потенциальным ключом в качестве детерминанта. Менее формальное
определение имеет другую формулировку.
■ ■BBBBBBB Отношение находится в нормальной форме Бойса-Кодда тогда и только
тогда, когда детерминанты являются потенциальными ключами.
Иначе говоря, на диаграмме ФЗ стрелки будут начинаться только с
потенциальных ключей. Согласно данному определению никакие другие стрелки не
допускаются и, следовательно, никакие стрелки не могут быть исключены с
помощью процедуры нормализации.
Замечание. Выражаясь более кратко и неформально, различие между двумя
определениями НФБК заключается в том, что детерминанты "не очень велики" и все
ФЗ нетривиальны. Для простоты изложения далее в этой главе будут использованы
точно такие же допущения, за исключением особо оговоренных случаев.
Стоит отметить также, что определение НФБК концептуально проще, чем
прежнее определение ЗНФ, поскольку в нем нет явных ссылок на первую и вторую
нормальную форму, а также не используется концепция транзитивной зависимости.
Кроме того, хотя (как уже отмечалось выше) определение НФБК является более
строгим, чем определение ЗНФ, все же любое определенное отношение может быть
подвергнуто декомпозиции без потерь информации в эквивалентный набор
отношений в НФБК.
Прежде чем рассматривать примеры отношений с несколькими
потенциальными ключами, убедимся, что отношения FIRST и SECOND, которые не
находятся в ЗНФ, также не находятся и в НФБК. А также убедимся, что отношения
SP, SC и CS, которые находятся в ЗНФ, находятся и в НФБК. Отношение FIRST
содержит три детерминанта, а именно: S#, CITY и {S#, P#}, из которых только {S#,
P#} является потенциальным ключом. Поэтому отношение FIRST не находится в
НФБК. Аналогичное утверждение верно для отношения SECOND, поскольку
детерминант CITY не является потенциальным ключом. Отношения SP, SC и CS, с