Часть II. Язык SQL#

Часть II. Язык SQL

Часть II. Язык SQL

Эта часть описывает использование языка SQL в Tantor SE. Мы начинаем с описания общей синтаксиса SQL, затем как создавать таблицы, как заполнять базу данных и как выполнять запросы к ней. Средняя часть перечисляет доступные типы данных и функции для использования в командах SQL. Наконец, мы рассматриваем несколько аспектов, важных для настройки базы данных.

Информация организована таким образом, чтобы начинающий пользователь мог следовать ей от начала до конца и получить полное понимание тем, не обращаясь слишком часто к последующим разделам. Главы предназначены быть самодостаточными, чтобы продвинутые пользователи могли читать их по отдельности по своему выбору. Информация представлена в повествовательной форме с тематическими блоками. Читателям, ищущим полное описание конкретной команды, рекомендуется ознакомиться с Часть VI.

Читатели должны знать, как подключиться к базе данных Tantor SE и выполнять команды SQL. Читателям, незнакомым с этими вопросами, рекомендуется сначала прочитать Часть I. Команды SQL обычно вводятся с использованием интерактивного терминала Tantor SE psql, но также могут использоваться и другие программы с аналогичной функциональностью.

Оглавление

4. SQL Синтаксис
4.1. Лексическая структура
4.2. Выражения значений
4.3. Вызов функций
5. Определение данных
5.1. Основы таблицы
5.2. Значения по умолчанию
5.3. Идентификационные столбцы
5.4. Генерируемые столбцы
5.5. Ограничения
5.6. Системные столбцы
5.7. Изменение таблиц
5.8. Привилегии
5.9. Политики защиты строк
5.10. Схемы
5.11. Наследование
5.12. Секционирование таблиц
5.13. Внешние данные
5.14. Другие объекты базы данных
5.15. Отслеживание зависимостей
6. Операции с данными
6.1. Вставка данных
6.2. Обновление данных
6.3. Удаление данных
6.4. Возврат данных из измененных строк
7. Запросы
7.1. Обзор
7.2. Табличные выражения
7.3. Списки выбора
7.4. Сочетание запросов (UNION, INTERSECT, EXCEPT)
7.5. Сортировка строк (ORDER BY)
7.6. LIMIT и OFFSET
7.7. Списки VALUES
7.8. Запросы WITH (Общие табличные выражения)
8. Типы данных
8.1. Числовые типы
8.2. Типы денежных единиц
8.3. Типы символов
8.4. Бинарные типы данных
8.5. Типы даты/времени
8.6. Тип Boolean
8.7. Перечисляемые типы
8.8. Геометрические типы
8.9. Типы сетевых адресов
8.10. Типы битовых строк
8.11. Типы текстового поиска
8.12. UUID Тип
8.13. Тип XML
8.14. Типы JSON
8.15. Массивы
8.16. Составные типы
8.17. Типы диапазонов
8.18. Типы доменов
8.19. Типы идентификаторов объектов
8.20. Тип pg_lsn
8.21. Псевдо-типы
9. Функции и операторы
9.1. Логические операторы
9.2. Функции и операторы сравнения
9.3. Математические функции и операторы
9.4. Функции и операторы строк
9.5. Функции и операторы для работы с бинарными строками
9.6. Функции и операторы для битовых строк
9.7. Сопоставление шаблонов
9.8. Функции форматирования типов данных
9.9. Функции и операторы даты/времени
9.10. Функции поддержки перечислений
9.11. Геометрические функции и операторы
9.12. Функции и операторы сетевых адресов
9.13. Функции и операторы текстового поиска
9.14. Функции UUID
9.15. Функции XML
9.16. Функции и операторы JSON
9.17. Функции манипуляции последовательностями
9.18. Условные выражения
9.19. Функции и операторы массивов
9.20. Функции и операторы диапазонов/мультидиапазонов
9.21. Агрегатные функции
9.22. Оконные функции
9.23. Функции поддержки слияния
9.24. Подзапросы
9.25. Сравнения строк и массивов
9.26. Функции, возвращающие наборы значений
9.27. Функции и операторы системной информации
9.28. Функции системного администрирования
9.29. Функции триггеров
9.30. Функции триггеров событий
9.31. Функции статистической информации
10. Преобразование типов
10.1. Обзор
10.2. Операторы
10.3. Функции
10.4. Хранилище значений
10.5. UNION, CASE и связанные конструкции
10.6. Выходные столбцы SELECT
11. Индексы
11.1. Введение
11.2. Типы индексов
11.3. Многоколоночные индексы
11.4. Индексы и ORDER BY
11.5. Сочетание нескольких индексов
11.6. Уникальные индексы
11.7. Индексы на выражениях
11.8. Частичные индексы
11.9. Сканирование только индексов и покрывающие индексы
11.10. Классы операторов и семейства операторов
11.11. Индексы и правила сортировки
11.12. Изучение использования индексов
12. Полнотекстовый поиск
12.1. Введение
12.2. Таблицы и индексы
12.3. Управление полнотекстовым поиском
12.4. Дополнительные возможности
12.5. Парсеры
12.6. Словари
12.7. Пример конфигурации
12.8. Тестирование и отладка текстового поиска
12.9. Предпочтительные типы индексов для текстового поиска
12.10. Поддержка psql
12.11. Ограничения
13. Контроль параллельности
13.1. Введение
13.2. Изоляция транзакции
13.3. Явная блокировка
13.4. Проверка согласованности данных на уровне приложения
13.5. Обработка ошибок сериализации
13.6. Ограничения в использовании
13.7. Блокировка и индексы
14. Советы по производительности
14.1. Использование EXPLAIN
14.2. Статистика, используемая планировщиком
14.3. Управление планировщиком с явными предложениями JOIN
14.4. Заполнение базы данных
14.5. Настройки без сохранения
15. Параллельный запрос
15.1. Как работает параллельный запрос
15.2. Когда можно использовать параллельные запросы?
15.3. Параллельные планы
15.4. Параллельная безопасность
16. Автономные транзакции
16.1. Обзор
16.2. Использование
16.3. Примеры
16.4. Реализация
16.5. Заметки к релизу использованию
16.6. Ограничения