alan_beaulieu-learning_sql-ru (Учебник по SQL)
Описание файла
PDF-файл из архива "Учебник по SQL", который расположен в категории "". Всё это находится в предмете "базы данных" из 4 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст из PDF
Алан БьюлиИзучаем SQLСанктПетербург –Москва2007Alan BeaulieuLearning SQLОглавлениеПредисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81. Немного истории . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 13Введение в базы данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Что такое SQL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 19Что такое MySQL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Дополнительные источники . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252. Создание и заполнение базы данных . . . . . . . . . . . . . . . . . . . .
. . . . . 27Создание базы данных MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27Инструмент командной строки mysql . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28Типы данных MySQL . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 30Создание таблиц . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36Заполнение и изменение таблиц . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Когда портятся хорошие выражения . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 46Банковская схема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493. Азбука запросов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51Механика запроса . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 51Блоки запроса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53Блок select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 54Блок from . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59Блок where . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 63Блоки group by и having . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65Блок order by . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66Упражнения . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704. Фильтрация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72Оценка условия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72Создание условия . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75Типы условий. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75NULL: это слово из четырех букв… . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 86Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896Оглавление5. Запрос к нескольким таблицам . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90Что такое соединение? . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 90Соединение трех и более таблиц . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97Рекурсивные соединения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102Сравнение эквисоединений с неэквисоединениями .
. . . . . . . . . . . . . . 103Сравнение условий соединения и условий фильтрации . . . . . . . . . . . . 105Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1076. Работа с множествами .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108Основы теории множеств . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108Теория множеств на практике . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 111Операторы работы с множествами . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112Правила операций с множествами . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118Упражнения . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1217. Создание, преобразование и работа с данными . . . . . . . . . . . . . . 122Строковые данные . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 122Числовые данные . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135Временные данные . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140Функции преобразования . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1528. Группировка и агрегаты . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 153Принципы группировки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153Агрегатные функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156Формирование групп . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161Условия групповой фильтрации. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 1679. Подзапросы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168Что такое подзапрос? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 168Типы подзапросов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169Несвязанные подзапросы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170Связанные подзапросы . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179Использование подзапросов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183Краткий обзор подзапросов . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 193Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19410. И снова соединения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195Внешние соединения . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195Перекрестные соединения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205Естественные соединения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 212Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214Оглавление711. Условная логика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216Что такое условная логика? . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 216Выражение case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218Примеры выражений case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221Упражнения . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22912. Транзакции. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230Многопользовательские базы данных . . . . . . . . . . . . . . . . . . . . . . . . . . . 230Что такое транзакция? . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23213. Индексы и ограничения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240Индексы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 240Ограничения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251A. ERдиаграмма примера базы данных. . . . . . . . . . . . . . . . . . . . . . . . 257B. MySQLрасширения языка SQL . . . . . . . . . . . . . . . . . . . . .