Работа с MySQL, MS SQL Server и Oracle в примерах: практическое пособие для программистов и тестировщиков. 2 изд

Оглавление⌄
Предисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....5Раздел 1: МОДЕЛЬ, ГЕНЕРАЦИЯ И НАПОЛНЕНИЕ БАЗЫ ДАННЫХ . . . . . . . . . . . . ....71.1. ОБЩЕЕ ОПИСАНИЕ МОДЕЛИ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....71.2. МОДЕЛЬ ДЛЯ MYSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....91.3. МОДЕЛЬ ДЛЯ MS SQL SERVER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....101.4. МОДЕЛЬ ДЛЯ ORACLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....111.5. ГЕНЕРАЦИЯ И НАПОЛНЕНИЕ БАЗЫ ДАННЫХ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....13Раздел 2: ЗАПРОСЫ НА ВЫБОРКУ И МОДИФИКАЦИЮ ДАННЫХ . . . . . . . . . . . . ....182.1. ВЫБОРКА ИЗ ОДНОЙ ТАБЛИЦЫ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....182.1.1. Пример 1: выборка всех данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....182.1.2. Пример 2: выборка данных без повторения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....192.1.3. Пример 3: использование функции COUNT и оценка её производительности . . ....222.1.4. Пример 4: использование функции COUNT в запросе с условием . . . . . . . . . . . . . . ....292.1.5. Пример 5: использование функций SUM, MIN, MAX, AVG . . . . . . . . . . . . . . . . . . . . ....312.1.6. Пример 6: упорядочивание выборки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....352.1.7. Пример 7: использование составных условий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....382.1.8. Пример 8: поиск множества минимальных и максимальных значений . . . . . . . . . ....422.1.9. Пример 9: вычисление среднего значения агрегированных данных . . . . . . . . . . . . ....542.1.10. Пример 10: использование группировки данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....602.2. ВЫБОРКА ИЗ НЕСКОЛЬКИХ ТАБЛИЦ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....652.2.1. Пример 11: запросы на объединение как способ получениячеловекочитаемых данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....652.2.2. Пример 12: запросы на объединение и преобразование столбцов в строки . . . . . ....692.2.3. Пример 13: запросы на объединение и подзапросы с условием IN . . . . . . . . . . . . . ....802.2.4. Пример 14: нетривиальные случаи использования условия INи запросов на объединение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....902.2.5. Пример 15: двойное использование условия IN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....952.2.6. Пример 16: запросы на объединение и функция COUNT . . . . . . . . . . . . . . . . . . . . ....1012.2.7. Пример 17: запросы на объединение, функция COUNTи агрегирующие функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....1142.2.8. Пример 18: учёт вариантов и комбинаций признаков . . . . . . . . . . . . . . . . . . . . . . . ....1292.2.9. Пример 19: запросы на объединение и поиск минимума, максимума,диапазонов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....1342.2.10. Пример 20: все разновидности запросов на объединение в трёх СУБД . . . . . . . ....1542.3. МОДИФИКАЦИЯ ДАННЫХ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....1912.3.1. Пример 21: вставка данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....1912.3.2. Пример 22: обновление данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....1982.3.3. Пример 23: удаление данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....2012.3.4. Пример 24: слияние данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....2042.3.5. Пример 25: использование условий при модификации данных . . . . . . . . . . . . . . ....209Раздел 3: ИСПОЛЬЗОВАНИЕ ПРЕДСТАВЛЕНИЙ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....2203.1. ВЫБОРКА ДАННЫХ С ИСПОЛЬЗОВАНИЕМ ПРЕДСТАВЛЕНИЙ . . . . . . . . . . . . ....2203.1.1. Пример 26: выборка данных с использованиемнекэширующих представлений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....2203.1.2. Пример 27: выборка данных с использованиемкэширующих представлений и таблиц . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....2263.1.3. Пример 28: использование представлений для сокрытиязначений и структур данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....2543.2. МОДИФИКАЦИЯ ДАННЫХ С ИСПОЛЬЗОВАНИЕМ ПРЕДСТАВЛЕНИЙ . . . . ....2583.2.1. Пример 29: модификация данных с использованием«прозрачных» представлений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....25843.2.2. Пример 30: модификация данных с использованиемтриггеров на представлениях . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....271Раздел 4: ИСПОЛЬЗОВАНИЕ ТРИГГЕРОВ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....2884.1. АГРЕГАЦИЯ ДАННЫХ С ИСПОЛЬЗОВАНИЕМ ТРИГГЕРОВ . . . . . . . . . . . . . . . . . ....2884.1.1. Пример 31: обновление кэширующих таблиц и полей . . . . . . . . . . . . . . . . . . . . . . . ....2884.1.2. Пример 32: обеспечение консистентности данных . . . . . . . . . . . . . . . . . . . . . . . . . . ....3094.2. КОНТРОЛЬ ОПЕРАЦИЙ С ДАННЫМИ С ИСПОЛЬЗОВАНИЕМ ТРИГГЕРОВ ....3354.2.1. Пример 33: контроль операций модификации данных . . . . . . . . . . . . . . . . . . . . . . ....3354.2.2. Пример 34: контроль формата и значений данных . . . . . . . . . . . . . . . . . . . . . . . . . . ....3594.2.3. Пример 35: прозрачное исправление ошибок в данных . . . . . . . . . . . . . . . . . . . . . ....366Раздел 5: ИСПОЛЬЗОВАНИЕ ХРАНИМЫХ ФУНКЦИЙ И ПРОЦЕДУР . . . . . . . . . ....3745.1. ИСПОЛЬЗОВАНИЕ ХРАНИМЫХ ФУНКЦИЙ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....3745.1.1. Пример 36: выборка и модификация данныхс использованием хранимых функций . . . . . . . . . . . . . . . . . . . . . . . . . . ....3745.1.2. Пример 37: контроль операций с даннымис использованием хранимых функций . . . . . . . . . . . . . . . . . . . . . . . . . . ....3945.2. ИСПОЛЬЗОВАНИЕ ХРАНИМЫХ ПРОЦЕДУР . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....3995.2.1. Пример 38: выполнение динамических запросовс помощью хранимых процедур . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....3995.2.2. Пример 39: оптимизация производительностис помощью хранимых процедур . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....4135.2.3. Пример 40: управление структурами базы данныхс помощью хранимых процедур . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....425Раздел 6: ИСПОЛЬЗОВАНИЕ ТРАНЗАКЦИЙ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....4346.1. УПРАВЛЕНИЕ НЕЯВНЫМИ И ЯВНЫМИ ТРАНЗАКЦИЯМИ . . . . . . . . . . . . . . . . . ....4346.1.1. Пример 41: управление неявными транзакциями . . . . . . . . . . . . . . . . . . . . . . . . . . . ....4346.1.2. Пример 42: управление явными транзакциями . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....4456.2. КОНКУРИРУЮЩИЕ ТРАНЗАКЦИИ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....4546.2.1. Пример 43: управление уровнем изолированности транзакций . . . . . . . . . . . . . . ....4546.2.2. Пример 44: взаимодействие конкурирующих транзакций . . . . . . . . . . . . . . . . . . . ....4616.2.3. Пример 45: управление транзакциями в триггерах,хранимых функциях и процедурах . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....491Раздел 7: РЕШЕНИЕ ТИПИЧНЫХ ЗАДАЧИ ВЫПОЛНЕНИЕ ТИПИЧНЫХ ОПЕРАЦИЙ . . . . . . . . . . . . . . . . . . . . . . . . . . ....5007.1. РАБОТА С ИЕРАРХИЧЕСКИМИ И СВЯЗАННЫМИ СТРУКТУРАМИ . . . . . . . . . ....5007.1.1. Пример 46: формирование и анализ иерархических структур . . . . . . . . . . . . . . . ....5007.1.2. Пример 47: формирование и анализ связанных структур . . . . . . . . . . . . . . . . . . . ....5187.2. ОПЕРАЦИИ С БАЗАМИ ДАННЫХ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....5447.2.1. Пример 48: резервное копирование и восстановление базы данных . . . . . . . . . ....5447.3. ОПЕРАЦИИ С СУБД . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....5507.3.1. Пример 49: управление пользователями, запуск и остановка СУБД . . . . . . . . . . ....5507.3.2. Пример 50: определение и изменение кодировок . . . . . . . . . . . . . . . . . . . . . . . . . . . ....5537.4. ПОЛЕЗНЫЕ ОПЕРАЦИИ С ДАННЫМИ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....5567.4.1. Пример 51: вычисление дат . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....5567.4.2. Пример 52: получение комбинации неповторяющихся идентификаторов . . . . ....5647.4.3. Пример 53: работа с форматом JSON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....5707.4.4. Пример 54: работа со сводными таблицами . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....5827.4.5. Пример 55: предложите свой пример . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....594Раздел 8: КРАТКОЕ СРАВНЕНИЕ MYSQL, MS SQL SERVER, ORACLE . . . . . . . . ....595Раздел 9: ЛИЦЕНЗИЯ И РАСПРОСТРАНЕНИЕ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....599
Описание
Коротко и по делу о том, что важно знать про хочет.
От SELECT * до поиска кратчайшего пути в ориентированном графе; никакой теории, только схемы и код, много кода. Три СУБД, 50 примеров, 129 задач, более 500 запросов с пояснениями и комментариями. Книга будет полезна тем, кто: когда-то изучал базы данных, но многое забыл; имеет опыт работы с одной СУБД, но хочет оперативно переключиться на другую; хочет в предельно сжатые сроки научиться писать типичные SQL-запросы. Здесь не рассматривается теория реляционных баз данных (предполагается, что вы с ней знакомы либо способны найти недостающую информацию), но приведено более 500 SQL-запросов: от элементарных выборок до использования представлений, триггеров, хранимых процедур и функций. Эта книга посвящена практике использования SQL для решения типичных задач. Все примеры представлены в виде постановки задачи и её решения с использованием MySQL, MS SQL Server и Oracle, а также снабжены пояснениями и разбором типичных ошибок.
Этот материал в первую очередь будет полезен тем, кто:когда-то изучал базы данных, но многое забыл;имеет опыт работы с одной СУБД, но хочет переключиться на другую;хочет в предельно сжатые сроки научиться писать типичные SQL-запросы.
Файл доступен для загрузки ниже.
Поделиться
Частые вопросы
Можно ли скачать «Работа с MySQL, MS SQL Server и Oracle в примерах: практическое пособие для программистов и тестировщиков. 2 изд» бесплатно?
Да, «Работа с MySQL, MS SQL Server и Oracle в примерах: практическое пособие для программистов и тестировщиков. 2 изд» доступна для бесплатного скачивания на нашем сайте в формате PDF. Ссылка на файл находится на этой странице.
В каком формате и какого размера файл?
Книга предоставляется в формате PDF, размер файла 4,9 МБ.
Кто автор и когда вышла книга?
автор — Куликов Святослав, издательство Четыре четверти, год выпуска 2021, 602 страниц.
О чём книга «Работа с MySQL, MS SQL Server и Oracle в примерах: практическое пособие для программистов и тестировщиков. 2 изд»?
Три СУБД, 50 примеров, 129 задач, более 500 запросов с пояснениями и комментариями.