Упражнения

В первых упражнениях рассматриваются различные теоретические аспекты алгебры. В последующих упражнениях

читателю предлагается сформулировать некоторые Запросы в виде выражений реляционной алгебры. (Эти упражнения также можно решать и "наоборот": посмотреть алгебраическое выражение в ответе и по нему составить словесный запрос.)

6.1. Мы упоминали, что операции объединения, пересечения, произведения и (естественного) соединения обладают свойством коммутативности и ассоциативности. Проверьте эти утверждения.

6.2. Из первоначального набора восьми операций пять (объединение, вычитание произведение, выборку и проекцию) можно рассматривать как примитивные: Дайте определения естественного соединения, пересечения и (что значительно сложнее) деления в терминах этих примитивных операций.

6.3. Рассмотрим выражение А JOIN В. Если у отношений А и В заголовки разобщены (т.е. в заголовках нет общих атрибутов), то это выражение эквивалентно такому: А TIМES В. А какому выражению оно будет эквивалентно, если заголовки одинаковые?

6.4. Покажите, что пять примитивных операций, которые обсуждались в этой главе, действительно примитивны, т.е. что никакую из них нельзя выразить через четыре ее другие.

6.5. В обычной арифметике умножение и деление - взаимообратные операции. Будут ли операции TIМES и DIVIDEВY взаимообратными в реляционной алгебре?

6.6. Дана обычная база данных поставщиков и деталей; чему равно выражение

S JOIN SP JOIN P

Предостережение. Здесь есть ловушка!

6.7. Пусть А - отношение степени n. Сколько существует различных проекций отношения А?

6.8. В обычной арифметике существует специальное число 1, обладающее свойством

n * 1 = 1 * n = n

для любого числа n. Мы говорим, что 1 является нейтральным элементом по отношению к операции умножения. Существует ли отношение, обладающее аналогичными свойствами единицы в реляционной алгебре? Если существует, то какое?

6.9. В обычной арифметике существует специальное число 0, обладающее свойством

n * 0 = 0 * n = 0

для любого числа n. Существует ли отношение, обладающее аналогичными свойствами нуля в реляционной алгебре? Если существует, то какое?

6.10. Выясните, как ведут себя алгебраические операции, описанные в этой главе, на отношениях, которые получаются в ответах к двум предыдущим упражнениям.

6.11. Пусть А и В - два произвольных отношения. Укажите потенциальные ключи для следующих отношений:

а) произвольная выборка А;

б) произвольная проекция А;

в) А TIМES B;

г) А UNlON B

д) А INTERSECТ B;

е) А МINUS B;

ж) А JOIN B;

з) А DIVIDEВY B;

и) произвольное (по-разному) расширение А;

к) произвольное подведение итогов в А.

Предполагается, что в каждом случае отношения А и В удовлетворяют необходимым для рассматриваемой операции условиям (например, для операции UNION они совместимы по типу).

6.12. Выше в этой главе мы говорили, что реляционное свойство замкнутости так же важно, как и арифметическое свойство замкнутости. Однако в арифметике существует одна неприятная ситуация, в которой нарушается свойство замкнутости, а именно деление на нуль. Существует ли аналогичная ситуация в реляционной алгебре?


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: