|
Программирование >> Хронологические базы данных
а) А WHERE ... б) А {...} в) А TIMES В г) А UNION В д) А INTERSECT В е) А MINUS В ж) А JOIN В з) EXTEND В ADD <выражение> AS Z и) SUMMARIZE А PER В ADD <выражение> AS Z к) А SEMIJOIN В л) А SEMIMINUS В Для каждого случая предполагается, что переменные-отношения А и В удовлетворяют требованиям для соответствуюшей операции (т.е. имеют тот же тип, что и в случае операции UNION). 8.6. Пусть R - переменная-отношение степени п. Какое максимальное количество потенциальных ключей может иметь переменная-отношение R? 8.7. Пусть R - переменная-отношение, имеющая единственными допустимыми значениями особые (и очень важные) отношения степени О с названиями DEE и DUM. Какой потенциальный ключ (или ключи) имеет эта переменная-отношение R? 8.8. В данной главе для внешних ключей обсуждались правила удаления и обновления (DELETE и UPDATE), но не упоминались правила вставки (операция INSERT). Почему? 8.9. Используя значения из базы данных поставщиков, деталей и проектов (см. рис. 4.5), укажите, каким будет результат выполнения каждой из приведенных ниже операций. а) Обновить кортеж проекта с номером J7, присвоив атрибуту CITY значение New York. б) Обновить кортеж детали с номером р5, присвоив атрибуту Р# значение р4. в) Обновить кортеж поставщика с номером S5, присвоив атрибуту SI значение S8. Предполагается, что для этой операции установлено правило обновления RESTRICT. г) Удалить кортеж поставщика с номером S3. Предполагается, что для этой операции установлено правило удаления CASCADE. д) Удалить кортеж детали с номером Р2. Предполагается, что для этой операции установлено правило удаления RESTRICT. е) Удалить кортеж проекта с номером J4. Предполагается, что для этой операции установлено правило удаления CASCADE. ж) Обновить кортеж поставки с ключом Sl-Pl-Jl, присвоив атрибуту Si значение S2. з) Обновить кортеж поставки с ключом S5-P5-J5, присвоив атрибуту Ji значение J7. и) Обновить кортеж поставки с ключом S5-P5-J5, присвоив атрибуту Jt значение J8. к) Вставить кортеж для поставки с ключом S5 - Рб - J7. л) Вставить кортеж для поставки с ключом S4 - Р7 - J6. м) Вставить кортеж для поставки с ключом Sl-P2-jjj (где jjj -значение номера проекта по умолчанию). 8.10. В учебной базе данных содержится информация о схеме процесса обучения внутри компании. Для каждого курса обучения в базе данных имеются подробные сведения обо всех необходимых курсах, которые должны быть прослушаны перед данным, и обо всех потоках его прослушивания. Для каждого потока в базе данных содержатся сведения обо всех его преподавателях и студентах, зарегистрированных для прохождения курса в данном потоке. База данных также содержит информацию о сотрудниках. Соответствующие переменные-отношения описаны ниже. COURSE { COURSE*, TITLE } /* Курс */ PREREQ { SUP C0URSE#, SUB C0URSE# } /* Условия */ OFFERING { COURSEI, 0FF#, OFFDATE, LOCATION } /* Поток */ TEACHER { COURSEI, OFFi, EMP# } /* Преподаватель */ ENROLLMENT { COURSEI, OFF#, EMPi, GRADE } /* Списки */ EMPLOYEE { EMPI, ENAME, JOB } /* Работник */ Смысл переменной-отношения PREREQ (Предварительные условия) заключается в том, что определенный старший курс (SUP COURSEl) требует в качестве обязательного условия предварительного прослушивания некоторого подчиненного курса (SUB COURSEl). Назначение остальных переменных-отношений должно быть понятно без каких-либо дополнительных пояснений. Начертите для этой базы данных соответствующую ссылочную диафамму. Дайте также соответствующие определения базы данных (т.е. запишите соответствующий набор определений типов и переменных-отношений). 8.11. Две следующие переменные-отношения представляют базу данных, содержащую информацию об отделах и служащих. DEPT { DEPTI, ... , MGR EMP, ... } ЕМР { EMPI, ... , DEPTI, ... } В каждом отделе есть менеджер (MGR EMP), и каждый из служащих работает в одном из отделов (DEPTI). Начертите ссылочную диаграмму и необходимые определения данных для этой базы данных. 8.12. Две следующие переменные-отношения представляют базу данных, содержащую информацию о служащих и профаммистах. ЕМР { ЕМР*, ... , JOB, ... } PGMR { ЕМР*, ... , LANG, ... } Каждый профаммист является служащим, но не наоборот. Начертите ссылочную диафамму и необходимые определения данных для этой базы данных. 8.13. Один из вопросов, который еще не обсуждался в этой главе, связан с ситуацией, когда пользователь пытается удалить некоторую переменную-отношение или тип, а существующее офаничение целостности ссылается на эту переменную-отношение или тип. Что должно произойти в такой ситуации? 8.14. Запишите ответ к упр. 8.1 на языке SQL. 8.15. Сравните средства поддержки целостности в языке SQL и тот механизм поддержки целостности, который был описан в основной части этой главы, и укажите различия между ними. Список литературы 8.1. Aileen А., Hellerstein J.M., and Widom J. Static Analysis Techniques for Predicting the Behavior of Active Database Rules ACM TODS. - March, 1995.-20, № 1. В этой статье продолжена работа, начатая в [8.2], [8.5]; см. экспертная система баз данных (здесь она называется активной системой баз данных). В частности, в статье описана система правил прототипа Starburst компании IBM (см. [17.50], [25.14], [25.17], [25.21], [2522], а также [8.22]). 8.2. Balaris Е.А. and Widom J. An Algebraic Approach to Rule Analysis in Expert Database Systems Proc. 20th Int. Conf on Very Large Data Bases. - Santiago, Chile, September, 1994. В соответствии с этой статьей экспертная система баз данных представляет собой систему баз данных, которая поддерживает правила условий/действий (в нашей терминологии условиям соответствуют триггерные условия, а действиям - триггерные процедуры). Одной из проблем для таких систем является то, что их поведение сложно по своему существу как для понимания, так и для прогнозирования. В статье предлагаются методы для предварительного определения перед выполнением, обладает ли заданный набор правил свойствами завершенности и слияния. Свойство завершенности означает, что выполнение правила гарантированно не будет продолжаться бесконечно. Свойство слияния означает, что окончательное состояние базы данных не зависит от порядка, в котором эти правила выполнялись. 8.3. Bernstein Р.А., Blaustein В.Т., Clarke Е.М. Fast Maintenance of Semantic Integrity Assertions Using Redundant Aggregate Data Proc. 6th Intern. Conf on Very Large Data Bases. - Montreal, Canada, October, 1980. Здесь представлен эффективный метод приведения в действие офаничений целостности особого рода на примере, в котором любое значение множества А должно быть меньше любого значения множества В . Этот метод основан, например, на том наблюдении, что данное офаничение, по сути, логически эквивалентно офаничению максимальное значение множества А должно быть меньше минимального значения множества В . Приводя офаничения к подобному типу и используя автоматическое сохранение максимальных и минимальных значений в виде скрытых системных переменных, можно снизить число операций сравнения, используемых для приведения в действие заданного офаничения. В подобном случае это число сравнений не будет зависеть от размера множества А или множества В (в зависимости от того, к какому из множеств применяется операция обновления). Однако это будет возможно только при организации хранения максимального и минимального значений. 8.4. Buneman О.Р., Clemons Е.К. Efficiently Monitoring Relational Databases ACM TODS. - September, 1979. - 4, № 3.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |