1. Главная
  2. Библиотека
  3. Базы данных
  4. Составьте SQL-запросы и выполните анализ их выполнения: **Задание 1:** 1. Составьте SQL-запрос для получения атрибутов...

Составьте SQL-запросы и выполните анализ их выполнения: **Задание 1:** 1. Составьте SQL-запрос для получения атрибутов из таблиц `Н_ЛЮДИ` и `Н_СЕССИЯ`. 2. Выведите атрибуты: `Н_ЛЮДИ.ФАМИЛИЯ`, `Н_СЕССИЯ.ЧЛВК_ИД`. 3. Примените фильтры с использованием

«Составьте 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:** - **Индексы:** - Таблица: Н_ЛЮДИ, Атр...

Не нашел нужную задачу?

Воспользуйся поиском

Выбери предмет