Деление
Деление – операция выполняется над двумя таблицами R1, R2, которые имеют разную структуру и некоторые одинаковые атрибуты. В результате операции образуется новая таблица, структура которой получается исключением из множества атрибутов таблицы R1 множество атрибутов таблицы R2. Результирующие строки не должны содержать дубликаты.
Пример. Рассмотрим таблицу R1 «Товар» (табл.4.18) и таблицу R2 «Агент» (табл.4.19). Предположим, что у нас есть такой запрос: перечислить торговых агентов с указанием проданных товаров. Результатом этого запроса будет таблица R3 (табл.4.20).
Таблица 4.18 R1
№ товара | |
1035 | |
2241 | |
2249 | |
2518 |
Таблица 4.19 R2
№ агента | № товара | ||
10 | 2241 | ||
23 | 2518 | ||
23 | 1035 | ||
39 | 2518 | ||
37 | 2518 | ||
10 | 2249 | ||
23 | 2249 | ||
23 | 2241 |
Таблица 4.20 R3
№ агента | |
23 |
Рассмотренные выше операции в той или иной мере реализуются в средствах СУБД, которые обеспечивают обработку реляционных таблиц. К таким средствам относятся средства запросов и другие языковые конструкции.
Развитие реляционного подхода привело к созданию реляционных языков. Например, язык SQL, реализованный в большинстве СУБД. Он включает в себя, помимо операций реляционной алгебры, полный набор операторов над строками - «включить», «удалить», «обновить», а также реализует арифметические операции и операции сравнения.