Составьте SQL-запросы и выполните анализ их выполнения: **Задание 1:** 1. Составьте SQL-запрос для получения атрибутов из таблиц `Н_ЛЮДИ` и `Н_СЕССИЯ`. 2. Выведите атрибуты: `Н_ЛЮДИ.ФАМИЛИЯ`, `Н_СЕССИЯ.ЧЛВК_ИД`. 3. Примените фильтры с использованием
- Базы данных
Условие:
Сделай ОГРОМНЫЙ КОНСПЕКТ и ПОДРОБНЫЙ, чтобы я мог подготовиться для сдачи лабы (+примеры + отвтеь на вопросы). Вот моя лабораторная:
Составить запросы на языке SQL (пункты 1-2).
Для каждого запроса предложить индексы, добавление которых уменьшит время выполнения запроса (указать таблицы/атрибуты, для которых нужно добавить индексы, написать тип индекса; объяснить, почему добавление индекса будет полезным для данного запроса).
Для запросов 1-2 необходимо составить возможные планы выполнения запросов. Планы составляются на основании предположения, что в таблицах отсутствуют индексы. Из составленных планов необходимо выбрать оптимальный и объяснить свой выбор.
Изменятся ли планы при добавлении индекса и как?
Для запросов 1-2 необходимо добавить в отчет вывод команды EXPLAIN ANALYZE [запрос]
Подробные ответы на все вышеперечисленные вопросы должны присутствовать в отчете (планы выполнения запросов должны быть нарисованы, ответы на вопросы - представлены в текстовом виде).
Сделать запрос для получения атрибутов из указанных таблиц, применив фильтры по указанным условиям:
1. Таблицы: Н_ЛЮДИ, Н_СЕССИЯ
2. Вывести атрибуты: Н_ЛЮДИ.ФАМИЛИЯ, Н_СЕССИЯ.ЧЛВК_ИД.
3. Фильтры (AND):
a) Н_ЛЮДИ.ИМЯ < Роман.
b) Н_СЕССИЯ.ИД = 32199.
c) Н_СЕССИЯ.ИД = 32199.
4. Вид соединения: RIGHT JOIN.
Сделать запрос для получения атрибутов из указанных таблиц, применив фильтры по указанным условиям:
1. Таблицы: Н_ЛЮДИ, Н_ВЕДОМОСТИ, Н_СЕССИЯ.
2. Вывести атрибуты: Н_ЛЮДИ.ИД, Н_ВЕДОМОСТИ.ИД, Н_СЕССИЯ.ИД.
3. Фильтры (AND):
a) Н_ЛЮДИ.ОТЧЕСТВО > Владимирович.
b) Н_ВЕДОМОСТИ.ИД < 1490007.
Вид соединения: INNER JOIN.
Решение:
### Конспект по лабораторной работе #### 1. Запросы на языке SQL **Запрос 1:** ```sql SELECT Н_ЛЮДИ.ФАМИЛИЯ, Н_СЕССИЯ.ЧЛВК_ИД FROM Н_ЛЮДИ RIGHT JOIN Н_СЕССИЯ ON Н_ЛЮДИ.ИД = Н_СЕССИЯ.ЧЛВК_ИД WHERE Н_ЛЮДИ.ИМЯ Роман AND Н_СЕССИЯ.ИД = 32199; ``` **Запрос 2:** ```sql SELECT Н_ЛЮДИ.ИД, Н_ВЕДОМОСТИ.ИД, Н_СЕССИЯ.ИД FROM Н_ЛЮДИ INNER JOIN Н_ВЕДОМОСТИ ON Н_ЛЮДИ.ИД = Н_ВЕДОМОСТИ.ЧЛВК_ИД INNER JOIN Н_СЕССИЯ ON Н_ЛЮДИ.ИД = Н_СЕССИЯ.ЧЛВК_ИД WHERE Н_ЛЮДИ.ОТЧЕСТВО Владимирович AND Н_ВЕДОМОСТИ.ИД 1490007; ``` #### 2. Индексы для оптимизации запросов **Запрос 1:** - **Индексы:** - Таблица: Н_ЛЮДИ, Атр...
Похожие задачи
Не нашел нужную задачу?
Воспользуйся поиском
AI помощники
Выбери предмет
- Правоохранительные органы
- Пожарная безопасность
- Парикмахерское искусство
- Природообустройство и водопользование
- Почвоведение
- Приборостроение и оптотехника
- Промышленный маркетинг и менеджмент
- Производственный маркетинг и менеджмент
- Процессы и аппараты
- Программирование
- Право и юриспруденция
- Психология
- Политология
- Педагогика
- Трудовое право
- Теория государства и права (ТГП)
- Таможенное право
- Теория игр
- Текстильная промышленность
- Теория вероятностей
- Теоретическая механика
- Теория управления
- Технология продовольственных продуктов и товаров
- Технологические машины и оборудование
- Теплоэнергетика и теплотехника
- Туризм
- Товароведение
- Таможенное дело
- Торговое дело
- Теория машин и механизмов
- Транспортные средства