SQL. Полное руководство — Эта книга расскажет вам, как работать с командами и инструкциями SQL, создавать и настраивать реляционные базы данных, загружать и модифицировать объекты баз данных, выполнять мощные запросы, повышать производительность и выстраивать систему безопасности. Вы узнаете, как использовать инструкции DDL и применять API, интегрировать XML и сценарии Java, использовать объекты SQL, создавать веб-серверы, работать с удаленным доступом и выполнять распределенные транзакции. В этой книге вы найдете такие сведения, как описания работы с базами данных в памяти, потоковыми и встраиваемыми базами данных, базами данных для мобильных и наладонных устройств, и многое другое.
Название: SQL. Полное руководство Автор: Грофф Дж. Р., Вайнберг П. Н., Оппелъ Э. Дж. Издательство: ООО "И.Д. Вильямс" Год: 2015 Страниц: 959 Формат: PDF Размер: 28 МБ ISBN: 978-5-8459-1654-9 Качество: Отличное Язык: Русский
Содержание:
Об авторах О техническом редакторе Благодарности Введение Как организована книга Соглашения, принятые в книге Для кого предназначена эта книга Часть I. Обзор SQL Глава 1. Введение Язык SQL Роль SQL Преимущества SQL Независимость от конкретных СУБД Межплатформенная переносимость Стандарты языка SQL Поддержка со стороны IВМ Поддержка со стороны Microsoft Основанность на реляционной модели Высокоуровневая структура, напоминающая естественный язык Интерактивные запросы Программный доступ к базе данных Различные представления данных Полноценный язык для работы с базами данных Динамическое определение данных Архитектура «клиент/ сервер» Поддержка приложений уровня предприятия Расширяемость и поддержка объектно-ориентированных технологий Возможность доступа к данным в Интернете Интеграция с языком Java (протокол JDBC) Поддержка открытого кода Промышленная инфраструктура Глава 2. Краткий обзор SQL Простая база данных Выборка данных Пол учение итоговых данных Добавление данных Удаление данных Обновление данных Защита данных Создание базы данных Резюме Глава 3. Перспективы SQL SQL и эволюция управления базами данных Краткая история SQL Первые годы Первые реляционные СУБД Продукты IВМ Коммерческое признание Стандарты SQL Стандарты ANSl/ISO Другие ранние стандарты SQL ODBC и консорциум SQL Access Group JDBC и серверы приложений SQL и переносимость SQL и сети Централизованная архитектура Архитектура файлового сервера Архитектура «клиент/ сервер» Многоуровневая архитектура Влияние SQL SQL и мэйнфреймы SQL и мини-компьютеры SQL и UNIX SQL и персональные компьютеры SQL и обработка транзакций SQL и базы данных для рабочих групп SQL, хранилища данных и интеллектуальные ресурсы предприятия SQL и интернет-приложения Резюме Глава 4. Реляционные базы данных Ранние модели данных Системы управления файлами Иерархические базы данных Сетевые базы данных Реляционная модель данных Учебная база данных Таблицы Первичные ключи Взаимоотношения Внешние ключи Двенадцать правил Кодда для реляционных баз данных Резюме Часть II. Выборка данных Глава 5. Основы SQL Инструкции Имена Имена таблиц Имена столбцов Типы данных Константы Числовые константы Строковые константы Константы даты и времени Символьные константы Выражения Встроенные функции Отсутствующие данные (значения NULL) Резюме Глава 6. Простые запросы Инструкция SELECT Предложение SELECT Предложение FROM Результаты запроса Простые запросы Вычисляемые столбцы Выборка всех столбцов (SELECT *) Повторяющиеся строки (DISТINCT) Отбор строк (WHERE) Условия отбора Сравнение (=, <>, <, <=, >, >=) Проверка на принадлежность диапазону (BETWEEN) Проверка наличия во множестве (IN) Проверка на соответствие шаблону (LIKE) Проверка на равенство NULL (15 NULL) Составные условия отбора (AND, OR и NOT} Сортировка результатов запроса (ORDER ВУ) Правила выполнения однотабличных запросов Объединение результатов нескольких запросов (UNION)* Объединение и повторяющиеся строки Объединение и сортировка Вложенные объединения Резюме Глава 7. Многотабличные запросы (соединения) Пример двухтабличного запроса Простое соединение таблиц Запросы с использованием отношения «предок-потомок» Еще один способ определения соединений Соединения с условиями отбора строк Несколько связанных столбцов Естественные соединения Запросы к трем и более таблицам Прочие соединения по равенству Соединение по неравенству Особенности многотабличных запросов Квалифицированные имена столбцов Выборка всех столбцов Самосоединения Псевдонимы таблиц Производительность при обработке многотабличных запросов Внутренняя структура соединения таблиц Умножение таблиц Правила выполнения многотабличных запросов на выборку Внешние соединения Левое и правое внешние соединения Старая запись внешнего соединения Соединения и стандарт SQL Внутренние соединения в стандарте SQL Внешние соединения в стандарте SQL Перекрестные соединения в стандарте SQL Многотабличные соединения в стандарте SQL Резюме Глава 8. Итоговые запросы Агрегирующие функции Вычисление суммы значений столбца Вычисление среднего значений столбца Вычисление предельных значений Подсчет количества данных Статистические функции в списке возвращаемых столбцов 21 О Статистические функции и значения NULL Удаление повторяющихся строк (DISТINCT) Запросы с группировкой (GROUP ВУ) Несколько столбцов группировки Ограничения на запросы с группировкой Значения NULL в столбцах группировки Условия отбора групп (HAVING) Ограничения на условия отбора групп Значения NULL и условия отбора групп Предложение НА VING без GROUP ВУ Резюме Глава 9. Подзапросы и выражения с запросами Применение подзапросов Что такое подзапрос Подзапросы в предложении WHERE Внешние ссылки Условия отбора в подзапросе Сравнение с результатом подзапроса (=, <>, <, <=, >, >=) Проверка на принадлежность результатам подзапроса (IN) Проверка существования (EXISTS) Многократное сравнение (предикаты ANY и ALL) Подзапросы и соединения Вложенные подзапросы Коррелированные подзапросы Подзапросы в предложении НА VING Резюме по подзапросам Сложные запросы Выражения со скалярными значениями Выражения со строками таблиц Табличные выражения Выражения запросов Резюме по SQL-запросам Часть III. Обновление данных Глава 10. Внесение изменений в базу данных Добавление новых данных Однострочная инструкция INSERT Многострочная инструкция INSERT Программы пакетной загрузки Удаление существующих данных Инструкция DELETE Удаление всех строк Инструкция DELETE с подзапросом Обновление существующих данных Инструкция UPDA ТЕ Обновление всех строк Инструкция UPDATE с подзапросом Резюме Глава 11. Целостность данных Условия целостности данных Обязательность данных Условия на значения Ограничения на значения столбца Домены Целостность таблицы Прочие условия уникальности столбцов Уникальность и значения NULL Ссылочная целостность Проблемы, связанные со ссылочной целостностью Правила удаления и обновления Каскадные удаления и обновления Ссылочные циклы Внешние ключи и значения NULL Расширенные возможности ограничений Утверждения Типы ограничений SQL Отложенная проверка ограничений Бизнес-правила Что такое триггер Триггеры и ссылочная целостность Преимущества и недостатки триггеров Триггеры и стандарты SQL Резюме Глава 12. Обработка транзакций Что такое транзакция Модель транзакции ANSI/ISO SQL Инструкции START TRANSACTION и SET TRANSACТION Инструкции SA VEPOINТ и RELEASE SA VEPOINТ Инструкции СОММIТ и ROLLBACK Транзакции: что за сценой Транзакции и работа в многопользовательском режиме Проблема пропавшего обновления Проблема промежуточных данных Проблема несогласованных данных Проблема строк-призраков Параллельные транзакции Блокировка Уровни блокировки Блокировка с обеспечением совместного доступа и исключающая блокировка Усовершенствованные методы блокировки Управление версиями Управление версиями в действии Преимущества и недостатки управления версиями Резюме Часть IV. Структура базы данных Глава 13. Создание базы данных Язык определения данных Создание базы данных Определения таблиц Создание таблицы (CREA ТЕ Т ABLE) Удаление таблицы (DROP Т ABLE) Изменение определения таблицы (AL TER Т ABLE) Определения ограничений Утверждения Домены Псевдонимы, или синонимы (CREATE/DROP ALIAS) Индексы (CREATE/DROP INDEX) Управление другими объектами базы данных Структура базы данных Архитектура с одной базой данных Архитектура с несколькими базами данных Архитектура с каталогами Базы данных на нескольких серверах Структура базы данных и стандарт ANSI/ISO Каталоги Схемы Резюме Глава 14. Представления Что такое представление Как СУБД работает с представлениями Пре имущества представлений Недостатки представлений Создание представлений (CREA ТЕ VIEW) Горизонтальные представления Вертикальные представления Смешанные представления Сгруппированные представления Соединенные представления Обновление представлений Обновление представлений и стандарт ANSl/ISO Обновление представлений в коммерческих СУБД Контроль над обновлением представлений (СНЕСК OPTION) Удаление представления (DROP VIEW) Материализованные представления Резюме Глава 15. SQL и безопасность Принципы защиты данных, применяемые в SQL Идентификаторы пользователей Защищаемые объекты Привилегии Представления и безопасность SQL Предоставление привилегий (GRANT) Привилегии для работы со столбцами Передача привилегий (GRANT OPТION) Отмена привилегий (REVOKE) REVOKE и GRANТ OPТIONS REVOKE и стандарт ANSl/ISO Безопасность на основе ролей Резюме Глава 16. Системный каталог Что такое системный каталог Системный каталог и средства формирования запросов Системный каталог и стандарт ANSI/ISO Содержимое системного каталога Информация о таблицах Информация о столбцах Информация о представлениях Примечания Информация об отношениях между таблицами Информация о пользователях Информация о привилегиях Информационная схема SQL Прочая информация каталога Резюме Часть V. Программирование и SQL Глава 17. Встроенный SQL Методы программного SQL Обработка инструкций в СУБД Основные концепции встроенного SQL Разработка программы со встроенным SQL Выполнение программы со встроенным SQL Простые инструкции встроенного SQL Объявления таблиц Обработка ошибок Использование базовых переменных Выборка данных с помощью встроенного SQL Запросы, возвращающие одну запись Многострочные запросы Удаление и обновление данных на основе курсоров Курсоры и обработка транзакций Резюме Глава 18. Динамический SQL Недостатки статического SQL Концепции динамического SQL Динамическое выполнение инструкций (EXECUTE IMMEDIA ТЕ) Динамическое выполнение в два этапа Инструкция PREPARE Инструкция EXECUTE Динамические запросы Инструкция DESCRIВE Инструкция DECLARE CURSOR Динамическая инструкция OPEN Динамическая инструкция FETCH Динамическая инструкция CLOSE Диалекты динамического SQL Динамический SQL в Oracle Динамический SQL и стандарт SQL Базовые динамические инструкции SQL Стандартная SQLDA Стандарт SQL и динамические запросы на выборку Резюме Глава 19. SQL API Концепции API dЫib API (SQL Server) Основы работы с SQL Server Запросы на выборку в SQL Server Позиционные обновления Динамические запросы на выборку ODBC API и стандарт SQL/CLI Стандартизация CLI Структуры CLI Обработка инструкций в CLI Ошибки CLI и диагностическая информация Атрибуты CLI Информационные функции CLI ODBC API Структура ODBC ODBC и независимость от СУБД Функции ODBC для работы с системными каталогами Расширенные возможности ODBC Oracle Call Interface (OCI) Дескрипторы OCI Подключение к серверу Oracle Выполнение инструкций Обработка результатов запроса Управление описателями Управление транзакциями Обработка ошибок Пол учение информации из системного каталога Работа с большими объектами Java Database Connectivity (JDBC) История и версии JDBC Реализация JDBC и типы драйверов JDБC API Базовая обработка инструкций в JDБC Обработка простых запросов Использование подготовленных инструкций в JDBC Использование вызываемых инструкций в JDBC Обработка ошибок в JDBC Курсоры произвольного доступа в JDBC Получение метаданных в JDBC Расширенные возможности JDБC Резюме Часть VI. SQL сегодня и завтра Глава 20. Хранимые процедуры SQL Концепции хранимых процедур Простейший пример Использование хранимых процедур Создание хранимой процедуры Вызов хранимой процедуры Переменные хранимых процедур Блоки инструкций Функции Возврат значений через параметры Условное выполнение Циклы Другие управляющие конструкции Циклы с курсорами Обработка ошибок Преимущества хранимых процедур Производительность хранимых процедур Системные хранимые процедуры Внешние хранимые процедуры Триггеры Преимущества и недостатки триггеров Триггеры в диалекте Transact-SQL Триггеры в диалекте Inf ormix Триггеры в диалекте Oracle PL/SQL Дополнительные вопросы, связанные с использованием триггеров Хранимые процедуры и стандарт SQL Стандарт SQL/PSM для хранимых процедур Стандарт SQL/PSM для триггеров Резюме Глава 21. SQL и хранилища данных Концепции хранилищ данных Компоненты хранилища данных Эволюция хранилищ данных Архитектура баз данных для хранилищ Кубы фактов Схема звезды Многоуровневые измерения Расширения SQL для хранилищ данных Производительность хранилищ данных Скорость загрузки данных Производительность запросов Резюме Глава 22. SQL и серверы приложений SQL и веб-сайты: ранние реализации Серверы приложений и трехуровневые архитектуры веб-сайтов Доступ серверов приложений к базам данных Типы EJB Доступ к базе данных со стороны session bean Доступ к базе данных со стороны entity bean Усовершенствования EJB Усовершенствования EJB Разработка приложений с открытым кодом Серверы приложений и кеширование Резюме Глава 23. Сети и распределенные базы данных Проблемы управления распределенными данными Практические подходы к управлению распределенными базами данных Доступ к удаленным базам данных Прозрачность доступа к удаленным данным Дублирование таблиц Репликация таблиц Двунаправленная репликация Затраты на репликацию Типичные схемы репликации Доступ к распределенным базам данных Удаленные запросы Удаленные транзакции Распределенные транзакции Распределенные запросы Протокол двухфазного завершения транзакций Сетевые приложения и архитектура баз данных Приложения «клиент/ сервер» и архитектура баз данных Приложения «клиент/сервер» с хранимыми процедурами Корпоративные приложения и кеширование данных Управление базами данных в Интернете Резюме Глава 24. SQL и объект ы Объектно-ориентированные базы данных Характеристики объектно-ориентированной базы данных «Плюсы» и «минусы» объектно-ориентированных баз данных Влияние объектных технологий на рынок баз данных Объектно-реляционные базы данных Поддержка больших объектов Большие объекты в реляционной модели Специализированная обработка больших объектов Абстрактные (структурированные) типы данных Определение абстрактных типов данных Использование абстрактных типов данных Наследование Табличное наследование: реализация классов Множества, массивы и коллекции Определение коллекций Коллекции и запросы на выборку Работа с коллекциями данных Коллекции и хранимые процедуры Пользовательские типы данных Методы и хранимые процедуры Поддержка объектов в стандарте SQL Резюме Глава 25. SQL и XML Что такое XML Азы ХМL XML для данных XML и SQL Элементы и атрибуты Использование XML с базами данных Вывод ХМL Ввод ХМL Обмен ХМL - данными Хранение и интеграция ХМL - данных XML и метаданные DTD XML Schema XML и запросы Концепции XQuery Обработка запросов в XQuery Базы данных на основе XML Резюме Глава 26. Специализированные базы данных Низкие задержки и базы данных в памяти Анатомия баз данных в памяти Реализация баз данных в памяти Кеширование с базами данных в памяти Сложные базы данных для обработки событий и потоковые базы данных Непрерывные запросы в потоковых базах данных Реализации потоковых баз данных Компоненты потоковых баз данных Встраиваемые базы данных Характеристики встраиваемых баз данных Реализации встраиваемых баз данных Мобильные базы данных Роли моб ильных баз данных Реализации моб ильных баз данных Резюме Глава 27. Будущее SQL Тенденции на рынке баз данных Насыщение рынка корпоративных баз данных Сегментация рынка СУБД Пакеты корпоративных приложений Программное об еспечение в виде служб Повышение производительности аппаратного об еспечения Специализированные серверы баз данных Стандартизация SQL SQL в следующем десятилетии Распределенные базы данных Массивные хранилища данных для оптимизации бизнеса Сверхпроизводительные базы данных Интеграция Интернета и сетевых служб Встраиваемые базы данных Интеграция с объектно-ориентированными технологиями Горизонтально масштабируемые базы данных Резюме Часть VII. Приложения Приложение А. Учебная база данных Приложение Б. Производители СУБД Приложение В. Синтаксис SQL Инструкции DDL Инструкции управления доступом Основные инструкции DML Инструкции об работки транзакций Инструкции для работы с курсорами Выражения запросов Условия отбора Выражения Элементы инструкций Простые элементы Предметный указатель