С.Д. Кузнецов - Основы баз данных (1121716), страница 28
Текст из файла (страница 28)
Понятно, что в процессе нормализации декомпозиция отношения иа независимые проекции является предпочтительной. Необходимые и достаточные условия независимости проекций отношения обеспечивает теорема Риссанена. Теорема Риссапепа Проекции г1 и г2 отношения г являются независимыми тогда и только тогда, когла: ° каждая РП в отношении г логически следует** из ГО в г1 и г2; ° общие атрибуты г1 и г2 образуют возможный ключ хотя бы для одного из этих отношений.
Мы не будем приводить доказательство этой теоремы, но продемонстрируем ее верность на примере двух показанных выше декомпозиций ' Теоретически возможная третья лекомпозиция отношения слук на отношения слулл (слу нох, слу зллг.,) и уров (слу уров, слу злрц) не является декомпозицией без потерь.
Чтобы убедиться в этом, рассмотрите случай, когда лдя двух разных разрядов служащих назначен один и тот же размер зарплаты. Покажите также, что для этой декомпозиции не выполняются условия теоремы Хита. "Те. выводится нв основе аксиом Армстронга. 133 Основы баз данных Курс отношения служ. В первой декомпозиции (на проекции служ) и УРОВ) общий атрибут слУ УРОВ является возможным (и первичным) ключом отношения угов, а единственная дополнительная Гг) отношения служ )слу ном слу зАРп) логически следует из Н) слу ном слу уров и слу увзв слу зАРп, выполняемых для отношений служ) и уров соответственно.
Вторая декомпозиция удовлетворяет второму условию теоремы Риссанена (слУ ном является первичным ключом в каждом из отношений служ1 и слу зАРп), но Г0 слу уров слу зАРп не выводится из ГГЗ СЛУ НОМ СЛУ УРОВ и СЛУ НОМ СЛУ ЗАРП. Атомарным отношением называется отношение, которое невозможно декомпозировать на независимые проекции. Далеко не всегда лля неатомарных (не являющихся атомарными) отношений требуется декомпозиция на атомарные проекции. Например, отношение служ2 (слу ном, слу зАРп, пРО ном) смножествомГ)з (слу ном слу зАРЛ, слу ном про ном) не является атомарным (возможна декомпозиция на независимыепроекции СЛУжз (СЛУ НОМ, СЛУ ЗАРП) и СЛУж4 (СЛУ НОМ, ПРО НОМ) ).
Но эта декомпозиция не улучшает свойства отношения СЛУж2 и поэтому не является осмысленной. Другими словами, при выборе способа декомпозиции нужно стремиться к получению независимых проекций, но не обязательно атомарных. Перекрывающиеся возможные ключи и нормальная форма Бойса-Кодда До сих пор в определениях нормальных форм мы предполагали, что у декомпозируемого отношения имеется только один возможный ключ. На практике чаще всего бывает именно так. Но имеется один частный случай, который (почти) удовлетворяет требованиям 2)х)Е и 3)х)Е, но, тем не менее, порождает аномалии обновления. Это тот случай, когда у отношения имеется несколько возможных ключей, и некоторые из этих возможных ключей «перекрываются», т.
е. содержат общие атрибуты. Аномалии обновлений, связанные с наличием перекрывающихся возможных ключей Например, пусть имеется переменная отношения служ пво ЗАЛАМ) (слу ном, слу имя, про ном, слу зАЛАП) с множеством Г(з, показанным на рис. 7.7. В отношении служ ЛРО ЗАЛАн) служащие уникально идентифицируются как по номерам удостоверений, так и по именам. Следовательно, сушествуют Г(з слу ном-слу )яя и слу имя слу ном. Но один служащий может участвовать в нескольких проектах, поэтому возможными ключами Первые шаги нормализации Лекция 7 Рис. 7.7. Диаграмма ГО отношения сдуж про зАд)ки1 являются (Оду НОМ, ПГО НОМ) и (Оду Иня, ПГО НОМ).
На рис. 7.8 показано возможное значение переменной отношения слух про зддлн1. Рис. 7.8. Возможное значение переменной отношения ОЛУЖ ПРО ЗАДАН1 Очевидно, что, хотя в отношении Ол) л ЛАЛО злддн1 все ГО неключевых атрибутов от возможных ключей являются минимальными и транзитивные ГР отсутствуют, этому отношению свойственны аномалии обновления. Например, в случае изменения имени служащего требуется обновить атрибут Оду )В)я во всех кортежах отношения Одуд ПГО Зддди1, соответствующих данному служащему. Иначе будет нарушена ГО Олу ном Оду иия, и база данных окажется в несогласованном состоянии. 135 Основы баз данных Курс Нормальная форма Бойса-Кодда Причиной отмеченных аномалий является то, что в требованиях 2)х) Е и ЗХЕ не требовалась минимальная функциональная зависимость от первичного ключа атрибутов, являющихся компонентами других возможных ключей. Проблему решает нормальная форма, которую исторически принято называть нормальной формой Бойса-Кодда и которая является уточнением З)х(Е в случае наличия нескольких перекрывающихся возможных ключей.
Определение 7.3. Нормальная форма Бойса-Кодда Переменная отношения находится в нормальной форме Бойса-Кодда (ВСХЕ) в том и только в том случае, когда любая выполняемая для этой переменной отношения нетривиальная и минимальная ЕП имеет в качестве детерминанта некоторый возможный ключ данного отношения. Конец определения. Переменная отношения служ ЛРО ЗАЛАН1 может быть приведена к ВС)х(Е путем одной из двух декомпозиций: СЛУЖ ном имя (СЛУ ном, слу имя) и слУж ном ЛРО зАДАИ (слУ ном, ЛРО ном, слУ зАЛАн) с множеством ЕП и значениями, показанными на рис. 7.9, и служ ном Имя (СЛУ НОМ, СЛУ ИМЯ) и СЛУЖ ИМЯ ПРО ЗАЛАН (СЛУ ИМЯ, ПРО НОМ, слу' зАЛАн) (НЭ и значения результирующих переменных отношений вы~ладят аналогично). Очевидно, что каждая из декомпозиций устраняет трудности, связанные с обновлением отношения СЛУЖ ПРО ЗАЛАН1. Всегда ли следует стремиться к ВСНЕР Предположим теперь, что в организации все проекты включают разные задания, и по-прежнему каждый служащий может участвовать в нескольких проектах, но может выполнять в каждом проекте только одно задание.
Одно задание в каждом проекте могут выполнять несколько служащих. Тогда переменная отношения служ гРО ЗАЛАН имеЕт мнОжЕство ЕО, показанное на рис. 7.10, и может содержать значение, представленное на том же рисунке. В этом отношении существуют два возможных ключа: (слу ном, ПРО НОМ) и (СЛУ НОМ, СЛУ ЗАДАН). Отношение удовлетворяеттребованиям З)х)Е: отсутствуют нсминимальные Е(З неключевых атрибутов от возможных ключей (поскольку нет неключевых атрибутов) и отсутствуют транзитивные ЕП. Однако из-за наличия Е(З слУ зАЛАн гРо ном это отношение не находится в ВС)х)Е Поэтому отношению СЛУ ПРО ЗАЛАМ снова свойственны аномалии обновления.
Например (поскольку слу ном является компонентом обоих возможных ключей), невозможно удалить Первые шаги нормализации Лекции 7 Рис. 7.9. Диаграммы Г13 и значения переменных отношений СЛУЖ НОМ ИМЯ и СЛУЖ НОМ ПРО ЗАДАН данные о елинственном служатцем, выполняютцем задание в некотором проекте, не утратив информацию об этом задании.
Можно привестиотношениеСЛуж ПРО ЗАПАЛ кВС)к)Г выполнивего декомпозициюнаотношения СЛУЖ ном ЗАДАН (СЛУ ном, слу ЗАЛАН)*и ЛРО ном зАДАн (слУ зАДАП, НРО ном), и эталекомпозиция решаетобозначенные проблемы (теперь можно хранить данные о задании проекта, не выполняемом ни одним служащим). Значения переменных отношений СЛУЖ НОМ ЗАДАН и ПРО НОМ ЗАДАН показаны парис. 7.11. Однако возникают новые трудности. Например, система должна запретить добавление в отношение СЛУЖ НОМ ЗАДАН кортежа <?934, О>, поскольку задание О относится к проекту 1, а служащий с номером 2934 уже выполняет задание в этом проекте.
Так происходит, потому что исходная РО (СЛУ НОМ, ПРО НОМ) СЛУ ЗАДАН не выводится из единственной (нетривиальной) лействукпцей для этих проекций Р0 слУ ЗАДАН ' Единственным возможным ключом отношения служ ноя зйдйн является )слу нон, слу зйдйн), и в этом отношении отсутствуют нетривиальные РО. 137 Основы баэ данных Курс Рис. 7.10. Новый вариант переменной отношения СЛУЖ ПРО ЗАДАН пво ном, и соответствующее ограничение целостности становится ограничением базы данных.
Тем самым, проекции служ ном ЗАДАН и ПРО НОМ ЗАДАН не являются независимыми, а отношение Спуд ПРО ЗАДАН атомарно, хотя и не находится в ВСХЕ Из этого следует, что при проектировании реляционной базы данных приведение отношения к ВСЯ Г не должно быть самоцелью. Нужно внимательно оценивать положительные и отрицательные последствия нормализации. Наконец, приведем пример, когда наличие двух перекрывающихся возможных ключей не мешает отношению находиться в ВСУЕ Предположим, что в организации проекты включают одни и те же задания, каждый служащий может участвовать в нескольких проектах, но может выполнять в каждом проекте только одно задание.
Тогда переменная отно- ШЕНИЯ СЛУК НОМ ЗАДАН ИМЕЕТ мнсжсетвО Н), показанное на рис. 7Л2, и может содержать значение, показанное на том же рисунке. В третьем варианте отношения с~гл ном злдлн имеются перекрывающиеся возможные ключи Пслу ном, пРо ном) и (ПРО ном, слу ЗАПАн) ), однако оно находится в ВАР поскольку эти ключи являются единственными детерминантами.