76152

Специальные операции реляционной алгебры

Контрольная

Информатика, кибернетика и программирование

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

Русский

2015-01-29

27.82 KB

2 чел.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ПСКОВСКИЙ ГОСУЛАРСТВЕННЫЙ УНИВЕРСИТЕТ

Контрольная работа

по учебному курсу

«БАЗЫ ДАННЫХ»

(ВАРИАНТ №6)

Специальные операции реляционной алгебры

Выполнил:

Студент группы 1083-03С

Шифр 12108006

Н.В. Бросов

Проверил преподаватель:

Н.В. Мотина

Псков

2015

Содержание

1. Реляционная алгебра                                                                           стр_3

2. Специальные реляционные операции                                               стр_4

    2.1. Операция ограничения                                                                стр_4

    2.2. Операция взятия проекции                                                         стр_5

    2.3. Операция соединения отношений                                             стр_6

    2.4. Операция деления отношений                                                   стр_8

3. Список использованной литературы                                                 стр_9

Реляционная алгебра

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

Существует много подходов к определению реляционной алгебры, которые различаются набором операций и способами их интерпретации, но в принципе, более или менее равносильны. Мы опишем немного расширенный начальный вариант алгебры, который был предложен Коддом. В этом варианте набор основных алгебраических операций состоит из восьми операций, которые делятся на два класса - теоретико-множественные операции и специальные реляционные операции. В состав теоретико-множественных операций входят операции:

  1.  объединения отношений;
  2.  пересечения отношений;
  3.  взятия разности отношений;
  4.  прямого произведения отношений.

Специальные реляционные операции включают:

  1.  ограничение отношения;
  2.  проекцию отношения;
  3.  соединение отношений;
  4.  деление отношений.

Кроме того, в состав алгебры включается операция присваивания, позволяющая сохранить в базе данных результаты вычисления алгебраических выражений, и операция переименования атрибутов, дающая возможность корректно сформировать заголовок (схему) результирующего отношения.

Специальные реляционные операции

Cпециальные реляционные операции реляционной алгебры:

  1.  ограничение,
  2.  проекция,
  3.  соединение
  4.  деление.

Операция ограничения

Операция ограничения требует наличия двух операндов: ограничиваемого отношения и простого условия ограничения. Простое условие ограничения может иметь либо вид (a comp-op b), где а и b - имена атрибутов ограничиваемого отношения, для которых осмысленна операция сравнения comp-op, либо вид (a comp-op const), где a - имя атрибута ограничиваемого отношения, а const - литерально заданная константа.

В результате выполнения операции ограничения производится отношение, заголовок которого совпадает с заголовком отношения-операнда, а в тело входят те кортежи отношения-операнда, для которых значением условия ограничения является true.

Пусть UNION обозначает операцию объединения, INTERSECT - операцию пересечения, а MINUS - операцию взятия разности. Для обозначения операции ограничения будем использовать конструкцию A WHERE comp, где A - ограничиваемое отношение, а comp - простое условие сравнения. Пусть comp1 и comp2 - два простых условия ограничения. Тогда по определению:

  1.  A WHERE comp1 AND comp2 обозначает то же самое, что и (A WHERE comp1) INTERSECT (A WHERE comp2)
  2.  A WHERE comp1 OR comp2 обозначает то же самое, что и (A WHERE comp1) UNION (A WHERE comp2)
  3.  A WHERE NOT comp1 обозначает то же самое, что и A MINUS (A WHERE comp1)

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

На интуитивном уровне операцию ограничения лучше всего представлять как взятие некоторой "горизонтальной" вырезки из отношения-операнда.

Операция взятия проекции

Операция взятия проекции также требует наличия двух операндов - проецируемого отношения A и списка имен атрибутов, входящих в заголовок отношения A.

Результатом проекции отношения A по списку атрибутов a1, a2, ..., an является отношение, с заголовком, определяемым множеством атрибутов a1, a2, ..., an, и с телом, состоящим из кортежей вида <a1:v1, a2:v2, ..., an:vn> таких, что в отношении A имеется кортеж, атрибут a1 которого имеет значение v1, атрибут a2имеет значение v2, ..., атрибут an имеет значение vn. Тем самым, при выполнении операции проекции выделяется "вертикальная" вырезка отношения-операнда с естественным уничтожением потенциально возникающих кортежей-дубликатов.

Операция соединения отношений

Общая операция соединения (называемая также соединением по условию) требует наличия двух операндов - соединяемых отношений и третьего операнда - простого условия. Пусть соединяются отношения A и B. Как и в случае операции ограничения, условие соединения comp имеет вид либо (a comp-op b), либо (a comp-op const), где a и b - имена атрибутов отношений A и B, const - литерально заданная константа, а comp-op - допустимая в данном контексте операция сравнения.

Тогда по определению результатом операции сравнения является отношение, получаемое путем выполнения операции ограничения по условию comp прямого произведения отношений A и B.

