Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СУБД_new.docx
Скачиваний:
13
Добавлен:
22.09.2019
Размер:
181.65 Кб
Скачать

Манипуляционная часть реляционной модели данных. Реляционная алгебра.

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

R= f(R1, R2, , Rn)

- это функция, с отношение в качестве аргументов.

Реляционная алгебра является замкнутой.

R= f(f(R11, R12, .., R1m), R2, .., Rn)

Реляционные операции разбиваются на 2 группы:

  1. Теоретико-множественные операции (основные): объединение, декартово произведение.

  2. Специфические реляционные операции: выборка, проекция, соединение, деление, переименование.

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

Отношения считаются совместимыми по типу, если

  1. Отношения имеют одно и то же множество аргументов.

  2. Атрибуты с одинаковыми именами, определённые на одних и тех же доменах.

Некоторые отношения не являются совместимыми по типу, но становятся такими после применения операции переименования.

Операции над множествами

Над множествами можно выполнить 4 операции:

  1. Присвоение Пусть А – множество, тогда операция присвоения имеет следующий вид: А:=значение, где значением может быть переменная или константа типа множество. Данная операция является одноместной. Остальные операции двухместные. Операндами в этих операциях могут быть переменные и константы типа множество. Пусть А и В – множества.

  2. Определение: Пересечение множеств – это новое множество, состоящее из элементов, которые одновременно принадлежат множеству А и В (АᴖВ).

  3. Определение: Объединение множеств – это новое множество, в которое входят элементы и из элементов множества А, и из элементов множества В, и элементы, принадлежащие одному и второму множествам одновременно (АᴗВ)

  4. Определение: Разность множеств – это новое множество, в которое входят элементы уменьшенного множества (пусть это множество А) и не входят элементы вычитаемого множества (В) (А\В)

Последние 2 операции используются для выполнения следующих действий:

  1. (А+В) – используется для включения в множество отдельных элементов.

  2. (А-В) – используется для исключения отдельных элементов из множества.

Основные реляционные операции (объединение, пересечение, разность)

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

Пусть есть 2 отношения r(R) и s(R). Причём схем R=(A, B, C).

r

(A

B

C)

s

(A

B

C)

a1

b1

c1

a1

b2

c1

a1

b2

c2

a2

b2

c1

a2

b1

c2

a2

b2

c2

rᴖs

(A

B

C)

a1

b2

c1

rᴗs

(A

B

C)

a1

b1

c1

a1

b2

c1

a1

b2

c1

a2

b2

c1

a2

b2

c2

r-s

(A

B

C)

a1

b1

c1

a2

b1

c2

Результатом операции объединения отношений r и s является отношение q, в которое входят все кортежи, принадлежащие или отношение r или отношению s.

Результатом операции пересечения отношений r и s является отношение q, включающее в себя кортежи, входящие и в r и в s.

Результатом операции разности является отношение q, в которое входят все кортежи, принадлежащие отношению r и не принадлежащие отношению s.

Пример:

Отношение r – клиенты банка A.

Отношение s – клиенты банка В.

q – результат.

r

id

Город

Фамилия

К11

Москва

Петров

К12

СПБ

Смирнов

К12

Воронеж

Соколов

s

id

Город

Фамилия

К21

Самара

Петров

К22

Москва

Петров

К23

Тверь

Семёнов

Д./з. Пусть имеется 3 отношения с одной и той же схемой (R1, R2, R3)

R=(ФИО, Паспорт, Школа).

R1- список абитуриентов, сдавших пробные (репетиционные) экзамены.

R2 – список абитуриентов, сдавших на общих основаниях.

R3 – список абитуриентов, принятых в институт.

С помощью реляционных операторов (объединение, пересечение, разность) получить список абитуриентов

  • которые поступали 2 раза и не постпили;

  • которые поступили с первого раза;

  • поступали лишь 1 раз и не поступили.

Определение: Декартовым произведением называется отношение, заголовок которого является сцеплением заголовков А и В, а тело представляет собой сцепление каждого кортежа из А с кортежом из В.

A TIMES B

№ студ. билета

ФИО

№ предмета

Название

1

1

2

2

№ студ. билета

ФИО

№ предмета

Название

1

1

1

2

2

1

2

2

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

(Студенты RENAME Номер AS НомерСт) TIMES Предметы

