Lab_10 / Lab_10
.docxМИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра МО ЭВМ
отчет
по лабораторной работе №10
по дисциплине «Базы данных»
Тема: Реализация на языке SQL основных операций реляционной алгебры
Студент гр. |
|
|
Преподаватель |
|
Фомичева Т.Г. |
Санкт-Петербург
2019
Цель работы.
Приобретение навыков написания запросов на языке SQL на примерах реализации набора операций манипуляционной составляющей реляционной модели.
Задачи.
В данной лабораторной работе поставленные следующие задачи:
-
Выбрать предметную область и придумать, опираясь на примеры теоретической части методических указаний, собственные примеры для реализации каждой операции. Для операций объединение, пересечение и разность использовать один общий пример. Сформулировать задачу для каждой из 8-ми операций в терминах выбранной предметной области.
-
Создать структуру (определение) каждой таблицы.
-
Заполнить таблицы тестовыми данными.
-
Написать SQL- код, реализующий каждую из 8-ми операций.
-
Выполнить запросы и убедиться, что они реализуют соответствующие операции.
-
Оформить отчёт.
Ход работы.
Предметная область: магазины, торгующие разными овощами
-
Объединение R3 = R1 ∪ R2.
Формулировка задачи: Отношение R1 – это таблица «mag1», а R2 – таблица «mag2». Отношение R3 – список всех овощей, представленных в магазинах.
Отношения R1 и R2 представлены на рис.1 и 2. SQL-код операции представлен на рис.3. Отношение R3 представлено на рис.4.
Рисунок 1 - Таблица «mag1»
Рисунок 2 - Таблица «mag2»
Рисунок 3 – SQL-запрос, объединение.
Рисунок 4 – Итоговая таблица, объединение.
-
Пересечение R3 = R1 ∪ R2.
Формулировка задачи: Отношение R1 – это таблица «mag1», а R2 – таблица «mag2». Отношение R3 – одинаковые продукты с одинаковыми ценами из разных магазинов.
Отношения R1 и R2 представлены на рис.5 и 6. SQL-код операции представлен на рис.7. Отношение R3 представлено на рис.8.
Рисунок 5 - Таблица «mag1»
Рисунок 6 - Таблица «mag2»
Рисунок 7 – SQL-запрос, пересечение.
Рисунок 8 – Итоговая таблица, пересечение.
-
Разность R3 = R1 / R2.
Формулировка задачи: Отношение R1 – это таблица «mag1», а R2 – таблица «mag2». Отношение R3 –овощи из mag1, которых нет в mag2 или они имеют другую цену.
Отношения R1 и R2 представлены на рис.9 и 10. SQL-код операции представлен на рис.11. Отношение R3 представлено на рис.12.
Рисунок 9 - Таблица «mag1»
Рисунок 10 - Таблица «mag2»
Рисунок 11 – SQL-запрос, разность.
Рисунок 12 – Итоговая таблица, разность.
-
Декартово произведение R3 = R1 × R4.
Формулировка задачи: Отношение R1 – это таблица «mag1», а R2 – таблица «form». Отношение R3 – таблица, содержащая список всех продаваемых овощей вместе с информацией об их фасовке. Можно использовать для составления накладных для заказа продуктов.
Отношения R1 и R2 представлены на рис.13 и 14. SQL-код операции представлен на рис.15. Отношение R3 представлено на рис.16.
Рисунок 13 - Таблица «mag1»
Рисунок 14 – таблица «form», сокращённо R4.
Рисунок 15 – SQL-запрос, декартово произведение.
Рисунок 16 – Итоговая таблица, декартово произведение.
-
Деление R3 = R1 ÷ R2.
Формулировка задачи: Отношение R1 – это таблица «dekart», полученная декартовым умножением с добавленными нестандартными фасовками продуктов, а R2 – таблица «form» с способами одобренной фасовки продуктов. Отношение R3 – список продуктов, расфасованных одобренным образом, соответствующую таблице «form».
Отношения R1 и R2 представлены на рис.17 и 18. SQL-код операции представлен на рис.19. Отношение R3 представлено на рис.20.
Рисунок 17 - Таблица «dekart»
Рисунок 18 - Таблица «form»
Рисунок 19 - SQL-запрос, деление.
Рисунок 20 – Итоговая таблица, деление.
-
Проекция R2 = i1 i2… in (R1)
Формулировка задачи: Отношение R1 – это таблица «dekart». Отношение R2 – получим новую таблицу c видами фасовок товара.
Отношение R1 представлено на рис.21. SQL-код операции представлен на рис.22. Отношение R2 представлено на рис.23.
Рисунок 21 - Таблица «dekart»
Рисунок 22 – SQL-запрос, проекция.
Рисунок 23 – Итоговая таблица, проекция.
-
Селекция R2 = F (R1)
Формулировка задачи: Отношение R1 – это таблица «mag2». Отношение R2 – овощи с ценой больше 22.
Отношение R1 представлено на рис.24. SQL-код операции представлен на рис.25. Отношение R2 представлено на рис.26.
Рисунок 24 - Таблица «mag1»
Рисунок 25 – SQL-запрос, селекция.
Рисунок 26 – Итоговая таблица, селекция.
-
Соединение R3 =R1 R2
Формулировка задачи: Отношение R1 – это таблица «mag1», а R2 – таблица «mag2». Отношение R3 – одинаковые овощи с разной ценой.
Отношения R1 и R2 представлены на рис.27 и 28. SQL-код операции представлен на рис.29. Отношение R3 представлено на рис.30.
Рисунок 27 - Таблица «mag1»
Рисунок 28 - Таблица «mag2»
Рисунок 29 - SQL-запрос, соединение
Рисунок 30 – Итоговая таблица, соединение.
Выводы.
В процессы выполнения работы были разобраны основные функции и правила написания запросов на языке SQL, реализованы запросы операций реляционной алгебры.