Если внимательно осмыслить это определение, то станет ясно, что в общем случае применение условия соединения существенно уменьшит мощность результата промежуточного прямого произведения отношений-операндов только в том случае, когда условие соединения имеет вид (a comp-op b), где a и b - имена атрибутов разных отношений-операндов. Поэтому на практике обычно считают реальными операциями соединения именно те операции, которые основываются на условии соединения приведенного вида.

Хотя операция соединение в нашей интерпретации не является примитивной (поскольку она определяется с использованием прямого произведения и проекции), в силу особой практической важности она включается в базовый набор операций реляционной алгебры. Заметим также, что в практических реализациях соединение обычно не выполняется именно как ограничение прямого произведения. Имеются более эффективные алгоритмы, гарантирующие получение такого же результата.

Имеется важный частный случай соединения - эквисоединение и простое, но важное расширение операции эквисоединения - естественное соединение. Операция соединения называется операцией эквисоединения, если условие соединения имеет вид (a = b), где a и b - атрибуты разных операндов соединения. Этот случай важен потому, что (a) он часто встречается на практике, и (b) для него существуют эффективные алгоритмы реализации.

Операция естественного соединения применяется к паре отношений A и B, обладающих (возможно составным) общим атрибутом c (т.е. атрибутом с одним и тем же именем и определенным на одном и том же домене). Пусть ab обозначает объединение заголовков отношений A и B. Тогда естественное соединение A и B - это спроектированный на ab результат эквисоединения A и B по A/c и BBC. Если вспомнить введенное нами в конце предыдущей главы определение внешнего ключа отношения, то должно стать понятно, что основной смысл операции естественного соединения - возможность восстановления сложной сущности, декомпозированной по причине требования первой нормальной формы. Операция естественного соединения не включается прямо в состав набора операций реляционной алгебры, но она имеет очень важное практическое значение.

Операция деления отношений

Эта операция наименее очевидна из всех операций реляционной алгебры и поэтому нуждается в более подробном объяснении. Пусть заданы два отношения - A с заголовком {a1, a2, ..., an, b1, b2, ..., bm} и B с заголовком {b1, b2, ..., bm}. Будем считать, что атрибут bi отношения A и атрибут bi отношения B не только обладают одним и тем же именем, но и определены на одном и том же домене. Назовем множество атрибутов {aj} составным атрибутом a, а множество атрибутов {bj} - составным атрибутом b. После этого будем говорить о реляционном делении бинарного отношения A(a,b) на унарное отношение B(b).

Результатом деления A на B является унарное отношение C(a), состоящее из кортежей v таких, что в отношении A имеются кортежи <v, w> такие, что множество значений {w} включает множество значений атрибута b в отношении B.

Предположим, что в базе данных сотрудников поддерживаются два отношения: СОТРУДНИКИ ( ИМЯ, ОТД_НОМЕР ) и ИМЕНА ( ИМЯ ), причем унарное отношение ИМЕНА содержит все фамилии, которыми обладают сотрудники организации. Тогда после выполнения операции реляционного деления отношения СОТРУДНИКИ на отношение ИМЕНА будет получено унарное отношение, содержащее номера отделов, сотрудники которых обладают всеми возможными в этой организации именами.

Список использованной литературы.

-    К.Дж. Дейт. «Введение в системы баз данных»

-    Т. Карпова. «Базы данных: модели, разработка, реализация»

-    С.Д. Кузнецов «Основы баз данных»


 

А также другие работы, которые могут Вас заинтересовать

61545. Что значит быть внимательным 17.58 KB
  Развивающие: развивать внимание память обогащать словарный запас. Ребята скажите а как вы думаете что такое внимание ответы детей Как вы думаете у всех ли есть внимание Как вы считаете что значит быть внимательным ответы детей Внимание есть у всех.
61547. Наблюдение над значениями приставок 23.26 KB
  Задачи: Повторить и закрепить знания о правописании приставок и их различия при написании слов. Развивать орфографическую зоркость, формировать навык грамотного письма слов и предложений с предлогами.
61549. Родственные слова. Корень. Безударная гласная в корне. Правописание гласной в после шипящей 21.87 KB
  Чистописание Словарная работа Физминутка Работа над предложением. Записываем в столбик слова с маленькой буквы. Поставим ударение в словах. Ребята скажите что в этих словах особенного эти слова родственные...
61550. Открытка ко Дню защитника Отечества 24.25 KB
  Цель: научить учащихся выполнять открытку в технике аппликации Задачи: Образовательные: обобщить знания о защитниках Отечества научить детей размечать детали по шаблону научить выполнять открытку научить вырезать...
61551. Открытка к 8 Марта 19.93 KB
  Педагогические задачи: Образовательные: закрепить навык разметки по шаблону закрепить навык работы с бумагой познакомить учащихся с историей праздника 8 Марта учить...
61553. Упражнение в склонении и определении падежей имён существительных 25.44 KB
  Цели урока: Образовательные: формировать умение учащихся изменять имена существительные по вопросам в единственном и множественном числе; ставить к имени существительному падежные вопросы и определять падеж имени существительного с помощью вопроса...