Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БазыДанных(заочка) / Базы данных (учебное пособие).doc
Скачиваний:
194
Добавлен:
17.04.2015
Размер:
1.61 Mб
Скачать

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

Первой специальной операцией реляционной алгебры является горизонтальный выбор, или операция фильтрации, или операция ограничения отношений, или выборка.

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

R[a(r)] = {r | r Î R Ù a(r) = "Истина"}, где a(r) - условие.

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

Следующей специальной операцией является операция проектирования или проекции.

Операция применяется к одному существующему отношению для получения нового отношения. Новое отношение получается путем выбора (проецирования) определенных столбцов из текущего отношения. Если результат выполнения операции Проекция содержит повторяющиеся кортежи, то в новом отношении сохраняется только один кортеж из повторяющейся группы. (В большинстве СУБД повторяющиеся кортежи автоматически не удаляются, это обязан сделать пользователь. Следует помнить, что корректное отношение не может содержать повторяющихся кортежей).

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

Следующей специальной операцией реляционной алгебры является операция соединения.

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

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

Отношение, полученное в результате соединения двух отношений является подмножеством декартова произведения этих отношений. В полученном отношении ряд кортежей исходных отношений может отсутствовать.

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

Вариантом операции соединения является операция условного соединения.

Пусть R = { r }, Q = { q } — исходные отношения,

SR, SQ — схемы отношений R и Q соответственно.

SR = (A1, А2, ... , Аk); SQ = (B1, В2, ... , Вm), где Аi, Bj — имена атрибутов в схемах отношений R и Q соответственно.

При этом полагаем, что заданы наборы атрибутов А и В

А Í { Аi }i=1,k; В Í { Bj } j=1,m

и эти наборы состоят из q-сравнимых атрибутов.

Тогда соединением отношений R и Q при условии b будет подмножество декар­това произведения отношений R и Q, кортежи которого удовлетворяют усло­вию b, рассматриваемому как одновременное выполнение условий:

- r.Аi qi Вi : i =l,k, где k — число атрибутов, входящих в наборы А и В, а qi — конкретная операция сравнения.

- Ai qi Bi D; qi — i-й предикат сравнения, определяемый из множества допусти­мых на домене Di операций сравнения.

R [ b ] Q = { (r,q) ½ (r, q) ½r.А qi q.Bi = «Истина», i =1,k}

Последней операцией, включаемой в набор операций реляционной алгебры, яв­ляется операция деления.

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