С.Д. Кузнецов - Основы баз данных (1121716), страница 31
Текст из файла (страница 31)
В общем виде такое ограничение называется зависимостью проекции/соединения. Вот формальное определение. Определение 8.4. Зависимость проекции/соединения Пусть задана переменная отношения г, и А, в, ..., выявляются произвольными подмножествами заголовка с (составными, перекрывающимися атрибутами). В переменной отношения г удовлетворяется зависимость 148 Леозия 8 Дальнейшая нормализация Возможное значение переменной отношения служ пво зАПАП (пятый вариант) Значение переменной отношения служ ЛРО НОМ = (служ ЛРО зАдан РнО)вст (с)ту ном, ЛРО ном) ) Значение переменной отношения слУж зАДАнне = (СЛУЖ ПРО ЗАДАН РкозаСТ (ПРО НОМ СЛУ ЗАДАН) ) Значение переменной отношения служ ЛРО нОН = (служ ЛРО задан Рпозаст (слу ном, спу 3АдАн) ) Результат естественного соединения значений СЛУЖ ПРО НОМ НАТ()НАЬ до(Н ПРО НОМ ЗАДАН Рис.
8.3. Возможное значение переменной отношения служ про злдлн (пятый вариант), результаты проекций и результат частичного естественного соединения 149 Основы баз данных Курс проекции/соединения (Рго)есг-зо1п Оерепг)епсу — РзО) "( л, в, ..., 2) тогда и только тогда, когда любое допустимое значение г можно получить путем естественного соединения проекций этого значения на атрибуты А, в, ..., 2.
Конец определения. Аномалии, вызываемые наличием зависимости проекции/соединения В переменной отношения служ пРО ЗАЛАМ выполняется Рсп *((СЛУ НОМ, ПРО НОМ), (ПРО НОМ, СЛУ ЗАДАН), (СЛУ НОМ, СЛУ ЗАДАН)). Наличие такой РЛ) обеспечивает возможность декомпозиции отношения на три проекции, но возникает вопрос, зачем это нужно? Чем плохо исходное отношение СЛУж ПРО ЗАДАН? Ответ обычный; этому отношению свойственны аномалии обновления. Для примера предположим, что значением служ ЛРО 3АдАн является отношение, показанное на рис. 8.4. ° Добавление кортежей.
Если к тспз1 (рис. 8.4) добавляется кортеж <2941, 1, А>,тодолжен бытьдобавлен и кортеж <2934, 1, А>.Действительно, в теле отношения появятся кортежи <2934, 1, в>, <2941, 1, А> и <2934, 2, А>. Ограничение целостности требует включения и кортежа <2934, 1, А>. Интересно, чтодобавление кортежа <2934, 1, А> не нарушает ограничение целостности и, тем самым, не требует добавления кортежа <2941, 1, А>.
Рис. 8.4. Иллюстрации аномалий обновления в отношении служ пРО ЗАЛАМ при наличии зависимости соединения 150 лекция в Дальнейшая нормализация ° Удаление кортежа. Если из тсп32 удаляется кортеж <293 4, 1, А>, то должен быть удален и кортеж <2941, 1, А>, поскольку в соответствии с ограничением целостности наличие второго кортежа означает наличие первого. Интересно, что удаление кортежа <2941, 1, А> не нарушает ограничения целостности и не требует дополнительных удалений. Устранение аномалий обновления в 3-декомпозиции После выполнения декомпозиции трудности с обновлением автоматически снимаются.
Действительно, декомпозируем отношение Служ ЛРО ЗАдАннатри отношения: СЛУЖ ЛРО НОМ (СЛУ НОМ, ЛРО нОМ), СЛУЖ ЗАДАНИЕ (СЛУ НОМ, СЛУ ЗАДАН) и ПРО НОМ ЗАДАН (ПРО НОМ, слУ 3АДАн). Результат декомпозиции значения переменной отношения служ пРО ЗАДАН с телом тспз1 показан в верхней части рис. 8.5. Теперь если мы хотим добавить данные о служащем с номером 2941, выполняющем задание А в проекте 1, то, естественно, вставим кортеж <2941, 1> в отношение Сотр-ПРО НОМ, кортеж <2941, А> в отношЕНИЕ СотР-ЗАДАНИЕ и кортеж <1, А> в отношение ПРО НОМ-ЗАДАН. Результат этих операций показан в средней части рис.
8.5. Но если выполнить естественное соединение декомпозированных отношений с телами, полученными после добавления данных о служащем с номером 2941, выполняющем задание А в проекте 1, то будет получено значение-отношение с заголовком отношения СЛУж ПРО ЗАДАН и телом тспз2 (нижняя часть рис. 8.5). тем самым, проведенная декомпозиция позволила избежать сложностей при выполнении добавления кортежей с получением корректных результатов. Аналогично можно проиллюстрировать простоту и корректность операций удаления кортежей. Пятая нормальная форма Отношения СЛУЖ ПРО НОМ, СЛУЖ ЗАДАНИЕ и ПРО НОМ ЗАДАН находятся в пятой нормальной форме, но, прежде чем привести ее определение, нам требуется ввести еще два важных понятия. Определение 8.5.
Зависимость проекции/соединения, подразумеваемая возможными ключами В переменной отношения т Рл> *( А, в, ..., 2) называется подразумеваемой возможными ключами в том и только в том случае, когда каждый составной атрибут А, В, ..., Я является суперключом г, т.
е. включает хотя бы один возможный ключ г. Конец определения. Определение 8.6. Тривиальная зависимость проекции/соединения В переменной отношения т зависимость проекции/соединения *(А, в, ..., 2) называется тривиальной, если хотя бы один из составных атрибутов А, в, ..., г совпадает с заголовком г. Конец определения. 151 Основы баз данных Курс Результат декомпозиции переменной отношения спуи пво здлдн с телом значения ТСП31 СПУЖ ПРО НОИ СПУЖ ЗАДАНИЕ ПРО НОИ ЗАДАН пго ноч олу ноя 2934 2934 Добавление данных о служащем с номером 2941, выполняющем задание А в проекте 1 СЛУЖ ПРО НОИ СПУЖ ЗАДАНИЕ ПРО НОИ,ЗАДАН Результат естественного соединения отношений после добавления данных Рис.
8.5. Иллюстрация декомпозиции отношения с зависимостью соединения Легко убедиться, что нетривиальные Р3(3, подразумеваемые возможными ключами, существуют во всех отношениях с арностью, большей двух, первичный ключ которых не совпадает с заголовком отношения. Например, если в отношении СЛУД ПРО ЗАДАН атрибут СЛУ НОМ является первичным ключом, то, очевидно, имеется рл> *((слу нон, про нон), (сду нои, слу злдлн) ) (это следует из теоремы хита), но такие зависимости проекции/соединения неинтересны с точки зрения проектирования базы данных, поскольку не порождают аномалии обновления. Поэтому общепринятое определение пятой нормальной формы выглядит следующим образом.
Определение 8.7. Пятая нормальная форма Переменная отношения г находится в пятой нормальной форме, или в нормальной форме проекции/соединения (5Щ или Р3/)х(à — Рго)ес1-3ощ )х(оппа! Ропп) в том и только в том случае, когда каждая нетривиальная Р3(Э в г подразумевается возможными ключами г.
Конец определения. 152 Лекция 8 Дальнейшая нормализация Таким образом, чтобы распознать, что данная переменная отношения г находится в 5)к(Г, необходимо знать все возможные ключи г н все РЛ) этой переменной отношения. Обнаружение всех зависимостей соединения является нетривиальной задачей„и для ее решения нет обших методов. Поэтому на практике проектирование реляционных баз методом нормализации обычно завершается после достижения 4МГ и отношения, находящиеся в 4р(Г как правило, находятся и в 5о(Г Зачем же тогда была введена эта туманная и труднодостижимая пятая нормальная форма? Ответ на этот естественный вопрос состоит в том, что 5ХГ является «окончательной» нормальной формой, которой можно достичь в процессе нормализации на основе проекций.
«Окончательность« понимается в том смысле, что у отношения, находяшегося в 5)ь(Г отсутствуют аномалии обновлений, которые можно было бы устранить путем его декомпозиции. Другими словами, такие отношения далее нормализовать бессмысленно. Заключение Процесс проектирования реляционной базы на основе метода нормализации преследует две основных цели: ° избежать избыточности хранения данных; ° устрани~ь аномалии обновления отношений. Рассмотрим, насколько эти цели актуальны в современных условиях, когда объемы доступных носителей внешней памяти непрерывно возрастают, стоимость их падает, а современные серверы реляционных баз данных способны автоматически поддерживать целостность баз данных. Здесь следует отметить два важных обстоятельства.
Во-первых, теория реляционных баз данных и методы их проектирования активно развивались уже более 25 лет тому назад. Ситуация в области технологии аппаратуры и программного обеспечения тогда бьша совсем иной, чем сегодня, и хорошо нормализованные реляционные базы данных в значительной степени способствовали росту эффективности приложений. Во-вторых, в то время реляционные базы преимушественно использовались в информационных системах оперативной обработки транзакций (Оп-г.1пе Тгапзасйоп Ргосезз1пя — ОЕТР).
Характерные примеры таких систем мы отмечали в лекции ) — банковские системы, системы резервирования билетов и мест в гостиницах. Системам категории О(.ТР свойственны частые обновления базы данных, поэтому аномалии обновлений, даже если их корректировка производится СУБД автоматически, могут заметно снижать эффективность приложения. Сегодня на переднем крае приложений баз данных находятся системы категории оперативной аналитической обработки (Оп-'гзпе Апа!у(1са! Ргосезз1пя — ОгАР).
В подобных системах, в частности, системах поддерж- 1Бз Курс Основы баз данных ки принятия решений, базы данных в основном используются для выборки данных, поэтому аномалиями обновлений можно пренебречь, а объем этих баз настолько огромен, что можно пренебречь и избыточностью хранения. Значит ли это, что подход к проектированию реляционных баз данных методом нормализации утратил свою роль? Нет! Мир приложений баз данных в настоящее время огромен. Сегодня любое мало-мальски приличное предприятие использует хотя бы одно приложение баз данных — бухгалтерские, складские, кадровые системы. Это системы категории ОЕТР с частым обновлением данных и умеренными запросами к базе данных, не вызывающими соединений многих отношений. Для небольших компаний равно важны как эффективность информационных систем, так и стоимость используемых аппаратно-программных средств.