Mundarija | Об авторах
О техническом редакторе
Благодарности
Введение
Как организована книга
Соглашения, принятые в книге
Для кого предназначена эта книга
ЧАСТЬ ОБЗОР SQL
Глава Введение
Язык SQL
Poль SQL
Преимущества SQL
Независимость от конкретных СУБД
Межплатформенная переносимость
Стандарты языка SQL
Поддержка со стороны IВМ
Поддержка со стороны Microsoft
Основанность на реляционной модели
Высокоуровневая структура, напоминающая естесгвенный язык
Интерактивные запросы
Программный доступ к базе данных
Различные представления данных
Полноценный язык для работы с базами данных
Динамическое определение данных
Архитектура "клиент/ сервер"
Поддержка приложений уровня предприятия
Расширяемость и поддержка объектно-ориентированных
технологий
Возможность доступа к данным в Интернете
Интеграция с языком Java (протокол JDBC)
Поддержка открытого кода
Промышленная инфраструктура
Глава Краткий обзор SQL
Простая база данных
Выборка данных
Пол учение итоговых данных
Добавление данных
Удаление данных
Обновление данных
Защита данных
Создание базы данных
Резюме
Глава Перспективы SQL
SQL и эволюция управления базами данных
Краткая история SQL
Первые годы
Первые реляционные СУБД
Продукты IВМ
Коммерческое признание
Стандарты SQL
Стандарты ANSl/
Другие ранние стандарты SQL
ODBC и консорциум SQL Access Group
JDBC и серверы приложений
SQL и переносимость
SQL и сети
Централизованная архитектура
Архитектура файлового сервера
Архитектура "клиент/ сервер"
Многоуровневая архитектура
Влияние SQL
SQL и мэйнфреймы
SQL и мини-компьютеры
SQL и UNIX
SQL и персональные компьютеры
SQL и обработка транзакций
SQL и базы данных для рабочих групп
SQL, хранилища данных и интеллектуальные
ресурсы предприятия
SQL и интернет-приложения
Резюме
Глава Реляционные базы данных
Ранние модели данных
Системы управления файлами
Иерархические базы данных
Сетевые базы данных
Реляционная модель данных
Учебная база данных
Таблицы
Первичные ключи
Взаимоотношения
Внешние ключи
Двенадцать правил Кома для реляционных баз данных*
Резюме
ЧАСТЬ ВЫБОРКА ДАННЫХ
Глава Основы SQL
Инструкции
Имена
Имена таблиц
Имена столбцов
Типы данных
Константы
Числовые константы
Строковые константы
Константы даты и времени
Символьные константы
Выражения
Встроенные функции
Отсутствующие данные (значения NULL)
Резюме
Глава Простые запросы
Инструкция SELECT
Предложение SELECT
Предложение FROM
Результаты запроса
Простые запросы
Вычисляемые столбцы
Выборка всех столбцов (SELECT *)
Повторяющиеся строки (DISТINCT)
Отбор строк (WHERE)
Условия отбора
Сравнение (=, <>, <, <=, >, >=)
Проверка на принадлежность диапазону (BETWEEN)
Проверка наличия во множестве (IN)
Проверка на соответствие шаблону (LIKE)
Проверка на равенство NULL ( NULL)
Составные условия отбора (AND, OR и NOT}
Сортировка результатов запроса (ORDER ВУ)
Правила выполнения однотабличных запросов
Объединение результатов нескольких запросов (UNION)*
Объединение и повторяющиеся строки*
Объединение и сортировка*
Вложенные объединения*
Резюме
Глава Многотабличные запросы (соединения)
Пример двухтабличного запроса
Простое соединение таблиц
Запросы с использованием отношения "предок-потомок"
Еще один способ определения соединений
Соединения с условиями отбора строк
Несколько связанных столбцов
Естественные соединения
Запросы к трем и более таблицам
Прочие соединения по равенству
Соединение по неравенству
Особенности многотабличных запросов
Квалифицированные имена столбцов
Выборка всех столбцов
Самосоединения
Псевдонимы таблиц
Производительность при обработке многотабличных запросов
Внутренняя структура соединения таблиц
Умножение таблиц
Правила выполнения многотабличных запросов на выборку
Внешние соединения
Левое и правое внешние соединения
Старая запись внешнего соединения *
Соединения и стандарт SQL
Внутренние соединения в стандарте SQL
Внешние соединения в стандарте SQL *
Перекрестные соединения в стандарте SQL *
Многотабличные соединения в стандарте SQL
Резюме
Глава Итоговые запросы
Агрегирующие функции
Вычисление суммы значений столбца
Вычисление среднего значений столбца
Вычисление предельных значений
Подсчет количества данных
Статистические функции в списке возвращаемых столбцов О
Статистические функции и значения NULL
Удаление повторяющихся строк (DISТINCT)
Запросы с группировкой (GROUP ВУ)
Несколько столбцов группировки
Ограничения на запросы с группировкой
Значения NULL в столбцах группировки
Условия отбора групп (HAVING)
Ограничения на условия отбора групп
Значения NULL и условия отбора групп
Предложение НА VING без GROUP ВУ
Резюме
Глава Подзапросы и выражения с запросами
Применение подзапросов
Что такое подзапрос
Подзапросы в предложении WHERE
Внешние ссылки
Условия отбора в подзапросе
Сравнение с результатом подзапроса (=, <>, <, <=, >, >=)
Проверка на принадлежность результатам подзапроса (IN)
Проверка существования (EXISTS)
Многократное сравнение (предикаты ANY и ALL)*
Подзапросы и соединения
Вложенные подзапросы
Коррелированные подзапросы*
Подзапросы в предложении НА VING*
Резюме по подзапросам
Сложные запросы*
Выражения со скалярными значениями
Выражения со строками таблиц
Табличные выражения
Выражения запросов
Резюме по SQL-запросам
ЧАСТЬ ОБНОВЛЕНИЕ дАННЫХ
Глава Внесение изменений в базу данных
Добавление новых данных
Однострочная инструкция INSERT
Многострочная инструкция INSERT
Программы пакетной загрузки
Удаление существующих данных
Инструкция DELETE
Удаление всех строк
Инструкция DELETE с подзапросом*
Обновление существующих данных
Инструкция UPDA ТЕ
Обновление всех строк
Инструкция UPDATE с подзапросом*
Резюме
Глава Целостность данных
Условия целостности данных
Обязательность данных
Условия на значения
Ограничения на значения столбца
Домены
Целостность таблицы
Прочие условия уникальности столбцов
Уникальность и значения NULL
Ссылочная целостность
Проблемы, связанные со ссылочной целостностью
Правила удаления и обновления*
Каскадные удаления и обновления*
Ссылочные циклы*
Внешние ключи и значения NULL *
Расширенные возможности ограничений
Утверждения
Типы ограничений SQL
Отложенная проверка ограничений
Бизнес-правила
Что такое триггер
Триггеры и ссылочная целостность
Преимущества и недостатки триггеров
Триггеры и стандарты SQL
Резюме
Глава Обработка транзакций
Что такое транзакция
Модель транзакции ANSI/ISO SQL
Инструкции START TRANSACTION и SET TRANSACТION
Инструкции SA VEPOINТ и RELEASE SA VEPOINТ
Инструкции СОММIТ и ROLLBACK
Транзащии: что за сценой*
Транзакции и работа в многопользовательском режиме
Проблема пропавшего обновления
Проблема промежуточных данных
Проблема несогласованных данных
Проблема строк-призраков
Параллельные транзакции
Блокировка*
Уровни блокировки
Блокировка с обеспечением совместного доступа
и исключающая блокировка
Усовершенствованные методы блокировки*
Управление версиями*
Управление версиями в действии*
Преимущества и недостатки управления версиями*
Резюме
ЧАСТЬ IV. СТРУКТУРА БАЗЫ ДАННЫХ
Глава Создание базы данных
Язык определения данных
Создание базы данных
Определения таблиц
Создание таблицы (CREA ТЕ Т ABLE)
Удаление таблицы (DROP Т ABLE)
Изменение определения таблицы (AL TER Т ABLE)
Определения ограничений
Утверждения
Домены
Псевдонимы, или синонимы (CREATE/DROP ALIAS)
Индексы (CREATE/DROP INDEX)
Управление другими объектами базы данных
Структура базы данных
Архитектура с одной базой данных
Архитектура с несколькими базами данных
Архитектура с каталогами
Базы данных на нескольких серверах
Структура базы данных и стандарт ANSI/ISO
Каталоги
Схемы
Резюме
Глава Представления
Что такое представление
Как СУБД работает с представлениями
П ре имущества представлений
Недостатки представлений
Создание представлений (CREA ТЕ VIEW)
Горизонтальные представления
Вертикальные представления
Смешанные представления
Сгруппированные представления
Соединенные представления
Обновление представлений
Обновление представлений и стандарт ANSl/ISO
Обновление представлений в коммерческих СУБД
Контроль над обновлением представлений (СНЕСК OPTION)
Удаление представления (DROP VIEW)
Материализованные представления*
Резюме
Глава SQL и безопасность
Принципы защиты данных, применяемые в SQL
Идентификаторы пользователей
Защищаемые объекты
Привилегии
Представления и безопасность SQL
Предоставление привилегий (GRANT)
Привилегии мя работы со столбцами
Передача привилегий (GRANT OPТION)
Отмена привилегий (REVOKE)
REVOKE и GRANТ OPТIONS
REVOKE и стандарт ANSl/ISO
Безопасность на основе ролей
Резюме
Глава Системный каталог
Что такое системный каталог
Системный каталог и средства формирования запросов
Системный каталог и стандарт ANSI/ISO
Содержимое системного каталога
Информация о таблицах
Информация о столбцах
Информация о представлениях
Примечания
Информация об отношениях между таблицами
Информация о пользователях
Информация о привилегиях
Информаци·онная схема SQL
Прочая информация каталога
Резюме
ЧАСТЬ V. ПРОГРАММИРОВАНИЕ И SQL
Глава Встроенный SQL
Методы программного SQL
Обработка инструкций в СУБД
Основные концепции встроенного SQL
Разработка программы со встроенным SQL
Выполнение программы со встроенным SQL
Простые инструкции встроенного SQL
Объявления таблиц
Обработка ошибок
Использование базовых переменных
Выборка данных с помощью встроенного SQL
Запросы, возвращающие одну запись
Многострочные запросы
Удаление и обновление данных на основе курсоров
Курсоры и обработка транзакций
Резюме
Глава Динамический SQL *
Недостатки статического SQL
Концепции динамического SQL
Динамическое выполнение инструкций (EXECUTE IMMEDIA ТЕ)
Динамическое выполнение в два этапа
Инструкция PREPARE
Инструкция EXECUTE
Динамические запросы
Инструкция DESCRIВE
Инструкция DECLARE CURSOR
Динамическая инструкция OPEN
Динамическая инструкция FETCH
Динамическая инструкция CLOSE
Диалекты динамического SQL
Динамический SQL в Oracle*
Динамический SQL и стандарт SQL
Базовые динамические инструкции SQL
Стандартная SQLDA
Стандарт SQL и динамические запросы на выборку
Резюме
Глава 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 СЕГОДНЯ И ЗАВТРА
Глава Хранимые процедуры SQL
Концепции хранимых процедур
Простейший пример
Использование хранимых процедур
Создание хранимой процедуры
Вызов хранимой процедуры
Переменные хранимых процедур
Блоки инструкций
Функции
Возврат значений через параметры
Условное выполнение
Циклы
Другие управляющие конструкции
Циклы с курсорами О
Обработка ошибок
Преимущества хранимых процедур
Производительность хранимых процедур
Системные хранимые процедуры
Внешние хранимые процедуры
Триггеры
Преимущества и недостатки триггеров
Триггеры в диалекте Transact-SQL
Триггеры в диалекте Inf ormix
Триггеры в диалекте Oracle PL/SQL
Дополнительные вопросы, связанные
с использованием триггеров
Хранимые процедуры и стандарт SQL
Стандарт SQL/PSM для хранимых процедур
Стандарт SQL/PSM для триггеров
Резюме
Глава SQL и хранилища данных
Концепции хранилищ данных
Компоненты хранилища данных
Эволюция хранилищ данных
Архитектура баз данных для хранилищ
Кубы фактов
Схема звезды
Многоуровневые измерения
Расширения SQL для хранилищ данных
Производительность хранилищ данных
Скорость загрузки данных
Производительность запросов
Резюме
Глава SQL и серверы приложений
SQL и веб-сайты: ранние реализации
Серверы приложений и трехуровневые архитектуры веб-сайтов
Доступ серверов приложений к базам данных
Типы EJB
Доступ к базе данных со стороны session bean
Доступ к базе данных со стороны entity bean
Усовершенствования EJB
Усовершенствования EJB
Разработка приложений с открытым кодом
Серверы приложений и кеширование
Резюме
Глава Сети и распределенные базы данных
Проблемы управления распределенными данными
Практические подходы к управлению распределенными
базами данных
Доступ к удаленным базам данных
Прозрачность доступа к удаленным данным
Дублирование таблиц
Репликация таблиц
Двунаправленная репликация
Затраты на репликацию
Типичные схемы репликации
Доступ к распределенным базам данных
Удаленные запросы
Удаленные транзакции
Распределенные транзакции
Распределенные запросы
Протокол двухфазного завершения транзакций*
Сетевые приложения и архитектура баз данных
Приложения "клиент/ сервер" и архитектура баз данных
Приложения "клиент/сервер" с хранимыми процедурами
Корпоративные приложения и кеширование данных
Управление базами данных в Интернете
Резюме
Глава SQL и объекты
Объектно-ориентированные базы данных
Характеристики объектно-ориентированной базы данных
"Плюсы" и / минусы" объектно-ориентированных баз данных
Влияние объектных технологий на рынок баз данных
Объектно-реляционные базы данных
Поддержка больших объектов
Большие объекты в реляционной модели
Специализированная обработка больших объектов
Абстрактные (структурированные) типы данных
Определение абстрактных типов данных
Использование абстрактных типов данных
Наследование
Табличное наследование: реализация классов
Множества, массивы и коллекции
Определение коллекций
Коллекции и запросы на выборку
Работа с коллекциями данных
Коллекции и хранимые процедуры
Пользовательские типы данных
Методы и хранимые процедуры
Помержка объектов в стандарте SQL
Резюме
Глава SQL и XML
Что такое XML
Азы ХМL
XML для данных
XML и SQL
Элементы и атрибуты
Использование XML с базами данных
Вывод ХМL
Ввод ХМL
Обмен ХМL -данными
Хранение и интеграция ХМL -данных
XML и метаданные
ото
XML Schema
XML и запросы
Концепции XQuery
Обработка запросов в XQuery
Базы данных на основе XML
Резюме
Глава Специализированные базы данных
Низкие задержки и базы данных в памяти
Анатомия баз данных в памяти
Реализация баз данных в памяти
Кеширование с базами данных в памяти
Сложные базы данных для обработки событий
и потоковые базы данных
Непрерывные запросы в потоковых базах данных
Реализации потоковых баз данных
Компоненты потоковых баз данных
Встраиваемые базы данных
Характеристики встраиваемых баз данных
Реализации встраиваемых баз данных
Мобильные базы данных
Роли мобильных баз данных
Реализации мобильных баз данных
Резюме
Глава БудУщее SQL
Тенденции на рынке баз данных
Насыщение рынка корпоративных баз данных
Сегментация рынка СУБД
Пакеты корпоративных приложений
Программное обеспечение в виде служб
Повышение производительности аппаратного обеспечения
Специализированные серверы баз данных
Стандартизация SQL
SQL в следующем десятилетии
Распределенные базы данных
Массивные хранилища данных для оптимизации бизнеса
Сверхпроизводительные базы данных
Интеграция Интернета и сетевых ел ужб
Встраиваемые базы данных
Интеграция с объектно-ориентированными технологиями
Горизонтально масштабируемые базы данных
Резюме
ЧАСТЬ Vll. ПРИЛОЖЕНИЯ
Приложение А. Учебная база данных
Приложение Б. Производители СУБД
Приложение В. Синтаксис SQL
Инструкции DDL
Инструкции управления доступом
Основные инструкции DML
Инструкции обработки транзакций
Инструкции для работы с курсорами
Выражения запросов
Условия отбора
Выражения
Элементы инструкций
Простые элементы
Предметный указатель |
---|
Reviews
There are no reviews yet.