Введение в системы БД (542480), страница 80
Текст из файла (страница 80)
Дайте также соответствующие определения базы данных (т.е. за- пишите соответствуюший набор определений типов и переменных-отношений). Две следующие переменные-отношения представляют базу данных, содержашую информацию об отделах и служащих. ОЕРТ ( ПЕРТ1, ..., МОВ ЕМР1, ЕМР ( ЕМР1, ..., ПЕРТ1, ... ) В каждом отделе есть менеджер (МОВ ЕМР1), и каждый из служаших работает в од- ном из отделов (ПЕРТ1). Начертите ссылочную див~рамму и необходимые опреде- ления данных для этой базы данных. Две следуюшие переменные-отношения представляют базу данных, содержашую информацию о служащих и программистах.
ЕМР ( ЕМР4, ..., 7ОВ, РОМЕ ( ЕМР1, ..., ЬАМЯ, 8.11. 8.12. Каждый программист является служащим, но не наоборот. Начертите ссылочную диаграмму и необходимые определения данных для этой базы данных. Один из вопросов, который еше не обсуждался в этой ~лаве, связан с ситуацией, ко~да пользователь пытается удалить некоторую переменную-отношение или тип, а сушествуюшее ограничение целостности ссылается на эту переменную- отношение или тип.
Что должно произойти в такой ситуации? 8.13. ззо Часть 11. Реляционная модель к) Вставить кортеж для поставки с ключом '85'-'Рб'-'Л7'. л) Вставить кортеж для поставки с ключом '81'-'Р7'-'ПЯ'. м) Вставить кортеж для поставки с ключом '81'-'Р1'-'777' (где '777' — значение номера проекта по умолчанию). В учебной базе данных содержится информация о схеме процесса обучения внутри компании. Для каждого курса обучения в базе данных имеются подробные сведения обо всех необходимых курсах, которые должны быть прослушаны перед данным, и обо всех потоках его прослушивания. Для каждого потока в базе данных содержатся сведения обо всех его преподавателях и студентах, зарегистрированных для прохождения курса в данном потоке.
База данных также содержит информацию о сотрудниках. Соответствуюшие переменные-отношения описаны ниже. СОПВЯЕ ( СОПВЯЕ1, Т1ТЬЕ ) /* Курс */ РВЕВЕО ( ЯПР СОПВЯЕ4, ЯПВ СОПВЯЕ4 /* Условия */ ОГГЕВ180 ( СОПВЯЕ1, ОГГ1, ОРГОАТЕ, ЬОСАТ108 ) /" Поток */ ТЕАСНЕВ ( СОПВЯЕ1, ОГГ4, ЕМР4 ) /' Преподаватель */ ЕМВОЬЬМЕМТ ( СОПВЯЕ1, ОГГ1, ЕМР1, ОВАОЕ ) /* Списки */ ЕМРЬОУЕЕ ( ЕМР(с КВАМЕ~ РОВ ) /* Работник */ 8.14. 8.15.
Список литературы ЗЗ1 Глава 8. Целостность данных 8.1. 8.2. 8.3. 8.4. Запишите ответ к упр. 8.1 на языке БОЬ. Сравните средства поддержки целостности в языке ЗОЬ и тот механизм поддержки целостности, который был описан в основной части этой главы, и укажите разли- чия между ними. Ас!ееп А., НеПегзсесп ).М., апс) 'сЧЫога й Бсабс Апа[угйз Тесйп!с!цез сог Ргес(!сс!п8 сйе Вейая!ог ос" Ассгке РасаЬазе Вц1ез АСМ ТОРЗ. — МагсЬ, 1995. — 20, № 1. В этой статье продолжена работа, начатая в [8.2], [8.5]; см. "экспертная система баз данных" (здесь она называется активной системой баз данных).
В частности, в статье описана система правил прототипа БсагЬцгзс компании 1ВМ (см. [17.50], [25.14], [25.17], [25.21], [2522], а также [8.22]). Ва!ага Е.А. апс) 'сЧ!бош й Ап А18еЬгасс Арргоасй со Вц1е Апа!угйз !и Ехреп РасаЬазе бумегпз й Ргос. 2018 1пс. Сопб оп Чету Ьагйе Раса Вазез. — Бапйайо, СЬ![е, ЯерсегпЬег, 1994. В соответствии с этой статьей "экспертная система баз данных" представляет собой систему баз данных, которая полдерживает "правила условий/действий" (в нашей терминологии условиям соответствуют триггврные условия, а действиям — триггерныв нраледурьс). Одной из проблем для таких систем является то, что их поведение сложно по своему сушеству как для понимания, так и для прогнозирования.
В статье предлагаются методы для предварительного определения перед выполнением, обладает ли заданный набор правил свойствами завврисвнности и слияния. Свойство завершенности означает, что выполнение правила гарантированно не будет продолжаться бесконечно. Свойство спинная означает, что окончательное состояние базы данных не зависит от порядка, в котором эти правила выполнялись. Вегпзсе!и Р.А., В1ацвсеш В,Т., Ссаг1се Е.М. Раас Ма!псепапсе ог" Зепсапйс !псейпсу Аьаепюпз 1)сйп8 Вес(цпс(апс А88гейасе Раса 0 Ргос. бсЬ 1псегп. СопГ. оп Чесу ).агйе Раса Вазез.
— Мопсгеа1, Сапада, ОссоЬег, 1980. Здесь представлен эффективный метод приведения в действие ограничений целостности особого рода на примере, в котором "любое значение множества й должно быть меньше любого значения множества В". Этот метод основан, например, на том наблюдении, что данное ограничение, по сути, логически эквивалентно ограничению "максимальное значение множества й должно быть меньше минимального значения множества В". Приводя ограничения к подобному типу и используя автоматическое сохранение максимальных и минимальных значений в виде скрытых системных переменных, можно снизить число операций сравнения, используемых для приведения в действие заданного ограничения.
В подобном случае это число сравнений не будет зависеть от размера множества й или множества В (в зависимости от того, к какому из множеств применяется операция обновления). Однако это будет возможно только при организации хранения максимального и минимального значений. Вцпепсап О.Р., С!егпопз Е.К. Ей)с!ел![у Мопцоппй йе[ас!опас РасаЬазез д АСМ ТОРЯ. — ЗерсегпЬег, 1979. — 4, № 3. 8.5. 8.6.
8.7. 8.8. В статье описываются методы эффективной реализации триперных процедур (которые здесь называются аварийными), в частности, обсуждается проблема возможное~и определения, когда условие уловлетворяется, без необходимости вычислять это условие. В ней приводится метод обнаружения обновлений, ко~орые, вероятно, не смогуг удовлетворить заданному триггерному условию (здесь этот метод называется алгоритмом уклонения (а!8опСЬш ачо!с)апсе)), В статье также обсуэкдается метод снижения избыточной нагрузки на систему в случае безуспешного применения алгоритма уклонения, построенный на основе вычисления триггерного условия для некоторого небольшого подмножества (фильтра) всего множества соответствующих кортежей.
Сеп' 5., 'чЧ!с)огп Ь Реггчш Ргобцссюп Кц!ея сог Сопзсга!пс Маспсепапсе й Ргос. 1618 !псегп. Сопб оп Чету 1.агйе Раса Ваяея. — Вг!зЬапе, Ацзсга!!а, Ац8цзс, 1990. В сабатье описывается БОЬ-подобный язык для определения осраничений целостности и задания алгоритма идентификации всех операций, которые способны нарушить данное ограничение. (Предварительный обзор подобного алгоритма был дан автором этой книги в [8.111. Существование такого алгоритма подразумевает, что нет необходимости явно указывать для СУБД, когда данное ограничение необходимо проверить, и, конечно, схема, которая бьща описана в настоящей главе, не предоставляет пользователю никаких способов выполнить это.) В статье также рассматриваются некоторые вопросы оптимизации и корректности.
Сеп 5., Ггасегпай Р., РагаЬозсЬ! 5., апс) Тапса Ь. Ацсопсабс Оепегабоп ос Ргос)цсс!оп Кц!ея Сот !псе8пгу Ма!псепапсе Я АСМ ТОРБ. — БерсешЬег, 1994. — 19, № 3. В статье, основанной на работе [8.5), представлены возможности автаманщческаго исиравления повреждений, внесенных в результате нарушения ограничения. Ограничения транслируются в нрависа вывода с помощью следующих компонентов. !. Список операций, которые могут нарушать ограничение. 2.
Булево выражение, в результате вычисления которого будет получено значение истина, если ограничение нарушено (в основном, это просто отрицание первоначального ограничения). 3. Восстановительная процедура на языке БОЬ. В статье также приведен широкий обзор работ, связанных с этой темой, Сосйгапе К., Рсгайеьй Н., апс) Ма!соя ЬЬ !псе8гайп8 Тпййегя апс! Рес!агабче Сопзсга!пса !и БОЬ РасаЬаяе Бумепс 0 Ргос. 22 !пс. СопГ. оп Чету ! аг8е Раса Вазев.— МцгпЬас (ВошЬау), !пс)!а, БерсешЬег, ! 996.
Цитата: "Семантика взаимодействия триггеров и декларативных ограничений должна быть точно определена, что позволит избежать противоречий при выполнении и обеспечить пользователей подробной моделью для упрощения понимания подобных взаимодействий. Эта [статья) определяет такую модель". Рассматриваемая модель была применена в среде СУБД РВ2 и "принята как модель для ожидаемой новой версии стандарта языка БОЬ (БОЬЗ)" (см. приложение Б). СосЫ Е.Г.
Роша!пз, Кеуз, апд Ке(егепйа! 1псе8гцу сп Ке!айопа! РасаЬазея !/ 1пГоРВЗ. — 1988. — 3, № 1. Здесь обсуждаются понятия домена, первичного ключа и внешнего ключа. Эта статья, очевидно, должна быть авторитетной, поскольку Кодд является автором всех трех понятий. Однако, по мнению автора данной книги, с~атья, к сожале- 3З2 Часть 11 Реляционная модель нию, оставила слишком много вопросов неразрешенными и невыясненными. Между прочим, в ней приводятся следуюгцие аргументы в пользу соблюдения требования, чтобы олин потенциальный ключ обязательно выбирачся в качестве первичного ключа: "Отказагься от этого правила — это то же самое, что попытаться использовать компьютер со схемой адресации основной памяти..., в которой основание системы исчисления изменяется всякий раз при возникновении определенных условий (например, если встретился адрес, являвшийся простым числом)". Однако, рассуждая подобным образом, можно прийти к выводу, что одну и ту же схему адресации следует использовать для всех видов объектов.
Но разве не удобнее "адресовать" поставщиков с помощью номера поставщика, а детали — с помощью номеров деталей (не говоря уже о поставках, для которых используется сосглавной "адрес")? (На самом деле эта идея глобальной универсальной схемы адресации заслуживает дальнейшего обсуждения. См.
обсуждение заменителей в аннотации к [13. ! 6] в главе 13.) Раге СЗ. Ке(егепба! 1пгейгйу I/ Ргос. 7й 1п!егп. Сопб оп Чегу 1.агйе Раса Вазеь — Саппев, ггапсе, Яер!ешЬег, !981. Позднее была издана пересмотренная версия этой статьи (Раге СЗ. Ке1абопа! Ра!аЬазе: Яе!ее!ей Фг!!!пйя — Кеайпй, Макал Ай)!яоп-Фез1еу, 1986). В статье предложены правила ссылочных действий (преимущественно ЕЕЯТЕ1СТ н СЛЕСАРЕ), которые обсуждались в разделе 8.8 этой главы.
8.9. Замечание. Основное различие между первой версией статьи (ЧРРВ 1981) и пересмотренной версией состоит в том, что в первой версии, следовавшей [13.6], для внешнего ключа допускались ссылки на любое количество переменных-отношений, тогда как в пересмотренной версии (соображения по этому поводу рассматриваются в [8,10]) автор уже не придерживается такой чрезмерно общей позиции. Расе СЗ.