Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры БД.docx
Скачиваний:
16
Добавлен:
26.09.2019
Размер:
592.64 Кб
Скачать
  1. Язык запросов к рбд, основанный на реляционной алгебре, примеры запросов.

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

Основными операциями реляционной алгебры (РА) являются:

1. Объединение отношений. Объединением отношений RUS называется отношение, состоящее из кортежей r, принадлежащих первому или второму операнду

RS = { r | r R r S }. U∨

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

Например, если сведения по учебным лабораториям разных факультетов (1) представлены следующими, имеющими одинаковые структуры, отношениями

ЛАБОРАТОРИЯ_РТФ (Название, Изучаемый предмет, Используемое оборудование),

ЛАБОРАТОРИЯ_ФТФ (Название, Изучаемый предмет, Используемое оборудование),

то выражение ЛАБОРАТОРИЯ_РТФ U ЛАБОРАТОРИЯ_ФТФ создаст общий перечень учебных лабораторий на этих двух факультетах.

2. Разность отношений. Разностью отношений R \ S называется отношение, состоящее из кортежей r, принадлежащих первому отношению (R), но отсутствующих во втором отношении ( S )

R \ S = { r | r R r S }.

Операция разности также применима к отношениям, имеющим одинаковые схемы.

Например, чтобы найти лаборатории, имеющиеся на радиотехническом, но отсутствующие на физико-техническом факультете, надо выполнить запрос

ЛАБОРАТОРИЯ_РТФ \ ЛАБОРАТОРИЯ_ФТФ.

3. Декартово произведение отношений. Данная операция выполняет сцепление (конкатенацию) кортежей исходных отношений. Декартовым произведением отношения R со схемой СR (A1, A2, . . ., An) и отношения S со схемой СS (B1, B2, . . . , Bm ) называется отношение со схемой С (A1, A2, . . ., An , B1, B2, . . . , Bm), кортежи которого <a, b> образованы сцеплением каждого кортежа отношения R с каждым кортежом отношения S:

R × S = { <a, b> | a R b ∧∈ S }.

4. Селекция строк в отношении. Селекция отношения (Sel) - унарная операция, выполняющая фильтрацию кортежей - «горизонтальную выборку» по условию на значения данных. Операция селекции кроме отношения (R) использует параметр (F), являющийся условием фильтрации и задаваемый булевой функцией, построенной из высказываний (сравнений) вида:

<атрибут в R> <сравнение> <атрибут в R > и/или

<атрибут в R > <сравнение> <константа>.

Здесь <сравнение> ∈ { >, <, <=, >= , =, # }.

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

SelF(R) = { r | r R F }.

Примером операции селекции может служить запрос: Получить из отношения СТУДЕНТ все сведения о студентах радиотехнического факультета:

Sel Факультет = ‘Радиотехнический’ (СТУДЕНТ).

5. Проекция отношения. Проекция отношения (Pr) - унарная операция, реализующая выбор подмножества атрибутов (столбцов) из отношения. Операция проекции кроме отношения (R) использует параметры (i1, i2, i3, . . . , ik), являющиеся именами или номерами атрибутов отноше-

ния R. Результатом проекции являются кортежи отношения R, в которых представлены атрибуты, заданные параметрами i1, i2, i3, . . . , ik :

Pr i1, i2, i3, . . . , ik (R) = {< a1, a2, a3, . . . , ak> | a1 = r i1 a2 = r i2 . . . . a∧∧k = r ik }.

Таким образом, проекция выполняет выборку заданных столбцов (вертикальную выборку) из таблицы – отношения.

Проектирование результата предыдущего запроса позволит вывести только специальности и фамилии И.О. студентов радиотехнического факультета:

Pr Специальность, Фамилия И.О. (Sel Факультет = ‘Радиотехнический’ (СТУДЕНТ)).

Для сокращения длины запроса в РА вводится две дополнительные операции.

1. Условное или Θ-соединение(тэта). Θ-соединение является бинарной операцией, сцепляющей кортежи двух отношений – операндов R и S, но не каждого кортежа R с каждым кортежом S, а только, удовлетворяющих определенному условию. Для задания условия сцепления операция имеет параметр F, задаваемый булевой функцией, построенной из высказываний вида: <атрибут в R> <сравнение Θ > <атрибут в S>.

Θ-соединением отношения R со схемой СR (A1, A2, . . ., An ) и множеством кортежей вида a = <a1, a2, a3, . . . , an> с отношением S со схемой

СS (B1, B2, . . . , Bm ) и кортежами вида b = < b1, b2, b3, . . . , bm> называется отношение со схемой С (A1, A2, . . ., An , B1, B2, . . . , Bm), кортежи которого

2. Естественное соединение является бинарной операцией, развивающей Θ-соединение. В естественном соединении условие связывания кортежей соответствует ограничению ссылочной целостности отношений. Одно из отношений, участвующих в операции, должно иметь внешний ключ (FК), ссылающийся на первичный ключ (РК) в другом операнде естественного соединения. Результат естественного соединения вычисляется как Θ-соединение по условию равных значений атрибутов первичного и внешнего ключей соединяемых отношений:

3. Деление отношений.

R÷S=T

R=R(X,Y) S=S(Y) X,Y – последовательности атрибутов

T(X)=R(X,Y)÷S(Y) – частное, если T(X)×S(Y)≤R(X,Y), т.е. T(X)принадл.Px(R)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]