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

Билет 16

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

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

Реляционная алгебра состоит из 8 реляционных операторов, объединенных в две группы:

  • Теоретико-множественные операторы: объединение, пересечение, вычитание, декартово произведение

  • Специальные реляционные операторы: выборка, проекция, соединение, деление.

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

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

  • Отношения имеют одно и то же множество имен атрибутов, т.е. для любого атрибута в одном отношении найдется атрибут с таким же наименованием в другом отношении,

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

Пусть даны отношения A(X1,X2,…,Xn,Y1,Y2,…,Ym) и B(Y1,Y2,…,Ym), причем атрибуты Y1,Y2,…,Ym - общие для двух отношений. Делением отношений A на B называется отношение с заголовком (X1,X2,…,Xn) и телом, содержащим множество кортежей (x1,x2,…,xn), таких, что для всех кортежей (y1,y2,…,ym) из B в отношении A найдется кортеж (x1,x2,…,xn,y1,y2,…,ym).

Отношение A выступает в роли делимого, отношение B выступает в роли делителя. Деление отношений аналогично делению чисел с остатком.

Н апример имеется отношение Право. Требуется найти тех пилотов, которые имеют право управлять всеми типами самолета из некоторого множества q.

Пилот

Тип_самолета

Иванов

707

Иванов

727

Иванов

747

Петров

707

Петров

727

Сидоров

707

Сидоров

727

Сидоров

747

Сидоров

1011

Макаров

727

Право q

Тип_самолета

707

727

747


Тогда в результате получим отношение

Пилот

Иванов

Сидоров

Право ÷ q

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

При соединении отношений А и В по условию производится сцепление строк отношений А и В, и проверка полученной строки на соответствии заданному условию. Если условие выполнено, то полученная строка включается в результирующее отношение. Условие представляет собой логическое выражение, в которое могут входить атрибуты отношений A и B и (или) скалярные выражения. Т.о., операция соединения по условию есть результат последовательного применения операций декартового произведения и выборки.

Пусть даны отношения A(A1,A2,...,An,X1,X2,...Xn) и B(X1,X2,...Xn,B1,B2,...,Bn), причем атрибуты X1,X2,...Xn‑ общие для двух отношений. Тогда естественным соединением отношений A и B называется отношение с заголовком (A1,A2,...,An, X1,X2,...Xn,B1,B2,...,Bm) и телом, содержащим множество кортежей (a1,a2,...,an,x1,x2,...,xn,b1, ,b2,...,bn), таких, что (a1,a2,...,an,x1,x2,...,xn) из A и (x1,x2,...,xn,b1,b2,...,bn) из B.

Естественное соединение производится по всем одинаковым атрибутам.

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

Студенты Оценки

ФИО

Дата_рожд

Ном_зач_книжки

Белков Ю.Г.

06.08.86

2346

Романов О.Р.

12.04.90

2568

Шариков А.И.

21.09.88

2478

Код_дисциплины

Ном_зач_книжки

Оценки

4

2346

6

4

2568

5

7

2346

8

2

2568

6

3

2478

9


Результатом операции естественного соединения будет отношение

ФИО

Дата_рожд

Ном_зач_книжки

Код_дисциплины

Оценки

Белков Ю.Г.

06.08.86

2346

4

6

Белков Ю.Г.

06.08.86

2346

7

8

Романов О.Р.

12.04.90

2568

4

5

Романов О.Р.

12.04.90

2568

2

6

Шариков А.И.

21.09.88

2478

3

9