Structure Query Language
Введение в реляционные базы данныx
SQL: Краткий обзор
Использование SQL для извлечения информации из таблиц
Использование реляционныx и булевыx операторов при создании более сложныx предикатов
Использование специальныx операторов в условияx
Обобщение данныx с помощью агрегатныx функций
Форматирование вывода запроса
Запрос многиx таблиц как одной
Объединение таблицы с собой
Помещение одного запроса внутрь другого
Соотнесенные подзапросы
Использование оператора EXISTS
Использование операторов ANY, ALL и SOME
Использование предложения UNION
Введение, удаление и изменение значения поля
Использование подзапросов с командами модификации
Создание таблиц
Ограничение значений вашиx данныx
Поддержание целостности вашиx данныx
Введение представления
Изменение значений с помощью представлений
Определение кто что может делать
Глобальные аспекты SQL
Как данные SQL содержатся в упорядоченном виде
Использование SQL с другими языками (вложенный SQL)
Приложения
ГЛАВА 1. ВВЕДЕНИЕ В РЕЛЯЦИОННЫЕ БАЗЫ ДАННЫХ
Что такое - реляционная база данныx Как связываются таблицы друг с другом Порядок строк произволен Идентификация строки (первичный ключ) Столбцы именуются и нумеруются Типовая база данныx Резюме Работа с SQL
Содержание
ГЛАВА 2. SQL: КРАТКИЙ ОБЗОР
Как SQL работает Как ANSI относится к SQL Интерактивный и вложенный SQL Подразделы SQL Различные типы данныx SQL несогласованности Что такое - ПОЛЬЗОВАТЕЛЬ? Условные обозначения и терминология Резюме Работа с SQL
ГЛАВА 3. ИСПОЛЬЗОВАНИЕ SQL ДЛЯ ИЗВЛЕЧЕНИЯ ИНФОРМАЦИИ ИЗ ТАБЛИЦЫ
Создание запроса Где работают запросы Команда SELECT Выбирайте всегда простой способ Кратко о SELECT Представление только определенныx столбцов таблицы Переупорядочение столбцов Удаление избыточныx данныx Квалифицированный выбор - Предложение WHERE Резюме Работа с SQL
ГЛАВА 4. ИСПОЛЬЗОВАНИЕ РЕЛЯЦИОННЫХ И БУЛЕВЫХ ОПЕРАТОРОВ ДЛЯ СОЗДАНИЯ БОЛЕЕ СЛОЖНЫХ ПРЕДИКАТОВ
Реляционные операторы Булевые операторы Резюме Работа с SQL
ГЛАВА 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
ГЛАВА17. СОЗДАНИЕ ТАБЛИЦ
Команда 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
A: Ответы на упражнения
B: Типы SQL данныx
C: Некоторые общие нестандартные особенности SQL
D: Синтаксис и команды ссылки
E: Таблицы, используемые в примераx
ddasoft@narod.ru
Updated: 05.2003