Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
задания практика 3 часть консоль БД MySQLпо ПР ТРЗБД_.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.64 Mб
Скачать

Задание1

  1. Используя таблицы, введенные ранее выбрать фамилии и телефоны должников библиотеки. Должником считается читатель, который не сдал книгу во время, при этом книги выдаются на 15 дней.

  2. Используя таблицы, введенные ранее выбрать ФИО и телефоны читателей, у которых в данный момент находится книга Дюма А. «Граф Монте-Кристо».

  3. Используя таблицы, введенные ранее выбрать информацию обо всех книгах, которые когда-либо брал читатель с номером билета 101. То есть необходимо получить читательскую карточку этого читателя. Результат должен содержать следующие поля: Номер читателя, ФИО читателя, Телефон читателя, Название книги, Автор, Дата выдачи, Признак возврата.

Задание 2

Создайте запросы с внутренним и внешним соединением таблиц для своего варианта базы данных.

Контрольные вопросы

  1. Что такое внешнее соединение?

  2. Что такое внутреннее соединение?

  3. Как работают внутренние и внешние соединения таблиц?

  4. Чем левое соединение отличается от правого?

Практическая работа №12

Тема: «Создание запросов на объединение таблиц».

Цель работы: Научиться писать запросы на объединение таблиц.

Время выполнения: подготовка: 5 мин; выполнение: 75 мин; проверка: 10 мин; всего: 90 мин.

Указания к выполнению лабораторной работы

Объединение таблиц(UNION). Для выполнения этой операции необходимо, чтобы таблицы имели идентичные схемы, т.е. имели одинаковое количество столбцов, и соответствующие столбцы должны быть определены на одних и тех те типах данных. Операция объединения таблиц позволяет исключить строки дубликаты.

Например, даны две таблицы:

Student1(*Nom1, FIO1) и Student2(*Nom2, FIO2).

Атрибуты Nom1 и Nom2 должны иметь одинаковые типы данных, FIO1 и FIO2 также должны иметь одинаковые типы данных. Тогда результат объединения отношений будет содержать строки, которые входят хотя бы в одно из отношений операндов.

Следующий оператор реализует эту операцию:

SELECT * FROM Student1 UNION SELECT * FROM Student2;

Пример применения этой операции к таблицам Student1 и Student2 приведен на рис. 1.

Рис. 1 Результат работы операторов SELECT

Контрольные вопросы

  1. Как объединить несколько таблиц с одинаковой структурой?

  2. Что позволяет исключить объединение таблиц?

Практическая работа №13

Тема: «Создание сложных запросов на выборку с использованием вложенных запросов».

Цель работы: Научиться писать запросы на объединение таблиц.

Время выполнения: подготовка: 5 мин; выполнение: 210 мин; проверка: 10 мин; всего: 225 мин.

Указания по выполнению практической работы

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

SELECT-предложение может содержать подзапрос. Такие подзапросы называют вложенными. Подзапрос может содержаться в условии во фразах WHERE и HAVING. Подзапросы бывают скалярные и табличные. Скалярный подзапрос возвращает одно значение. Табличный подзапрос может возвращать несколько строк, т.е. таблицу.

Скалярный подзапрос

Рассмотрим первый случай, когда подзапрос возвращает одно значение. В этом случае условие во фразе WHERE может иметь следующий вид:

<ИмяАтрибута> <Операция> <Подзапрос>

Где:

Операция это { =, >, <, >=, <=, < >}

Подзапрос это вложенный запрос.

Например, вывести фамилии сотрудников, у которых самая большая зарплата:

SELECT ФИО FROM Сотрудники

WHERE Зарплата = (SELECT max(Зарплата) FROM Сотрудники);

Вложенный запрос возвращает ровно одно значение, поэтому правомерно применение операции равно (=).