
5.Традиционные операции над множествами. Формальные определения. Примеры выполнения. Синтаксис упрощения.
http://kurs.ido.tpu.ru/courses/data_base/tema3.html
Основные понятия теории базы данных
Тема 3. Операции с данными в реляционной моделиВ реляционном подходе к построению баз данных используется не только терминология теории отношений. Основные операции и процедуры обработки данных, используемые в теории отношений, здесь также имеют место и включают в себя:
-
операции над строками (кортежами) таблиц-отношений;
-
операции над таблицами-отношениями.
Над кортежами допустимо выполнение следующих операций:
-
включение (добавление) новых строк (кортеж) в таблицу;
-
удаление строк (кортежей) из таблицы;
-
обновление – изменение значений атрибутов в строках.
Операции над отношениями образуют полную алгебру отношений и включают в себя:
-
традиционные операции над множествами:
-
объединение;
-
пересечение;
-
вычитание (разность);
-
декартово произведение;
-
специальные операции над множествами:
-
выбор;
-
проекция;
-
соединение;
-
деление множеств.
Рассмотрим подробно каждую из операций над отношениями.
Объединение
Операция
объединения выполняется над двумя
совместимыми отношениями R1и R2 (с
идентичной структурой). В результате
операции строится новое отношение ,
которое имеет тот же состав доменов и
совокупность всех кортежей, что и
исходные отношения. Дубликаты значений
атрибутов исключаются.
Пример:
В табл. 2 и 3 представлены в качестве исходных данных отношения R1 – “Пенсионеры района А” и R2 – “Пенсионеры района В”. В табл. 4 приведено отношение R - “Пенсионеры”, являющееся результатом выполнения операции объединения R1 и R2.
Таблица 2
Кортеж |
Район |
Фамилия |
К11 |
Кировский |
Петров |
К12 |
Советский |
Смирнов |
К13 |
Октябрьский |
Соколов |
Таблица 3
Кортеж |
Район |
Фамилия |
К21 |
Ленинский |
Петров |
К22 |
Кировский |
Петров |
К23 |
Кировский |
Семенов |
Таблица 4
Кортеж |
Район |
Фамилия |
К11 |
Кировский |
Петров |
К12 |
Советский |
Смирнов |
К13 |
Октябрьский |
Соколов |
К21 |
Ленинский |
Петров |
К23 |
Кировский |
Семенов |
Пересечение
Данная
операция выполняется над двумя
совместимыми отношениями R1 и R2.
Результирующее отношение имеет
тот же состав доменов и содержит кортежи,
которые есть в каждом из двух исходных
отношений.
Пример:
В качестве исходных данных приняты отношения, представленные в табл. 2 и 3. Результатом выполнения операции пересечения является отношение RP - “Пенсионеры”, содержимое которого приведено в табл. 5.
Таблица 5
Кортеж |
Район |
Фамилия |
К11 |
Кировский |
Петров |
Вычитание
Операция выполняется над двумя совместимыми отношениями R1и R2. В результате строится новое отношение RV = R1– R2 с идентичной структурой, содержащее только те кортежи первого отношения R1, которые не повторяются во втором отношении R2.
Пример:
В качестве исходных данных приняты отношения, представленные в табл. 2 и 3. Результирующее отношение, соответствующее операции вычитания, приведено в табл. 6.
Таблица 6
Кортеж |
Район |
Фамилия |
К12 |
Советский |
Смирнов |
К13 |
Октябрьский |
Соколов |