Академический Документы
Профессиональный Документы
Культура Документы
высшего образования
"Национальный исследовательский университет
"Высшая школа экономики"
Московский институт электроники и математики им. А.Н.Тихонова
Департамент компьютерной инженерии
Лабораторная работа № 4
по курсу «Базы данных»
Тема: Выборка данных
Москва, 2023
Постановка задачи
Работа направлена на изучение операций реляционной алгебры. Ученикам
необходимо написать запросы, которые реализуют операции реляционной алгебры. Если
для демонстрации операций недостаточно отношений, созданных во время выполнения
работы №1, то следует создать дополнительные отношения.
Вариант 29
Л.р. №4. Изучение операций реляционной алгебры. Необходимо написать на языке
SQL запросы, которые реализуют операции реляционной алгебры. Если для демонстрации
операций РА недостаточно отношений, созданных во время выполнения работы №1, то
следует создать дополнительные отношения.
2
Решение
ER-диаграмма:
Рисунок 1 – ER-диаграмма
1. Операция “Проекция”
Это унарная операция (выполняемая над одним отношением), служащая для
выбора подмножества атрибутов из отношения R. Она уменьшает арность отношения и
может уменьшить мощность отношения за счет исключения одинаковых кортежей.
Код:
SELECT DISTINCT abonement_number, end_date, phone, surname FROM client
2. Операция “Селекция”
3
Это унарная операция, результатом которой является подмножество кортежей
исходного отношения, соответствующих условиям, которые накладываются на значения
одного или нескольких атрибутов. Арность отношения в результате селекции не меняется.
Код:
SELECT * FROM schedule
WHERE group_name = 'Брейк-данс'
3. Декартово произведение
Код:
SELECT num, abonement_number
FROM trener, client
4. Объединение
5. Разность
Из отношения trener вычтем отношение trener с проекцией β surname =' Mamov ' .
Код:
SELECT * FROM trener
4
WHERE surname NOT IN (
SELECT surname FROM trener
WHERE surname = 'Mamov')
6. Пересечение
Код:
SELECT * FROM trener
where surname IN (select surname
from trener
where surname ='Kudof')
AND title IN (select title
where title = 'instructor')
7. Соединение
Соединения – бинарная операция над разносхемными отношениями. Эта операция
определяет подмножество декартова произведения двух разносхемных отношений.
Кортеж декартова произведения включает атрибуты обоих исходных отношений. Он
входит в результирующее отношение, если выполняется условие соединения F, которое
задаёт соотношение значений атрибутов разных таблиц.
Код:
SELECT s.group_name, s.trener_num, e.surname, e.trener_name, e.phone
FROM
(SELECT group_name, trener_num
FROM schedule
GROUP BY (group_name,trener_num)) s JOIN trener e ON s.trener_num = e.num
5
Тестирования
1. Проекция
Рисунок 2 – Проекция
2. Селекция
3. Декартово произведение
6
4. Объединение
Рисунок 5 – Объединение
5. Разность
Рисунок 6 – Разность
6. Пересечение
7. Соединение
7
Список литературы
1.Документация по PostgreSQL и Postgres Pro [Электронный ресурс]. – URL:
https://postgrespro.ru/docs – (Дата обращения: 8.02.2023).
2.Карпова И.П. Базы данных. Курс лекций и материалы для практических занятий.
– Учебное пособие. – Издательство "Питер", 2013. – 240 с.