Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Управл_данными / 19-алгебра

.pdf
Скачиваний:
20
Добавлен:
03.06.2015
Размер:
945.86 Кб
Скачать

Управление данными

Реляционная алгебра и Реляционное исчисление

Зудилин А.Э. 2012

Для управления реляционной базой данных Э. Ф. Кодд ввел реляционные языки обработки данных — реляционную алгебру и реляционное исчисление.

Эдгар Франк Кодд - британский учёный, работы которого заложили основы теории реляционных баз данных.

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

Реляционное исчисление — непроцедурный язык.

Кодд доказал логическую эквивалентность реляционной алгебры и реляционного исчисления.

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

2

Реляционная алгебра

Мы уже рассматривали основные операции по обновлению

 

информации в реляционной базе данных (Добавление,

 

Модификация, Удаление).

 

Данные операции обновления — это операции не над

 

отношениями, а над кортежами отношения.

Отношение – таблица реляционной БД.

 

Кортеж – строка таблицы.

Операторы реляционной алгебры применяются к

 

целым отношениям.

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

Отношение A

Операция

Отношение B

3

Операции реляционной алгебры

Алгеброй называется множество

Реляционная алгебра

 

объектов с заданной на нем

определяет

 

совокупностью операций, замкнутых

 

относительно этого множества.

 

следующие

Реляционная алгебра (или алгебра

операции:

 

отношений) представляет собой

 

 

 

совокупность операций высокого

объединение;

 

уровня над отношениями.

 

 

 

Первые четыре операции взяты

 

 

 

Коддом из математической теории

 

пересечение;

 

множеств и практически совпадают с

 

операциями теории множеств.

разность;

 

Поскольку реляционные таблицы

 

 

 

 

являются множествами, то к ним

 

 

 

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

 

произведение;

Следующие четыре — новые

 

операции, относящиеся только к

выбор;

 

реляционной модели данных.

 

 

создание проекций;

соединение;

Запрос

Выполнение всех перечисленных операций реляционной алгебры всегда направлено на реализацию запросов (аналог - SELECT).

Поэтому в ней отсутствуют любые конструкции, призванные объявлять, создавать или модифицировать данные.

Запрос — операция над отношениями, результатом которой является новое (чаще всего - виртуальное) отношение.

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

Используя сложные комбинации операций реляционной алгебры, можно генерировать любые запросы к БД.

5

Булевы операции

Два отношения с одной и той же схемой могут быть рассмотрены как множества одного и того же универсума — множество всех возможных кортежей с этой схемой.

Схемой отношения называется конечное множество имен атрибутов.

Заголовок столбцов отношения отражает его схему

К таким двум отношениям могут быть применены булевы операции.

К основным операциям относятся следующие булевы операции:

объединение, разность и декартово произведение.

6

Объединение (Union)

Пусть имеются отношения r и s, тогда отношение t называется объединением r и s, если каждый кортеж, принадлежащий t, принадлежит или r, или s, или им обоим.

Пример 1

Пусть имеются следующие экземпляры отношений г и s, имеющих одинаковые схемы:

7

Разность

Пусть имеются два отношения r и s, тогда отношение t называется разностью r и s, если каждый кортеж, принадлежащий t, принадлежит r, но не принадлежит s.

Операция применяется к отношениям одной степени (так же как и объединение).

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

Отношение с одним атрибутом называется унарным, с двумя атрибутами – бинарными, с n атрибутами – n-арными.

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

8

Декартово произведение

Под декартовым произведением двух отношений понимается множество упорядоченных пар кортежей. Пусть имеются два отношения r и s, тогда отношение t арности k=k1+k2 , где k1

— арность r, a k2 — арность s, называется декартовым произведением r и s, если оно состоит из кортежей, первые k1 компонентов которых образуют кортежи из r, а остальные k2 — из s.

Т.е. все возможные сочетания строк r и строк s

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

9

Декартово произведение можно считать симметричной операцией - ее результат не будет зависеть от порядка аргументов.

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

Оператор языка SQL: без указания условий связывания двух таблиц WHERE - дает декартово произведение:

SELECT * FROM r, s

10

Соседние файлы в папке Управл_данными