Реляционная алгебра. Специальные реляционные операторы
С практической точки зрения, специальные реляционные операции имеют большее практическое значение по сравнению с теоретико-множественными.
Выборкой (ограничением, селекцией или фильтрацией) на отношении А, с условием С называется отношение с тем же заголовком, что и у отношения А, и телом, состоящем из кортежей, значения атрибутов которых при подстановке в условие С дают значение ИСТИНА. С - логическое выражение, в которое могут входить атрибуты отношения А и (или) скалярные выражения.
В простейшем случае условие С имеет вид ХQY, где Q - один из операторов сравнения (=, ¹, <, >, £, ³ и т.д.), а Х и Y – атрибуты отношения А или скалярные значения. Такие выборки называются Q - выборки (тэта-выборки) или Q - селекция, Q - ограничения.
Синтаксис операции выборки: А WHERE C, где С – условие выборки, или ХQY.
Пусть дано отношение А с информацией о сотрудниках (таблица 6.1), необходимо выбрать всех сотрудников с зарплатой менее 3000, в этом случае выполняем выборку А WHERE Зарплата <3000, результат выборки в таблице 7.1:
Таблица 7.1 - Результат операции А WHERE Зарплата<3000
Табельный номер | Фамилия | Зарплата |
Иванов | ||
Петров |
Смысл операции выборки очевиден - выбрать кортежи отношения, удовлетворяющие некоторому условию. Таким образом, операция выборки дает «горизонтальный срез» отношения по некоторому условию.
Проекцией отношения А по атрибутам (X,Y,…,Z), где каждый из атрибутов принадлежит отношению А, называется отношение с заголовком (X,Y,…,Z) и телом, содержащим кортежи соответствующих атрибутов
Синтаксис проекции: А[X,Y,…,Z]
Для отношения А (таблица 6.1) результатом проекции А [Фамилия, Зарплата] таблица 7.2:
Таблица 7.2 - Результат операции А [Фамилия, Зарплата]
Фамилия | Зарплата |
Иванов | |
Петров | |
Сидоров |
Видно, что операция проекции выполняет «вертикальный срез» отношения, в котором будут удалены все возникшие при таком срезе дубликаты кортежей.
Соединение.Операция соединения отношений, наряду с операциями выборки и проекции, является одной из наиболее важных реляционных операций.
Обычно рассматривается несколько разновидностей операции соединения:
· общая операция соединения;
· Q-соединение (тэта-соединение);
· экви-соединение;
· естественное соединение.
Наиболее важным из этих частных случаев является операция естественного соединения. Все разновидности соединения являются частными случаями общей операции соединения.
Соединением отношений А и В по условию С называется отношение образованное последовательностью операций декартова произведения и выборки:
(A Ä B) WHERE C,
где С представляет собой логическое выражение, в которое могут входить атрибуты отношений А и В и (или) скалярные выражения.
Если в отношениях А и В имеются атрибуты с одинаковыми наименованиями, то перед выполнением соединения такие атрибуты необходимо переименовать.
Тэта – соединение.Пусть отношение А содержит атрибут Х, отношение В содержит атрибут Y, а Q - один из операторов сравнения (=, ¹, <, >, £, ³ и т.д.). Тогда Q-соединением отношения А по атрибуту Х с отношением В по атрибуту Y называют отношение (A Ä B) WHERE XQY
Это частный случай операции общего соединения. Иногда, для операции соединения применяют более короткий синтаксис A[XQY]B.
Экви-соединение является наиболее важным частным случаем тэта-соединения, когда тэта является просто равенством и имеет следующий синтаксис: A[X=Y]B или (A Ä B) WHERE X=Y.
Пусть даны два отношения А и В. Отношение А (таблица 7.3) - данные о товарах, отношение В (таблица 7.4) - данные о продаже товаров. Необходимо определить, когда и в каком количестве отпускались товары со склада.
Таблица 7.3 - Отношение А, «Товары»
Код товара | Товар | Единица | Цена единицы |
Сахар | кг | 16р. | |
Макароны | кг | 14р. |
Таблица 7.4 - Отношение В, «Отпуск товаров»
Код тов. | Дата продажи | Количество |
12.07.02 | ||
12.07.02 | ||
12.07.02 |
Таблица 7.5 - Соединение (A Ä B) WHERE А.Код товара = В.Код тов.
Код товара | Товар | Единица | Цена единицы | Код тов. | Дата продажи | Количест-во |
Сахар | кг | 16р. | 12.07.02 | |||
Сахар | кг | 16р. | 12.07.02 | |||
Сахар | кг | 16р. | 12.07.02 | |||
Макароны | кг | 16р. | 12.07.02 | |||
Макароны | кг | 16р. | 12.07.02 | |||
Макароны | кг | 16р. | 12.07.02 |
Таблица 7.5 представляет собой декартово произведение двух отношений, в котором темным выделены кортежи, для которых не выполнится условие выборки А.Код товара = В.Код тов., следовательно, они будут вычеркнуты из окончательного результата (таблица 7.6).
Таблица 7.6 – Окончательный результат соединения (A Ä B) WHERE А.Код товара = В.Код тов.
Код товара | Товар | Единица | Цена единицы | Код тов. | Дата продажи | Количест-во |
Сахар | кг | 16р. | 12.07.02 | |||
Макароны | кг | 16р. | 12.07.02 | |||
Макароны | кг | 16р. | 12.07.02 |
Дата добавления: 2015-11-18; просмотров: 953;