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

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

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

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

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

Читатели этой части должны знать, как подключиться к базе данных Tantor BE и выполнять команды SQL. Читателям, не знакомым с этими вопросами, рекомендуется сначала прочитать Часть I. Команды SQL обычно вводятся с помощью интерактивного терминала Tantor BE 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. Отслеживание зависимостей
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. Функции статистической информации
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. Параллельная безопасность