alan_beaulieu-learning_sql-ru (865932)
Текст из файла
Алан БьюлиИзучаем 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 . . . . . . . . . . . . . . . . . . . . .
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.