Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Lab_10 / Lab_10

.docx
Скачиваний:
20
Добавлен:
05.02.2020
Размер:
110.95 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра МО ЭВМ

отчет

по лабораторной работе №10

по дисциплине «Базы данных»

Тема: Реализация на языке SQL основных операций реляционной алгебры

Студент гр.

Преподаватель

Фомичева Т.Г.

Санкт-Петербург

2019

Цель работы.

Приобретение навыков написания запросов на языке SQL на примерах реализации набора операций манипуляционной составляющей реляционной модели.

Задачи.

В данной лабораторной работе поставленные следующие задачи:

  1. Выбрать предметную область и придумать, опираясь на примеры теоретической части методических указаний, собственные примеры для реализации каждой операции. Для операций объединение, пересечение и разность использовать один общий пример. Сформулировать задачу для каждой из 8-ми операций в терминах выбранной предметной области.

  2. Создать структуру (определение) каждой таблицы.

  3. Заполнить таблицы тестовыми данными.

  4. Написать SQL- код, реализующий каждую из 8-ми операций.

  5. Выполнить запросы и убедиться, что они реализуют соответствующие операции.

  6. Оформить отчёт.

Ход работы.

Предметная область: магазины, торгующие разными овощами

  1. Объединение R3 = R1 ∪ R2.

Формулировка задачи: Отношение R1 – это таблица «mag1», а R2 – таблица «mag2». Отношение R3 – список всех овощей, представленных в магазинах.

Отношения R1 и R2 представлены на рис.1 и 2. SQL-код операции представлен на рис.3. Отношение R3 представлено на рис.4.

Рисунок 1 - Таблица «mag1»

Рисунок 2 - Таблица «mag2»

Рисунок 3 – SQL-запрос, объединение.

Рисунок 4 – Итоговая таблица, объединение.

  1. Пересечение R3 = R1 ∪ R2.

Формулировка задачи: Отношение R1 – это таблица «mag1», а R2 – таблица «mag2». Отношение R3 – одинаковые продукты с одинаковыми ценами из разных магазинов.

Отношения R1 и R2 представлены на рис.5 и 6. SQL-код операции представлен на рис.7. Отношение R3 представлено на рис.8.

Рисунок 5 - Таблица «mag1»

Рисунок 6 - Таблица «mag2»

Рисунок 7 – SQL-запрос, пересечение.

Рисунок 8 – Итоговая таблица, пересечение.

  1. Разность 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 – Итоговая таблица, разность.

  1. Декартово произведение R3 = R1 × R4.

Формулировка задачи: Отношение R1 – это таблица «mag1», а R2 – таблица «form». Отношение R3 – таблица, содержащая список всех продаваемых овощей вместе с информацией об их фасовке. Можно использовать для составления накладных для заказа продуктов.

Отношения R1 и R2 представлены на рис.13 и 14. SQL-код операции представлен на рис.15. Отношение R3 представлено на рис.16.

Рисунок 13 - Таблица «mag1»

Рисунок 14 – таблица «form», сокращённо R4.

Рисунок 15 – SQL-запрос, декартово произведение.

Рисунок 16 – Итоговая таблица, декартово произведение.

  1. Деление R3 = R1 ÷ R2.

Формулировка задачи: Отношение R1 – это таблица «dekart», полученная декартовым умножением с добавленными нестандартными фасовками продуктов, а R2 – таблица «form» с способами одобренной фасовки продуктов. Отношение R3 – список продуктов, расфасованных одобренным образом, соответствующую таблице «form».

Отношения R1 и R2 представлены на рис.17 и 18. SQL-код операции представлен на рис.19. Отношение R3 представлено на рис.20.

Рисунок 17 - Таблица «dekart»

Рисунок 18 - Таблица «form»

Рисунок 19 - SQL-запрос, деление.

Рисунок 20 – Итоговая таблица, деление.

  1. Проекция R2 = i1 i2… in (R1)

Формулировка задачи: Отношение R1 – это таблица «dekart». Отношение R2 – получим новую таблицу c видами фасовок товара.

Отношение R1 представлено на рис.21. SQL-код операции представлен на рис.22. Отношение R2 представлено на рис.23.

Рисунок 21 - Таблица «dekart»

Рисунок 22 – SQL-запрос, проекция.

Рисунок 23 – Итоговая таблица, проекция.

  1. Селекция R2 = F (R1)

Формулировка задачи: Отношение R1 – это таблица «mag2». Отношение R2 – овощи с ценой больше 22.

Отношение R1 представлено на рис.24. SQL-код операции представлен на рис.25. Отношение R2 представлено на рис.26.

Рисунок 24 - Таблица «mag1»

Рисунок 25 – SQL-запрос, селекция.

Рисунок 26 – Итоговая таблица, селекция.

  1. Соединение R3 =R1 R2

Формулировка задачи: Отношение R1 – это таблица «mag1», а R2 – таблица «mag2». Отношение R3 – одинаковые овощи с разной ценой.

Отношения R1 и R2 представлены на рис.27 и 28. SQL-код операции представлен на рис.29. Отношение R3 представлено на рис.30.

Рисунок 27 - Таблица «mag1»

Рисунок 28 - Таблица «mag2»

Рисунок 29 - SQL-запрос, соединение

Рисунок 30 – Итоговая таблица, соединение.

Выводы.

В процессы выполнения работы были разобраны основные функции и правила написания запросов на языке SQL, реализованы запросы операций реляционной алгебры.

Соседние файлы в папке Lab_10