Дополнительные реляционные операции (выбор, проекция, соединение, деление)

  1. Операция выбора или ограниченная выборка на отношении А с условием С называется отношение с тем же заголовком и телом, составляющих из кортежей, удовлетворяющих условию С. Вид операции: Выбор (Имя отношения, если Условие) С= X ѲY, где Ѳ – одна из операций сравнения. X и Y – атрибуты отношения A WHERE C A WHERE ФИО=Петров Выборка даёт горизонтальный срез отношения. Условие может быть простым или сплошным. Простое условие имеет следующий вид: 1) А операция сравнения В, где А и В – имена атрибутов отношения. 2) А операция сравнения const, где А – атрибут отношения, а const – некоторая константа (численная, строковая и т. д.). В сложном условии может использоваться логическое выражение, где несколько простых условий могут быть связаны логическими операндами: AND, OR, NOT.

  2. Проекция отношения Определение 1: Проекцией отношения А по атрибутам X, Y, Z, где X, Y, Z – атрибуты отношения А, называется отношение с заголовком (X, Y, Z). Тело формируется путём извлечения значений указанных атрибутов, исключая из отношения строки-дубликаты. Определение 2: Проекция отношения А – это операция (как операция выбора), выполняющаяся над одним отношением. Операция проекции формирует новые отношения в соответствии с заданным (в качестве второго операнда операции) подмножеством атрибутов и порядком расположения атрибутов как в исходном отношении. Проекция даёт вертикальный срез отношения. Проекция осуществляется в 2 этапа. На первом из исходного отношения изо всех кортежей удаляются все столбцы, не входящие в схему (на которую осуществляется проекция), заданную вторым операндом. На втором удаляются дубли кортежей. В итоге новое отношение может содержать не только меньше атрибутов, но и меньше кортежей.

  3. Соединение отношений. Сцеплением (конкатенацией) двух кортежей называется кортеж, полученный добавлением значения второго кортежа в конец первого. C={a,b,c} R={d,e,f} Q={a,b,c,d,e,f} Соединение выполняется над двумя логически связанными (по общему атрибуту) отношениями для заданного условия соединения. Исходные отношения C и R имеют разные схемы, в которых есть одинаковые атрибуты. Как правило это внешний и первичный ключи (ключи связи). Операция соединения формирует новые отношения, схема которых включает все атрибуты исходных отношений, то есть результирующие кортежи формируются соединением (конкатенацией) каждого кортежа C с теми же кортежами R, для которых выполняется условие. Существуют следующие виды соединений: 1) Естественное соединение. 2) Эквивалентное соединение (экви-соединение). 3) Ѳ-соединение. 4)Внешнее соединение. В зависимости от условия соединения может требоваться равенство значений общих атрибутов отношений C и R), то есть условие задаётся в виде a=b, где а и b – первичные и внешние ключи соответственно или экви-соединение (требуется равенство значений не общих атрибутов, а тех, которые заданы в условии). Или Ѳ соединение (в условии задаётся не операция равенства, а какая-либо другая операция). У операции соединения 3 операнда: первый и второй – это соединяемые отношения, а третий – условие. Естественное отношение эквивалентно последовательности реляционных операций: 1)Переименование одинаковых атрибутов в отношениях. 2) Выполнение декартова произведения отношений. 3) Выполнение выборки по совпадающим значениям атрибутов, имеющих одинаковые имена. 4) Выполнение проекции, удаление повторяющихся атрибутов. 5) Возвращение атрибутов, возвращение первоначальных имён. Пусть есть исходное отношение

r1

(ФИО

Группа)

Студенты

Иванов

742

Петров

642

Сидоров

642

Воронов

542

Киреев

342

Широков

721

r2

(Группа

Факультет)

Группы

342

ФВТ

542

ФВТ

642

ФВТ

742

ФВТ

721

ФЭ

Естественное соединение

Соединим r1 и r2 по правилам естественного соединения:

Иванов

742

ФВТ

Петров

642

ФВТ

Сидоров

642

ФВТ

Воронов

542

ФВТ

Киреев

342

ФВТ

Широков

721

ФЭ

Ѳ соединение

Ѳ соединением отношения А по атрибуту х с отношением В по атрибуту у называют отношение R, получаемое так:

R=(A TIMES B) WHERE x Ѳ y

Экви-соединение

Экви-соединение – это частный случай Ѳ соединения, когда условия <>, >, < и т. д.

Внешнее соединение

Внешнее соединение бывает следующих видов:

  1. Левое.

  2. Правое.

  3. Полное.

Левое внешнее соединение отличается от естественного тем, что в результирующее отношение добавляются все кортежи отношения А (левая таблица). При этом отсутствующие значения полей из отношения В будут заполняться NULL значениями.

Правое внешнее соединение выполняется аналогично левому.

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

A JOIN B – естественное соединение.

A RIGHT JOIN B – правое соединение.

A FULL JOIN B - полное соединение.

Д./з. Привести примеры.

  1. Деление

Пусть отношение А содержит множество атрибутов X, а множество B - содержит множество атрибутов Y. Пусть Z=X-Y, тогда результатом операции A/B является отношение C с заголовком, содержащим множество атрибутов Z. Тело отношения C представляет собой набор кортежей, состоящих из значений множества атрибутов Z, которые составляют комбинации всех кортежей B.

A DIVIDE BY B

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

Д./з. Пример деления.