Поскольку каждая таблица в реляционной БД является отношением, действия над таблицами базируются на операциях реляционной алгебры. Исключение составляют лишь операции создания и заполнения таблиц данными (операция присваивания), а также операции описания и переименования столбцов таблицы.
В теории реляционной алгебры отношение рассматривается как множество, строки таблицы называются кортежами, столбцы — атрибутами. Над отношениями выполняются традиционные операции теории множеств:
Ограничение отношения (выборка) — создает новое отношение, отбирая в него строки отношения-операнда, которые удовлетворяют условию ограничения.
Проекция отношения — создает новое отношение, отбирая в него определенные столбцы отношения-операнда.
Объединение отношений — создает новое отношение, содержащее все кортежи отношений операндов. Операнды должны иметь одинаковые атрибуты.
Пример 1. (объединение отношений).
Ежемесячно из цехов поступают отчеты о выпуске новой продукции за прошедший месяц, содержащие номер цеха, код продукции, дату выпуска и количество выпущенной продукции. Эти сведения добавляются в общую таблицу «ВЫПУСК ПРОДУКЦИИ» с такой же структурой, т. е. к кортежам
ВЫПУСК ПРОДУКЦИИ (Номер цеха, Код продукции, Дата выпуска. Количество)
добавляются кортежи
НОВАЯ ПРОДУКЦИЯ (Номер цеха, Код продукции, Дата выпуска, Количество)
Атрибуты операндов совпадают. Таблица «НОВАЯ ПРОДУКЦИЯ» объединяется с исходной.
Пересечение отношений — создает новое отношение, содержащее строки, общие для сравниваемых операндов. Операнды должны иметь одинаковые атрибуты.
Пример 2. (пересечение отношений с выполнением операций ограничения и проекции). Имеется набор экзаменационных ведомостей — отношений с совпадающими атрибутами:
![]() |
ЭКЗАМЕНАЦИОННАЯ ВЕДОМОСТЬ (Группа, Номер зачетной книжки, Фамилия студента, Дата, Дисциплина, Оценка)
Подготовить список студентов, получивших только отличные оценки, со столбцами «Номер зачетной книжки» и «Фамилия студента».
Для экзаменационных ведомостей нужной группы:
1. Выполняем ограничение исходных отношений, отбирая из каждого в новое отношение кортежи, удовлетворяющие условию
Оценка = «отлично».
Получили списки отличников группы по дисциплинам.
![]() |
Результат операции ограничения для ведомости по математике
![]() |
Результат операции ограничения для ведомости по физике
2. Выполняем проекцию полученных отношений, отбирая из каждого только атрибуты «Номер зачетной книжки» и «Фамилия студента». Получили новые списки отличников, в которых остались только номера зачетных книжек и фамилии студентов.
Результат операции проекции для ведомости по математике
![]() |
Результат операции проекции для ведомости по физике
![]() |
Пересечение последних даст нам искомое отношение — «СПИСОК ОТЛИЧНИКОВ», содержащее номера зачетных книжек и фамилии, общие для всех списков отличников.
Разность отношений — создает новое отношение, содержащее строки 1-го операнда, отсутствующие во 2-м операнде. Операнды должны иметь одинаковые атрибуты.
Пример 3. (разность отношений).
Используя ежемесячные отчеты цехов о выпуске продукции (смотри пример объединения отношений), подготовить сведения о выпуске новых видов продукции за последний квартал.
Для решения этой задачи выполняем ограничение отношения «ВЫПУСК ПРОДУКЦИИ».
Условие ограничения — «Дата выпуска меньше последней даты прошлого квартала».
Результат ограничения помещаем во временную Таблицу 1. Затем над той же исходной таблицей выполняем ограничение «Дата выпуска меньше первой даты прошлого квартала» и заносим результат во временную Таблицу 2.
Разность отношений 1 и 2 даст искомые сведения.
Произведение отношений — создает новое отношение, в котором имеются все атрибуты 1- и 2-го операндов, а строки получены попарным сцеплением каждой строки 1-го с каждой строкой 2-го отношения. Количество кортежей — мощность нового отношения, равно произведению мощности 1-го отношения на мощность 2-го. Множества атрибутов отношений не должны пересекаться. Произведение отношений используется при решении задач подбора пар из двух множеств, например поставщики и потребители. Сначала составляют все возможные пары, а затем по конкретному критерию отбирают из них подходящие.
Пример 4
| Результат произведения |



Деление отношений — создает новое отношение, содержащее атрибуты 1-го операнда, отсутствующие во 2-м операнде, и кортежи 1-го операнда, которые совпали с кортежами 2-го. Для выполнения этой операции 2-й операнд должен содержать лишь атрибуты, совпадающие с атрибутами 1-го.
Пример 5. (деление отношений).
Список студентов факультета для каждого студента содержит: Ф.И.О., Дату рождения, Шифр группы и Признак наличия стипендии (да, нет).
Необходимо отобрать студентов заданной группы, получающих стипендию.
Для этого:
1. Создаем вспомогательное отношение с атрибутами Шифр группы и Признак наличия стипендии.
2. Заполняем один кортеж этого отношения, поместив в него шифр заданной группы и отметку о получении стипендии (да).
3. Деление исходного списка на вспомогательное отношение создаст искомый список с атрибутами ФИО и Дата рождения.
Соединение отношений — создает новое отношение, кортеж которого является результатом сцепления кортежей операндов (исходных отношений). Соединение имеет две разновидности: естественное соединение и соединение по условию.
При соединении по условию производится сцепление строк операндов соединения и проверка их на соответствие заданному условию. Если условие выполнено, полученная строка включается в результирующее отношение.
При естественном соединении производится сцепление строк операндов соединения и включение их в результат без проверки. Такое соединение используют, когда отношения-операнды обладают общими атрибутами.
Пример 6. Соединить таблицы СТУДЕНТ и ОЦЕНКА. Общим для таблиц является поле № зач. книжки
СТУДЕНТ
![]() |
Результат соединения
Лекция 8 (Базы данных)












