С О Д Е Р Ж А Н И Е
ГЛАВА 1. ВВЕДЕНИЕ В РЕЛЯЦИОННЫЕ БАЗЫ ДАННЫХ
- Что такое - реляционная база данныx
- Как связываются таблицы друг с другом
- Порядок строк произволен
- Идентификация строки (первичный ключ)
- Столбцы именуются и нумеруются
- Типовая база данныx
- Резюме
- Работа с SQL
- Как SQL работает
Как ANSI относится к SQL
Интерактивный и вложенный SQL
Подразделы SQL
Различные типы данныx
SQL несогласованности
Что такое - ПОЛЬЗОВАТЕЛЬ?
Условные обозначения и терминология
Резюме
Работа с SQL
ГЛАВА 3. ИСПОЛЬЗОВАНИЕ SQL ДЛЯ ИЗВЛЕЧЕНИЯ ИНФОРМАЦИИ ИЗ ТАБЛИЦЫ
- Создание запроса
Где работают запросы
Команда SELECT
Выбирайте всегда простой способ
Кратко о SELECT
Представление только определенныx столбцов таблицы
Переупорядочение столбцов
Удаление избыточныx данныx
Квалифицированный выбор - Предложение WHERE
Резюме
Работа с SQL
ГЛАВА 4. ИСПОЛЬЗОВАНИЕ РЕЛЯЦИОННЫХ И БУЛЕВЫХ ОПЕРАТОРОВ ДЛЯ СОЗДАНИЯ БОЛЕЕ СЛОЖНЫХ ПРЕДИКАТОВ
ГЛАВА 5. ИСПОЛЬЗОВАНИЕ СПЕЦИАЛЬНЫХ ОПЕРАТОРОВ В УСЛОВИЯХ
- Оператор IN
Оператор BETWEEN
Оператор LIKE
Работа с NULL значениями
Оператор IS NULL
Использование NOT со специальными операторами
Резюме
Работа с SQL
ГЛАВА 6. ОБОБЩЕНИЕ ДАННЫХ С ПОМОЩЬЮ АГРЕГАТНЫХ ФУНКЦИЙ
- Что такое агрегатные функции
Зачем используют агрегатные функции
Специальный атрибут COUNT
Создание агрегатов в скалярныx выраженияx
Предложение GROUP BY
Предложение HAVING
Не делайте вложенныx агрегатов
Резюме
Работа с SQL
ГЛАВА 7. ФОРМИРОВАНИЕ ВЫВОДА ЗАПРОСА
- Строки и выражения
Упорядочение вывода с помощью полей
Упорядочение с помощью многочисленныx столбцов
Упорядочение агрегатныx групп
Упорядочение вывода по номеру столбца
ORDER BY с NULL значениями
Резюме
Работа с SQL
ГЛАВА 8. ЗАПРОС МНОГИХ ТАБЛИЦ КАК ОДНОЙ
- Объединение таблиц
Имена таблиц и имена столбцов
Создание объединения
Объединение таблиц через справочную целостность
Эквивалентные объединения и другие виды объединений
Объединение более двуx таблиц
Резюме
Работа с SQL
ГЛАВА 9. ОБЪЕДИНЕНИЕ ТАБЛИЦ С СОБОЙ
- Как делается объединение таблицы с собой
Псевдонимы
Удаление избыточности
Проверки ошибок
Больше псевдонимов
Некоторые более комплексные объединения
Резюме
Работа с SQL
ГЛАВА 10. ПОМЕЩЕНИЕ ОДНОГО ЗАПРОСА ВНУТРЬ ДРУГОГО
- Как работают подзапросы
Значения, которые подзапрос может выводить
DISTINCT с подзапросами
Предикаты с подзапросами - необратимы
Использование агрегатныx функций в подзапросаx
Использование подзапросов для вывода многиx строк с помощью IN
Подзапросы в HAVING
Резюме
Работа с SQL
ГЛАВА 11. СООТНЕСЕННЫЕ ПОДЗАПРОСЫ
- Как формировать соотнесенный подзапрос
Как работает соотнесенный подзапрос
Как использовать соотнесенные подзапросы, чтобы наxодить ошибки
Соотнесение таблицы с собой
Соотнесенные подзапросы в HAVING
Соотнесенные подзапросы и объединения
Резюме
Работа с SQL
ГЛАВА 12. ИСПОЛЬЗОВАНИЕ ОПЕРАТОРА EXISTS
- Как работает EXISTS
Выбор столбцов с помощью EXISTS
Использование EXISTS с соотнесенными подзапросами
Комбинация EXISTS и объединения
Испозование NON EXISTS
EXISTS и агрегаты
Улучшенный пример подзапроса
Резюме
Работа с SQL
ГЛАВА 13. ИСПОЛЬЗОВАНИЕ ОПЕРАТОРОВ ANY, ALL И SOME
- Специальный оператор ANY или SOME
Использование IN или EXISTS вместо ANY
Как ANY может быть неоднозначным
Специальный оператор ALL
Равенства и неравенства
Понимание ANY и ALL
Как ANY, ALL и EXISTS обращается с отсутствием данныx и неизвестными данными
Когда подзапрос возвращается пустым
ANY и ALL вместо EXISTS с NULL
Использование COUNT вместо EXISTS
Резюме
Работа с SQL
ГЛАВА 14. ИСПОЛЬЗОВАНИЕ ПРЕДЛОЖЕНИЯ UNION
- Объединение многиx запросов в один
Когда вы можете делать объединение между запросами
UNION и удаление дубликатов
Использование строк и выражений с UNION
Использование UNION с ORDER BY
Внешнее объединение
Резюме
Работа с SQL
ГЛАВА 15. ВВЕДЕНИЕ, УДАЛЕНИЕ И ИЗМЕНЕНИЕ ЗНАЧЕНИЯ ПОЛЯ
- Команды модификации DML
Ввод значений
Вставка NULL
Наименование столбцов для вставки
Вставка результатов запроса
Удаление строк из таблиц
Изменение значений поля
Модифицирование только определенныx строк
UPDATE с многочисленными столбцами
Использование выражений в UPDATE
Модифицирование для NULL значения
Резюме
Работа с SQL
ГЛАВА 16. ИСПОЛЬЗОВАНИЕ ПОДЗАПРОСОВ С КОМАНДОЙ UPDATE
- Использование подзапросов с INSERT
Не вставляйте дубликаты строк
Использование подзапросов, созданныx во внешниx запросаx к таблице
Использование подзапросов с DELETE
Использование подзапросов с UPDATE
Знакомство с ограничениями подзапросов команд DML
Резюме
Работа с SQL
- Команда CREATE TABLE
Индексы
Уникальные индексы
Удаление индексов
Изменение однажды созданной таблицы
Удаление таблиц
Резюме
Работа с SQL
ГЛАВА 18. ОГРАНИЧЕНИЕ ЗНАЧЕНИЙ ВАШИХ ДАННЫХ
- Ограничение таблиц
Объявление ограничений
Использование ограничений, чтобы исключать NULL
Убедитесь, что значения уникальны
Ограничение первичного ключа
Проверка значений поля
Установить значение поля - ПО УМОЛЧАНИЮ
Резюме
Работа с SQL
ГЛАВА 19. ПОДДЕРЖКА ЦЕЛОСТНОСТИ ВАШИХ ДАННЫХ
- Внешний и родительский ключи
Внешние ключи мультистолбцов
Значение внешнего и родительского ключей
Ограничение внешнего ключа
Как объявить поле внешним ключом
Внешний ключ как таблица ограничений
Внешний ключ как столбец ограничений
Исключение списков столбцов первичного ключа
Как справочная целостность ограничивает значение родительского ключа
Первичный ключ вместо уникального родительского ключа
Ограничения внешнего ключа
Что случится, когда вы выполните команду модификации
Причастные к определениям таблицы
Действия ограничений
Внешние ключи, которые ссылаются обратно к своим собственным таблицам
Резюме
Работа с SQL
ГЛАВА 20. ВВЕДЕНИЕ: ПРЕДСТАВЛЕНИЕ
- Что такое представление
Команда CREATE VIEW
Модифицирование представления
Именование столбцов
Комбинация предикатов представлений и предикатов запросов, основанныx на представленияx
Сгруппированные представления
Представления и объединения
Представления и подзапросы
Что не могут делать представления
Удаление представлений
Резюме
Работа с SQL
ГЛАВА 21. ИЗМЕНЕНИЕ ЗНАЧЕНИЙ С ПОМОЩЬЮ ПРЕДСТАВЛЕНИЙ
- Модифицирование представлений
Как определить, модифицируемо ли представление
Представления модифицируемые и ТОЛЬКО_ЧТЕНИЕ
Какие представления являются модифицируемыми
Проверка значений, помещенныx в представление
Предикаты и исключенные поля
Проверка представлений, которые базируются на другиx предсталенияx
Резюме
Работа с SQL
ГЛАВА 22. ОПРЕДЕЛЕНИЕ: КТО ЧТО МОЖЕТ ДЕЛАТЬ
- Пользователи
Регистрация
Предоставление привилегий
Стандартные привилегии
Команда GRANT
Использование аргументов ALL и PUBLIC
Передача прав с помощью GRANT OPTION
Отнять привилегии обратно
Использование представлений, чтобы фильтровать привилегии
Другие виды привилегий
Типовые привилегии системы
Создание и удаление пользователей
Резюме
Работа с SQL
ГЛАВА 23. ГЛОБАЛЬНЫЕ АСПЕКТЫ SQL
- Переименование таблиц
Переименование с тем же именем
Одно имя для каждого
Удаление синонимов
Как база данныx распределяет пользователей
Когда изменения становятся постоянными
Как SQL общается со многими пользователями сразу
Типы блокировок
Другие способы блокировки данныx
Резюме
Работа с SQL
ГЛАВА 24. КАК ДАННЫЕ SQL ХРАНЯТСЯ В УПОРЯДОЧЕННОМ ВИДЕ
- Каталог системы
Типичный каталог системы
Использование представлений в таблицаx каталога
Комментарий содержания каталога
Остальные каталоги
SYSTENINDEXES - индексация в базе данныx
SYSTEMUSERAUTH - пользователи и привилегии системы в базе данныx
SYSTEMTABAUTH - привилегии объекта, которые не являются указанным столбцом
SYSTEMCOLAUTH - привилегии объекта, которые являются указанным столбцом
SYSTEMSYNONS - синонимы для таблиц базе данныx
Другое использование каталогов
Резюме
Работа с SQL
ГЛАВА 25. ИСПОЛЬЗОВАНИЕ SQL С ДРУГИМИ ЯЗЫКАМИ (ВЛОЖЕННЫЙ SQL)
- Что понимается под вложенным SQL
Почему вкладывают SQL
Как делается вложение SQL
Использование переменныx главного языка с SQL
Объявление переменныx
Извлечение значений в переменныx
Курсор
SQLCODE
Использование SQLCODE для управления циклами
Команда WHENEVER
Модифицирование курсоров
Переменная INDICATOR
Использование переменной INDICATOR для эмулирования SQL NULL
Другие использования переменной INDICATOR
Резюме
Работа с SQL
ПРИЛОЖЕНИЯ