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