Лабораторная работа № 4

Тема. Структуризированный язык запросов SQL в MySQL

Цель работы.
Построение запросов на языке SQL в СУБД MySQL.

Задание. Лабораторная работа состоит из двух частей.

Часть 1. В данной лабораторной работе будет использоваться БД ПАНСИОН. Создать ее в СУБД MySQL можно, например, следующим образом:

  1. Очистить вашу базу данных (удалить все таблицы).
  2. Создать текстовые файлы с таблицами (см. приложение 1). Позаботиться об их сохранении (для возможного использования в дальнейшем). С этой целью лучше всего создать отдельный каталог.
  3. Изучить теоретический материал по созданию таблиц, сформировать таблицы в БД при помощи команд CREATE TABLE. Обратить внимание на вопросы обеспечения ссылочной целостности данных. Каждую команду привести в отчете.
  4. Провести проверку структур таблиц в MySQL в вашей БД (результаты привести в отчете).
  5. Ввести в БД содержимое таблиц из текстовых файлов.
  6. Проверить правильность выполнения операции (результаты привести в отчете).

Часть 2. Здесь вы должны выполнить те же запросы к БД ПАНСИОН, что и в MICROSOFT ECCESS. При этом необходимо учитывать, что в СУБД MySQL на SQL наложен ряд ограничений. В частности, в используемой вами версии MySQL может не поддерживаться инструкция UNION. Могут быть и другие ограничения.

Сформировать по одному SQL-запросу по следующим темам (отмеченным зеленым цветом):

1. ЗАПРОСЫ С ИСПОЛЬЗОВАНИЕМ ЕДИНСТВЕННОЙ ТАБЛИЦЫ

1.1. Выборка без использования фразы WHERE

1.1.1. Простая выборка
1.1.2. Исключение дубликатов
1.1.3. Выборка вычисляемых значений

1.2. Выборка c использованием фразы WHERE

1.2.1. Использование операторов сравнения
1.2.2. Использование BETWEEN
1.2.3. Использование IN
1.2.4. Использование LIKE
1.2.5. Вовлечение неопределенного значения

1.3. Выборка с упорядочением

1.4. Агрегирование данных

1.4.1. Функции без использования фразы GROUP BY
1.4.2. Фраза GROUP BY
1.4.3. Использование фразы HAVING

2. ЗАПРОСЫ С ИСПОЛЬЗОВАНИЕМ НЕСКОЛЬКИХ ТАБЛИЦ (...)

2.1. Запросы, использующие соединения

2.1.3. Естественное соединение таблиц
2.1.6. Соединение таблиц с дополнительным условием
2.1.7. Соединение таблицы со своей копией

2.2. Вложенные подзапросы

2.2.1. Простые вложенные подзапросы
2.2.2. Использование одной и той же таблицы во внешнем и вложенном подзапросе
2.2.3. Вложенный подзапрос с оператором сравнения, отличным от IN
2.2.4. Коррелированные вложенные подзапросы
2.2.5. Запросы, использующие EXISTS
2.2.6. Функции в подзапросе

2.3. Объединение (UNION)

2.4. Модификация данных в таблицах

2.4.1. Удаление строк
2.4.2. Вставка строк
2.4.3. Обновление строк

Отчет.
В электронной форме. Папка LabDataBase\Otchet\Lab2\Папка с вашей фамилией на английском языке, в которую копируются файл с вашей базой данных с результатами и файл WORD с вашей фамилией на английском языке (на английском потому, что по FTP кириллица отобразится неправильно). Или, что предпочтительнее, архив папки с названием в виде вашей фамилии на английском языке. Срок - последний день выполнения данной лабораторной работы.
Содержание отчета:

1. Цель работы.
2. Назначение SQL.
3. Ваши запросы в виде:

Например:

1_1_1_Простая выборка

Выдать название, статус и адрес поставщиков

SELECT Название, Статус, Адрес
FROM Поставщики;


4. Общие выводы по вашим результатам.