С.Д. Кузнецов - Основы баз данных (1121716), страница 29
Текст из файла (страница 29)
Легко убедиться, что отношению спуд ном злдлн аномалии обновления не свойственны. 138 Лекция 7 Первые шаги иормаяизации Рис. 7.11. Значения переменных отношений ОНА нОм зайдя и ПРО НОМ ЗАНАН Рис. 7.12. Третий вариант отношения сл~ж нОМ ЗАЛАМ 139 Основы баз данных Курс Заключение В этой лекции мы обсудили три начальные нормальные формы отношений — вторую и третью нормальные формы и нормальную форму Бойса-Кодла, — которые производятся путем декомпозиции без потерь исходного отношения на две проекции, где отсутствуют аномалии изменений, существовавшие в исходном отношении по причине напичия функциональных зависимостей с нежелательными свойствами.
Нормализация схемы базы данных способствует более эффективному выполнению системой управления базами данных операций обновления базы данных, поскольку сокращается число проверок и вспомогательных действий, поддерживающих целостность базы данных. При проектировании реляционной базы данных почти всегда добиваются второй нормальной формы всех входящих в базу данных отношений. В часто обновляемых базах данных обычно стараются обеспечить третью нормальную форму отношений. На нормальную форму Бойса-Ковда внимание обращают гораздо реже, поскольку на практике ситуации, в которых у отношения имеется несколько составных перекрывающихся возможных ключей, встречаются нечасто.
140 Лекция 8 Дальнейшая нормализация Лекция В. Проектирование реляционных баз данных на основе принципов нормализации: дальнейшая нормализация В этой лекции мы обсудим два более сложных вида зависимостей между атрибутами отношений — многозначные зависимости и зависимости проекции/соединения, а также основанные на учете таких зависимостей нормальные формы отношений.
Основанная на учете зависимости проекции/соединения пятая нормальная форма отношения является «окончательной» нормальной формой, которую можно получить путем декомпозиции отношений на основе их проецирования. Ключевые слова: многозначная зависимость, лемма Фейлжина, теорема Фейджина, четвертая нормальная форма, и-декомпознруемое отношение, тривиальная многозначная зависимость, зависимость проекции/соединения, зависимость проекции/соединения, подразумеваемая возможными ключами, тривиальная зависимость проекции/соединения, пятая нормальная форма, нормальная форма проекции/соединения, окончательность пятой нормальной формы. Введение Функциональные зависимости, о которых мы говорили в предыдуШих двух лекциях, и нормальные формы, основанные на учете «аномальных» функциональных зависимостей, являются естественными и легко понимаемыми, поскольку в их основе лежит понятие функционального отображения, интуитивно понятного даже людям, далеким от математики.
Конечно, было бы замечательно, если бы ликвидация в ходе нормализации аномальных функциональных зависимостей гарантировала отсутствие аномалий обновления отношений. К сожалению, эта гарантия в общем случае не обеспечивается. Иногда в переменных отношений требуется поддержка более сложных ограничений целостности, для выражения которых понятие функции оказывается недостаточным. Класс зависимостей, опирающихся на понятие функяионали— обобщение понятия функции, обнаружил в 1970-е гг. Рональд Фейджин. Он назвал такие зависимости многозначлыми, поскольку в них одному значению детерминанта соответствует множество значений зависимого атрибута.
Наличие в переменной отношения многозначных зависимостей, не являющихся функциональными зависимостями от возможного ключа, приводит к аномалиям обновления таких отношений. Фейджин показал, что в этом случае возможна декомпозиция данных отношений на две проекции, лля 141 Основы баз данных Курс которых подобные аномалии обновления не проявляются. Такие проекции находятся в четвертой нормальной 1(юрме. Позже было установлено, что при наличии некоторых естественных ограничений, являющихся обобщением ограничений многозначных зависимостей, и в отношениях, которые находятся в четвертой нормальной форме, проявляются аномалии обновления. Более того, эти аномалии невозможно устранить путем проецирования отношения на две проекции, требуется декомпозиция на три или большее число отношений. Такие ограничения получили название зависимостей проекции/соединения.
Отношение, в котором существует нетривиальная зависимость проекции/соединения, может быть декомпозировано на три или большее число проекций, в которых зависимости проекции/соединения следуют из возможного ключа. Такие проекции находятся в пятой нормальной форме, или нормальной грорие проекции/соединения. В отношениях, находящихся в пятой нормальной форме, отсутствуют аномалии обновления, которые можно было бы устранить путем декомпозиции, и поэтому при достижении пятой нормальной формы процесс проектирования реляционной базы данных на основе нормализации естественным образом завершается. Многозначные зависимости и четвертая нормальная форма Чтобы перейти к вопросам дальнейшей нормализации, рассмотрим еще одну возможную (четвертую) интерпретацию переменной отношения слух про злдлн.
Предположим, что каждый служащий может участвовать в нескольких проектах, но в каждом проекте, в котором он участвует, им должны выполняться одни и те же задания. Возможное значение четвертого варианта переменной отношения сдул пю задан показано на рис. 8.1. Рис. 8.1. Возможное значение переменной отношения сдул про злдли (четвертый вариант) 142 лекция в Дальнейшая нормализация Аномалии обновлений при наличии многозначных зависимостей и возможная декомпозиция В новом варианте переменной отношения единственным возможным ключом является заголовок отношения (слу нОм, пРО нОн, СЛУ ЗхдЛН).
Кортеж <сн, пн, сз> входит в тело отношения в том и только в том случае, когда служащий с номером ск выполняет в проекте пн задание сз. Поскольку для каждого служащего указываются все проекты, в которых он участвует, и все задания, которые он должен выполнять в этих проектах, для каждого допустимого значения переменной отношения служ ЛРО злдлн должно выполняться следующее ограничение (тслз обозначает тело отношения): ?Р (<сн, пн1, сз1> ТСПЗ ЛНО <сн, пн2, сз2> ТСПЗ) ТНЛН (<сн, пк1, сз2> ТСПЗ ЛНО <ск, пн2, сз1> ТСПЗ( Наличие такого ограничения (как мы скоро увидим, это ограничение порождается наличием многозначной зависимости) приводит к тому, что при работе с отношением слух ЛРО злдлн проявляются аномалии обновления.
° Добавление кортежа. Если уже участвующий в проектах служащий присоединяется к новому проекту, то к телу значения переменной отношения слух ЛРО злдлн требуется добавить столько кортежей, сколько заданий выполняет этот служащий. ° Удаление кортежей. Если служащий прекращаег участие в проектах, то отсутствует возможность сохранить данные о заданиях, которые он может выполнять. ° Модификация кортежей. При изменении одного из заданий служащего необходимо изменить значение атрибута слу злдлн в стольких кортежах, в скольких проектах участвует служащий. Трудности, связанные с обновлением переменной отношения СЛУЛ ПРО ЗЛДЛН, решаются путем его декомпозиции на две переменных отношений: СЛУЛ ЛРО НОН (СЛУ НОИ, ЛРО НОН) и СЛУЛ ЗЛДЛНИД (слу нОм, слу злдлн).
Значения этих переменных отношений, соответствующие значению переменной отношения С(ГУж ПРО злдлн с рис. 8.1, показаны на рис. 8.2. Легко видеть, что декомпозиция, представленная на рис. 8.2, является декомпозицией без потерь и что эта декомпозиция решает перечисленные выше проблемы с обновлением переменной отношения СЛУЖ ПРО ЗЛДйн. ° Добавление кортежа.
Если некоторый уже участвующий в проектах служащий присоединяется к новому проекту, то к телу значения пере- Основы баз данных К рс Рис. 8.2. Значения переменных отношений сгуж ппо ном и СЛУЖ ЗАДАНИЕ менной о~ношения СпуЖ ПЕС нон требуется добавить один кортеж, соответствующий новому проекту.
° Удаление корхпезкей. Если служащий прекращает участие в проектах, то данные о заданиях, которые он может выполнять, остаются в отноше- НИИ СЛУЖ ЗАДАНИЕ. ° Модификация кортежей. При изменении одного из заданий служащего необходимо изменить значение атрибута сЛУ ЗАДАН в одном кортеже отношения СГУж ЗАДАНИЕ. Многозначные зависимости. Теорема Фейджина. Четвертая нормальная форма Заметим, что последний вариант переменной отношения служ ппо ЗАДАН находится в ВАР посколькувсеатрибутызаголовкастношения входят в состав единственно возможного ключа. В этом отношении вообще отсутствуют нетривиальные ГР.
Поэтому ранее обсуждавшиеся принципы нормализации здесь неприменимы, но, тем не менее, мы получили полезную декомпозицию. Все дело в том, что в случае четвертого варианта отношения служ ппо зАЛАн мы имеем дело с новым видом зависимости, впервые обнаруженным Роном Фейджином в 1971 г. Фейджин назвал зависимости этого вила многоэначными (гпцШ-уа1пед дерепдепсу — МЪО). Как мы увидим немного позже, МУ1) является обобШением понятия Г1З. Лекция В дальнейшая нормализация В отношении слуе про злдлн выполняются две МЧ0: слу ном про нон и слу ном слу злдлн.