Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМП-БД.doc
Скачиваний:
17
Добавлен:
05.12.2018
Размер:
1.26 Mб
Скачать

Операции над отношениями.

Для получения информации из отношений необходим язык манипулирования данными.

Наиболее важной частью ЯМД является раздел формулировки запросов, который должен обладать достаточной выразительностью. Разработано три типа ЯМД:

  1. реляционная алгебра

  2. реляционное исчисление с переменными кортежами

  3. реляционное исчисление с переменными доменами.

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

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

Рассмотрим основные операции:

  1. Объединение отношений R = R1 U R2

Применяется только к отношениям одной и той же –арности.

а б в

R1: д е а R2: и к л

и к л г д е

R1 R2 : а б в

д е а

и к л

г д е

2. Разность отношений R = R1 -R2

Разностью R1 -R2 называется множество кортежей, принадлежащих R1, но не принадлежащих R2 . Одинаковой арности

R1 -R2 : а б в

д е а

3. Декартово произведение R = R1 * R2

Если отношение R1 имеет арность К1, а отношение R2 арность К2, то декартовым произведением R1*R2 является множество кортежей арности К12, при чем первые К1 элементов образуют кортеж из отношения R1, а последние К2 элементов – кортеж из описания R2

а б в и к л

д е а и к л

и к л и к л

а б в г д е

д е а г д е

и к л г д е

  1. Проекция отношения R1 на компонент i1, i2,..,ir R=Пi1,i2,…,ir (R1), где i1,i2,…,ir – номера столбцов отношения R1

Операция проекции заключается в том, что из отношения R1 выбираются столбцы с индексами i1, i2,..,ir и компонуются в указанном порядке

R=П1,2 (R1) а б R= П3,1 (R1) в а

д е а д

и к л и

  1. Селекция отношения R1 по формуле F: R =σF(R1), где F – формула, образованная операндами, являющимися номерами столбцов, логическими операторами «И», «ИЛИ», «НЕ» и операциями сравнения < = > ≤ ≥ ≠. Могут использоваться скобки.

R = σ1=a v1=д(R1); R = σ2=к (R1);

а б в и к л

д е а R = σ1≠3 (R1)

а б в

д е а

и к л

Следующие операции реляционной алгебры можно получить с помощью основных, но они имеют самостоятельное значение

1. Пересечение: R= R1 ∩ R2 = R1 - (R1 - R2)

R1 и к а н R1 и к н а R1 ∩ R2: с а м д

с а м д с а м б о л р б

и к б в р к б в

о л р б о л р б

д в е н е д в и

2. Соединение отношений R1 >< R2, Ө - оператор сравнения, i, j – номера столбцов в отношениях R1 и R2. i ө j

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

R1 А В С R2 Д Е R1 > < R2

а б в а и В=Д

а и р е к А В С Д Е

д е ж д е ж е к

Полученная система операций реляционной алгебры образует полный язык.

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