Программирование >>  Хронологические базы данных 

1 ... 97 98 99 [ 100 ] 101 102 103 ... 348


а) А 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.



1 ... 97 98 99 [ 100 ] 101 102 103 ... 348

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика