Спринт 13/24 → Тема 4/9: Взаимоотношения между таблицами. Типы объединения таблиц → Урок 1/14
Кратко:
- Образ результата и декомпозиция важны для понимания сложных задач.
- Формулировка задач должна быть конкретной и понятной.
- Представление итоговой таблицы и выбор полей важны для заказчика.
- Оценка понимания заказчиком результатов важна для успешного выполнения задачи.
- Задавайте вопросы и обсуждайте детали с заказчиком для лучшего понимания.
- Декомпозиция помогает разбить сложные задачи на более простые и контролировать результат.
- Декомпозиция полезна для новичков, но имеет некоторые недостатки.
Спринт 13/24 → Тема 4/9: Взаимоотношения между таблицами. Типы объединения таблиц → Урок 2/14
Кратко:
- Базы данных позволяют работать с большим количеством данных, разделенных на несколько таблиц.
- Разделение таблиц на подтаблицы упрощает поиск информации и внесение изменений.
- Для связи таблиц используются ключи: первичный ключ уникален для каждой записи, а внешний ключ указывает на первичный ключ другой таблицы.
- Разделение данных на таблицы и связывание их ключами облегчает поиск информации и упрощает внесение изменений.
Спринт 13/24 → Тема 4/9: Взаимоотношения между таблицами. Типы объединения таблиц → Урок 3/14
Кратко:
- Виды связей между таблицами в базах данных: "один к одному", "один ко многим" и "многие ко многим".
- Связь "один к одному" предполагает, что одна запись первой таблицы связана только с одной записью другой таблицы.
- Связь "один ко многим" предполагает, что одной записи первой таблицы соответствует несколько записей второй таблицы.
- Связь "многие ко многим" предполагает, что одной записи одной таблицы соответствует нескольким записям другой таблицы и наоборот.
- Реализовать связь "многие ко многим" может быть сложно, поэтому можно использовать соединительную таблицу.
- Между таблицей с преподавателями и соединительной таблицей будет связь "один ко многим".
- Одному преподавателю будет соответствовать несколько записей в соединительной таблице.
Спринт 13/24 → Тема 4/9: Взаимоотношения между таблицами. Типы объединения таблиц → Урок 4/14
Кратко:
- Графическое отображение связей в базе данных с помощью ER-диаграмм.
- ER-диаграммы помогают специалистам описать взаимосвязи между таблицами.
- ER-диаграмма содержит название таблицы, поля, информацию о ключах и связи между таблицами.
- Связь между таблицами обозначается линией, соединяющей первичный ключ одной + + таблицы с внешним ключом другой.
- Типы связей на ER-диаграмме обозначаются разными условными обозначениями.
- ER-диаграммы разрабатываются на этапе проектирования и облегчают работу с базой данных.
- Документацию о структуре и связях в базе данных можно получить у администратора базы или инженера данных.
Спринт 13/24 → Тема 4/9: Взаимоотношения между таблицами. Типы объединения таблиц → Урок 5/14
Кратко:
- Переименование полей и таблиц в SQL.
- Псевдонимы полей и таблиц - временное изменение имени.
- Стандартное использование псевдонимов с оператором AS.
- Упрощенный способ псевдонимов в PostgreSQL через пробел.
- Пример использования псевдонимов для улучшения запроса.
- Ограничения использования псевдонимов в WHERE, HAVING и GROUP BY.
- Порядок выполнения запросов в SQL: сначала отбор данных, затем присвоение псевдонимов.
Спринт 13/24 → Тема 4/9: Взаимоотношения между таблицами. Типы объединения таблиц → Урок 6/14
Кратко:
- Псевдонимы используются для присвоения имени полю или таблице.
- В PostgreSQL псевдонимы можно задавать через пробел.
- Псевдонимы могут использоваться после операторов GROUP BY и ORDER BY.
- Псевдонимы нельзя использовать после операторов WHERE и HAVING.
- Для удобства решения задач можно скачать PDF-версию ER-диаграммы или открыть ее в соседней вкладке.
Спринт 13/24 → Тема 4/9: Взаимоотношения между таблицами. Типы объединения таблиц → Урок 7/14
Кратко:
- Таблицы можно объединять для упрощения работы с данными.
- Пример задачи: выгрузка таблицы с данными пользователей, совершивших заказы.
- Объединение таблиц с помощью операторов JOIN.
- Тип INNER JOIN: объединение по общей области между двумя таблицами.
- Тип LEFT OUTER JOIN: включение всех записей из левой таблицы, совпадение с правой таблицей по нужному полю.
- Тип RIGHT OUTER JOIN: приоритет у правой таблицы, совпадение с левой таблицей по нужному полю.
- Тип FULL OUTER JOIN: объединение всех записей из обеих таблиц, NULL вместо отсутствующих данных.
Спринт 13/24 → Тема 4/9: Взаимоотношения между таблицами. Типы объединения таблиц → Урок 8/14
Кратко:
- ER-диаграмма отражает взаимосвязи между таблицами в базе данных.
- Внешние ключи позволяют объединить таблицы.
- Псевдонимы позволяют привязывать поле к конкретной таблице.
- Оператор INNER JOIN используется для объединения таблиц.
- Задача: составить список из десяти покупателей с самыми крупными заказами в США.
- Таблицы invoice и client связаны через поле customer_id.
- Оператор INNER JOIN подходит для исключения пользователей без заказов и идентификаторов.
- В PostgreSQL используются два вида записи оператора INNER JOIN: полная запись и короткая форма JOIN.
- Поле total из таблицы invoice необходимо для определения суммы заказа.
- Поле first_name и last_name из таблицы client также должны быть включены в итоговую таблицу.
- Условие WHERE i.billing_country = 'USA' отбирает пользователей из США.
- Отсортировав таблицу по средней сумме заказа от большего к меньшему, можно получить нужный список.
Спринт 13/24 → Тема 4/9: Взаимоотношения между таблицами. Типы объединения таблиц → Урок 9/14
Кратко:
- LEFT OUTER JOIN и RIGHT OUTER JOIN - операторы для объединения таблиц.
- LEFT OUTER JOIN: все записи из левой таблицы включаются в результат, записи из правой таблицы включаются, если значения в поле совпадают.
- RIGHT OUTER JOIN: бóльшим приоритетом обладает правая таблица.
- Пример: объединение данных таблиц artist и album для вывода всех исполнителей с информацией о музыкальных альбомах.
- LEFT OUTER JOIN и RIGHT OUTER JOIN взаимозаменяемы, достаточно поменять местами таблицы в запросе.
- Агрегирование и сортировка: подсчёт количества альбомов на одного исполнителя и вывод топ-10 исполнителей с наибольшим количеством альбомов.
Спринт 13/24 → Тема 4/9: Взаимоотношения между таблицами. Типы объединения таблиц → Урок 10/14
Кратко:
- Оператор FULL OUTER JOIN используется для объединения таблиц без прямой связи.
- Объединение таблиц может быть выполнено с помощью полей с одинаковыми названиями и схожим содержанием.
- Оператор FULL OUTER JOIN выводит все записи из левой и правой таблиц.
- Пример использования оператора: SELECT a.actor_id, a.first_name, a.last_name, c.first_name, c.last_name FROM actor AS a FULL OUTER JOIN client AS c ON a.last_name = c.last_name LIMIT 10.
- FULL OUTER JOIN не рекомендуется использовать на больших таблицах, так как это может привести к увеличению размера таблицы.
Спринт 13/24 → Тема 4/9: Взаимоотношения между таблицами. Типы объединения таблиц → Урок 11/14
Кратко:
- Порядок выполнения операторов важен для корректного выполнения запроса.
- Запрос начинается с оператора SELECT, затем следует FROM, WHERE, GROUP BY и другие операторы.
- HAVING всегда указывается после GROUP BY, но никогда перед ним.
- Сначала определяется источник данных с помощью оператора FROM.
- Затем происходит фильтрация данных с помощью оператора WHERE.
- После срезов данные группируются с помощью оператора GROUP BY.
- На следующем этапе происходит выбор данных с помощью оператора SELECT.
- После SELECT срабатывает ключевое слово DISTINCT, которое отбирает уникальные значения.
Спринт 13/24 → Тема 4/9: Взаимоотношения между таблицами. Типы объединения таблиц → Урок 12/14
Кратко:
- Альтернативные варианты присоединения: UNION и UNION ALL
- Оператор UNION используют, чтобы объединить выдачу SQL-запросов
- Два правила регламентируют использование операторов UNION и UNION ALL
- Извлекать поля из одной таблицы нужно в том же порядке, что и из другой
- Число извлекаемых полей тоже должно совпадать
- Типы данных в полях должны соответствовать друг другу
- Оператор UNION устроен так, что абсолютные дубликаты в итоговую таблицу не входят
- Оператор UNION ALL устроен по-другому, все записи вошли в таблицу
Спринт 13/24 → Тема 4/9: Взаимоотношения между таблицами. Типы объединения таблиц → Урок 13/14
Кратко:
- Статья посвящена теме "Взаимоотношения между таблицами" в SQL.
- Рассматриваются первичные и внешние ключи таблиц, способы объединения таблиц, типы присоединения и операторы JOIN.
- Обсуждается альтернативный способ объединения таблиц с помощью UNION.
- Рекомендуется скачать шпаргалку для закрепления полученных знаний.
Заключение
Тема «Взаимоотношения между таблицами» позади. Вы столько всего успели:
- разобрались с первичными и внешними ключами таблиц;
- научились объединять таблицы разными способами;
- изучили разные типы присоединения и операторы JOIN;
- узнали, как можно по-другому объединять таблицы с помощью UNION.
Заберите с собой
Чтобы ничего не забыть, скачайте шпаргалку.
Спринт 13/24 → Тема 4/9: Взаимоотношения между таблицами. Типы объединения таблиц → Урок 14/14
Проверочные задания.