Часть II. Язык SQL
В этой части книги описывается использование языка SQL в Postgres Pro. Мы начнём с описания общего синтаксиса SQL, затем расскажем, как создавать структуры для хранения данных, как наполнять базу данных и как выполнять запросы к ней. В продолжении будут перечислены существующие типы данных и функции, применяемые с командами SQL. И наконец, закончится эта часть рассмотрением важных аспектов настройки базы данных для оптимальной производительности.
Материал этой части упорядочен так, чтобы новичок мог прочитать её от начала до конца и полностью понять все темы, не забегая вперёд. При этом главы сделаны самодостаточными, так что опытные пользователи могут читать главы по отдельности. Информация в этой части книги представлена в повествовательном стиле и разделена по темам. Если же вас интересует формальное и полное описание определённой команды, см. Часть VI.
Читатели этой части книги должны уже знать, как подключаться к базе данных Postgres Pro и выполнять команды SQL. Если вы ещё не знаете этого, рекомендуется сначала прочитать Часть I. Команды SQL обычно вводятся в psql — интерактивном терминальном приложении Postgres Pro, но можно воспользоваться и другими программами с подобными функциями.
Содержание
- 4. Синтаксис SQL
- 5. Определение данных
- 6. Модификация данных
- 7. Запросы
- 8. Типы данных
- 8.1. Числовые типы
- 8.2. Денежные типы
- 8.3. Символьные типы
- 8.4. Двоичные типы данных
- 8.5. Типы даты/времени
- 8.6. Логический тип
- 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. Псевдотипы
- 8.2. Денежные типы
- 8.1. Числовые типы
- 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. XML-функции
- 9.15. Функции и операторы JSON
- 9.16. Функции для работы с последовательностями
- 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.2. Функции и операторы сравнения
- 9.1. Логические операторы
- 10. Преобразование типов
- 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. Контроль использования индексов
- 11.13. Использование алгоритма k-NN для оптимизации запросов
- 11.2. Типы индексов
- 11.1. Введение
- 12. Полнотекстовый поиск
- 12.1. Введение
- 12.2. Таблицы и индексы
- 12.3. Управление текстовым поиском
- 12.4. Дополнительные возможности
- 12.5. Анализаторы
- 12.6. Словари
- 12.7. Пример конфигурации
- 12.8. Тестирование и отладка текстового поиска
- 12.9. Типы индексов, предпочитаемые для текстового поиска
- 12.10. Поддержка psql
- 12.11. Ограничения
- 12.2. Таблицы и индексы
- 12.1. Введение
- 13. Управление конкурентным доступом
- 14. Оптимизация производительности
- 15. Параллельный запрос
- 16. Автономные транзакции