Введение в системы БД (542480), страница 83
Текст из файла (страница 83)
в) Любое сочетание К потенциального ключа Кй переменной-отношении А и потенциального ключа КВ переменной-отношения В будет потенциальным ключом для декартова произведения А 11МЕБ В. г) Единственный потенциальный ключ объелинения А 08108  — это комбинация из всех атрибутов (в общем случае). д) Оставляем этот вариант в качестве упражнения для читателя (пересечение— это не примитивная операция).
е) Каждый потенциальный ключ переменной-отношения А является потенциальным ключом для результата вычитания А М180Я В. ж) Общий случай этого варианта оставляем в качестве упражнения для читателя (естественное соединение — не примитивная операция). Однако заметим, что в частном случае, когда соединяющий атрибу~ в переменной-отношении й является ее потенциальным ключом, каждый потенциальный ключ переменной- отношения В будет потенциальным ключом результата соединения.
з) Потенциальные ключи переменной-отношения й являются потенциальными ключами и для произвольного расширения переменной-отношения А. и) Потенциальными ключами для произвольной обобщающей операции в переменной-отношенин А "по переменной-отношению В" являются потенциальные ключи переменной-отношения В. к) Каждый потенциальный ключ переменной-отношения А является потенциальным ключом для результата выполнения операции полусоединения А ЯЕМ10018 В. л) Каждый потенциальный ключ переменной-отношения й является потенциальным кл|очом для результата выполнения операции полувычитання А БЕМ181ИВЯ В. Однако большинство упомянутых операторов в определенных ситуациях можно некоторым образом усовершенствовать, как, например, показано ниже.
° Сочетание атрибутов (Я)), Р(), Ют) не является потенциальным ключом для результата выполнения операции выборки БРЯ ЯНЕКЕ Б)) = Б)) ('81'). Потенциальным ключом в этом случае является сочетание атрибутов (Р(), о(). ° Если переменная-отношение А, имеющая заголовок (Х, У, 2) и единственный потенциальный ключ Х, удовлетворяет функциональной зависимости У вЂ” э Х (глава !О), то атрибут У является потенциальным ключом проекции переменной- отношения А по атрибутам Х и Х. Глава В. Целостность данных 341 ° Если переменные-отношения А и В одновременно являются результатами выполнения операции выборки из переменной-отношения С, то каждый потенциальный ключ переменной-отношения С является потенциальным ключом объединения А 0М108 В.
И т.д. Вопрос о наследовании потенциальных ключей подробно обсуждается в (! 0.6). 8.6. Пусть и — наименьшее целое число, большее либо равное и/1. Переменная- отношение К будет иметь максимально возможное количество потенциальных ключей, если все возможные множества из и атрибутов являются потенциальными ключами либо если и — нечетное число и все возможные множества из ц-1 атрибутов являются потенциальными ключами. В обоих случаях максимальное количество потенциальных ключей равно п ! /(и ! * (и-ц)! ) .
Замечание. Переменные-отношения ЕьЕМЕКТ и МВКК1КВЕ в разделе 8.8 могут служить примером переменных-отношений с максимально возможным количеством потенциальных ключей. 8.7. Переменная-отношение К имеет в точности один потенциальный ключ, а именно — пустое множество атрибутов () (иногда обозначаемое как Я). Замечание. Понятие пустого (или нульарного) потенциального ключа требует некоторого уточнения. Такая переменная-отношение, как К, единственные допустимые значения которой есть отношения 0ЕЕ и 00М, не должна иметь атрибутов, и поэтому "очевидно", что ее единственный потенциальный ключ тоже не имеет атрибутов. Однако не только переменные-отношения без атрибутов могут иметь подобный потенциальный ключ.
Отметим, что если пустое множество О является потенциальным ключом некоторой переменной-отношения К, то должны быть выполнены следующие условия. ° Этот потенциальный ключ должен быть единственным потенциальным ключом переменной-отношения К, так как любое другое множество атрибутов этой переменной-отношения можно рассматривать как правильное надмножество пустого множества, что нарушало бы требование неизбыточности потенциальных ключей. (Следовательно, этот потенциальный ключ будет также первичнььи, если первичный ключ обязательно должен быть выбран.) ° В переменной-отношении К не может содержаться более одного кортежа, потому что в пустом множестве атрибутов любой кортеж имеет одно и то же значение.
Заметим, что наш синтаксис позволяет определить такую переменную-отношение, как, например, показано ниже. ЧЫ К ВАЯВ КЕЬАТ10М ( ... ) РК1МВКУ КЕУ ( ) Также можно определить переменную-отношение без атрибутов, т,е. переменную- отношение, которая может принимать только два значения; ВЕЕ и 00М.
ЧЕК К ВИВЕ КЕВКПОМ ( РК1МВК1 КЕУ ( ) Возвращаясь к вопросу о пустом потенциальном ключе, отметим, что если потенциальный ключ может быть пустым, то, конечно, может быть пустым н соответствующий ему внешний ключ. В [5.5) эти возможности обсуждаются более подробно. 342 Часть 11. Реляционная модель 8.8. Для внешних ключей "правило вставки" в явном виде не существует, поскольку операции вставки (1МБЕЕТ) для ссылающейся переменной-отношения (а также операции обновления (УРБаТЕ) для внешнего ключа в ссылающейся переменной- отношении) контролируются с помощью самого правила ссылочной целостности, т.е. в соответствии с требованием, гласящим, что не должно быть несогласованных значений внешнего ключа. Поясним это другими словами на конкретном примере базы данных поставщиков и деталей.
° Попытка вставить кортеж поставки (в переменную-отношение БР) будет успешной, только если номер поставщика в этом кортеже существует как номер поставщика в переменной-отношении Б и номер детали в этом кортеже существует как номер детали в переменной-отношении Р. ° Попытка обновить кортеж поставки будет успешной, если в обновленном кортеже номер поставщика существует как номер поставщика в переменной-отношении Б и номер детали существует как номер детали в переменной-отношении Р. Обратите особое внимание на то, что предыдущие замечания относятся к ссылающейся переменной-отношению, тогда как правила удаления и обновления (явные) применяются к ссылочиой переменной-отношению.
Поэтому "правило вставки" нельзя рассматривать как правило, подобное правилам удаления н обновления. Это еще одна причина, по которой в конкретный синтаксис не включено никакое явное "правило вставки". 8.9. а) Операция лопустима. б) Операция недопустима (нарушение уникальности потенциального ключа). в) Операция недопустима (нарушение правила обновления с установленной опцией ЕЕБТЕ1СТЕЭ).
г) Операция допустима (удаляется кортеж поставщика с номером 'Б3' и соответствующие кортежи его поставок). д) Операция недопустима (нарушение правила обновления с установленной опцией ЕЕБТЕ1СТЕБ). е) Операция допустима (удаляется кортеж проекта под номером 'Л4' и соответствующие кортежи поставок для этого проекта). ж) Операция допустима. з) Операция недопустима (нарушение уникальности потенциального ключа).
и) Операция недопустима (нарушение ссылочной целостности). к) Операция допустима. л) Операция недопустима (нарушение ссылочной целостности). м) Операция недопустима (нарушенне ссылочной целостности — номер проекта по умолчанию (')11') не существует в переменной-отношении Ю). 8.10. Ссылочная диаграмма показана на рис. 8.1. Возможный вариант определения базы данных представлен ниже. Для упрощения никакие ограничения типов не определяются, если не считать того, что спецификация РОББЕЕР для данного определения типа, безусловно, может аириори пониматься, как его ограничение.
343 Глава 8. Целостность данных ГОКЕ16М КЕХ ( СОНКБЕ$, ОГГ$ ) КЕГЕКЕМСЕБ ОГГЕК1М6 ОМ НЕСЕТЕ САЯСАОЕ ОМ НРОАТЕ САЯСАОЕ; ГОКЕ16М КЕХ ( ЕМР$ ) КЕГЕКЕМСЕБ ЕМРЬОХЕЕ ОМ ОВЕЕТЕ САБСАОЕ ОМ НРОАТЕ САБСАОЕ ! ЧАК ЕМКОЬЬМЕМТ НАЯЕ КЕЬАТ10М СОНКЯЕ$ СОНКЯЕ$, ОГГ$ ОГГ$, ЕМР$ ЕМР$ СВАРЕ 6КАОЕ ) РК1МАКХ КЕХ ( СОНКБЕ$, ОГГ$, ЕМР$ ГОКЕ16М КЕХ ( СОНКБЕ$, ОГГ$ ) КЕГЕВЕМСЕЯ ОГГЕК1М6 ОМ ОВЕЕТЕ САЯСАОЕ ОМ СРОАТЕ САЯСАОЕ ГОКЕ10М КЕХ ( ЕМР$ ) КЕГЕКЕМСЕБ ЕМРЬОХЕЕ ОМ НЕСЕТЕ САЯСАОЕ ОМ НРОАТЕ САЯСАОЕ ! Рис. 8.!. Ссылочная диаграмма для учебной базы данных Пояснения !. Множества атрибутов (единичные) (СОНКБЕ$) в переменной-отношении ТЕАСНЕК и (СОНКЯЕ$) в переменной-отношении ЕМКОБЕМЕМТ можно также рассматривать как внешние ключи, ссылающиеся на переменную-отношение СОНКЯЕ.
Если ссылочные ограничении от переменной-отношения ТЕАСНЕК к переменной-отношению ОГГЕК1М6, от переменной-отношения ЕМКОЬЬМЕМТ к переменной-отношению ОГГЕК1МО и от переменной-отношения ОГГЕК1М6 к переменной-отношению СОНКБЕ организованы должным образом, то ссылочные ограничения от переменной-отношения ТЕАСНЕК к переменной- отношению СОНКЯЕ будут поддерживаться автоматически. Более летальное обсуждение этого вопроса приведено в г8.! О).