SQLсервер в Linux -самостоятельное освоение пакета
http://pilesoska.ru/Euroflex.html
SQLсервер в Linux -самостоятельное освоение пакета
Для кого написана эта книга?
Структура книги
Платформа и версия PostgreSQL
Принятые обозначения
SQLсервер в Linux -самостоятельное освоение пакета
Краткий курс SQL
Символьные типы
Таблица 3 12 Символьные типы
Числовые типы
Таблица 3 13 Числовые типы PostgreSQL
Тип money
Листинг 3 23 Использование типа numeric вместо money
Тип serial
Листинг 3 24 Использование типа serial
Листинг 3 25 Решение задачи вручную
Дата и время
Таблица 3 14 Типы даты и времени
Совместимость
Формат представления даты
Таблица 3 15 Форматы представления даты
Таблица 3 16 Сокращенные обозначения месяцев
Таблица 3 17 Сокращенные обозначения дней недели
Таблица 3 18 Константы форматов даты
Таблица 3 19 Дополнительные форматы вывода даты
Листинг 3 26 Выбор формата даты
Форматы представления времени
Taблица 3 20 Форматы представления времени
Таблица 3 21 Допустимые форматы часового пояса
Тип timestamp
Таблица 3 22 Примеры данных типа timestamp
Интервальный тип
Листинг 3 27 Операции с интервалами
Встроенные константы даты и времени
Таблица 3 23 Константы даты и времени
Листинг 3 28 Использование констант current и now
Листинг 3 29 Сравнение констант now и current
Геометрические типы
Таблица 3 24 Геометрические типы
Массивы
Массивы в таблицах
Массивы константы
Преобразование типов
Листинг 3 30 Использование функции преобразования типа
Таблицы в PostgreSQL
Системные поля
Таблица 3 25 Системные поля
Идентификаторы объектов
Листинг 3 31 Идентификация записей по OID
Предварительное планирование
Таблица 3 26 Таблица authors
Таблица 3 27 Таблица subjects
Знакомство с SQL
Краткая история SQL
Язык SQL и его предшественники
Стандарты SQL
Знакомство с реляционными базами данных
Базы данных
Таблицы
Таблица 3 1 Пример таблицы SQL
Команды SQL
Анатомия команд SQL
Таблица 3 2 Основные действия PostgreSQL
Форматирование команд SQL
Листинг 3 1 Пробелы и переводы строк
Ключевые слова и идентификаторы
Листинг 3 2 Ключевые слова и команды
Защищенные идентификаторы
Обязательная защита идентификаторов
Структура имен идентификаторов
Листинг 3 3 Преодоление ограничений
Константы
Строковые константы
Листинг 3 4 Использование строковых констант
Таблица 3 3 Служебные последовательности
Листинг 3 5 Разбиение строковых констант
Битовые последовательности
Листинг 3 6 Использование битовых последовательностей
Целочисленные константы
Листинг 3 7 Использование целочисленных констант
Вещественные константы
Таблица 3 4 Представление величин с плавающей точкой
Листинг 3 8 Допустимые вещественные значения
Логические константы
Листинг 3 9 Различия между true и 'true'
Специальные символы
Синтаксические символы
Таблица 3 5 Синтаксические символы
Операторы
Листинг 3 10 Операторы в командах SQL
Таблица 3 6 Основные операторы PostgreSQL
Комментарии
Листинг 3 11 Однострочные комментарии
Листинг 3 12 Многострочные комментарии
Выводы
Таблица 3 7 Простой запрос SQL
Листинг 3 13 Пример запроса SQL
Таблица 3 8 Команда UPDATE с секцией SET
Таблица 3 9 Секция WHERE
Листинг 3 14 Обновление таблицы командой UPDATE
Типы данных
Таблица 3 10 Типы данных PostgreSQL
Псевдозначение NULL
Листинг 3 15 Пустые строки и NULL
Листинг 3 16 Пример использования NULL
Логические значения
Таблица 3 11 Логические константы
Листинг 3 17 Простая таблица с логическими значениями
Листинг 3 18 Выборка данных по логическому признаку
Листинг 3 19 Неявная выборка по логическому значению
Листинг 3 20 Выборка по логическому значению false
Листинг 3 21 Исправление случайных значений NULL
SQLсервер в Linux -самостоятельное освоение пакета
SQL в PostgreSQL
Сортировка записей
Листинг 4 42 Использование секции ORDER BY
Листинг 4 42 показывает что записи
Листинг 4 43 Секция ORDER BY с несколькими выражениями
Листинг 4 44 Использование секции DISTINCT с ORDER BY
Выбор интервалов записей
Листинг 4 45 Использование секций LIMIT и OFFSET
Сравнение наборов записей
Листинг 4 46 Использование секции UNION
Листинг 4 47 Использование секции INTERSECT
Листинг 4 48 Использование секции EXCEPT
Листинг 4 49 Сравнение результатов двух подзапросов
Конструкции CASE
Листинг 4 50 Конструкции CASE в командах
Листинг 4 51 Конструкции CASE в подзапросах
Создание таблиц на базе существующих таблиц
Листинг 4 52 Создание таблицы
Модификация записей командой UPDATE
Листинг 4 53 Простая команда UPDATE
Обновление поля во всех записях таблицы
Листинг 4 54 Обновление поля во всех записях
Обновление нескольких полей
Листинг 4 55 Выполнение команды
Листинг 4 58 Удаление всех записей из таблицы
Подзапросы
Листинг 4 59 Простой подзапрос
Листинг 4 60 Подзапрос с ключевым словом IN
Листинг 4 61 Многоцелевой подзапрос в секции IN
Представления
Создание представления
Таблица 4 1 Таблица shipments
Листинг 4 62 Создание представления
Применение представлений
Листинг 4 63 Использование представления
Листинг 4 63 демонстрирует еще
Уничтожение представлений
Другие возможности SQL
Знакомство с psql
Запуск psql
Листинг 4 1 относящийся к интерпретатору
Листинг 4 1 Назначение системного пути для psql
Синтаксис psql
Листинг 4 2 Получение списка команд psql booktown=# \?
Выполнение запросов
Ввод запросов в приглашении psql
Листинг 4 3 Ввод команд в psql
Листинг 4 4 Включение открывающих
Редактирование буфера запроса
Листинг 4 5 Присваивание значения переменной EDITOR
Использование таблиц
Создание таблицы командой CREATE TABLE
Синтаксис команды CREATE TABLE
Пример создания таблицы
Листинг 4 6 Создание таблицы books
Анализ структуры таблицы
Листинг 4 7 Выходные данные команды \d
Модификация таблицы командой ALTER TABLE
Создание полей
Листинг 4 8 Добавление поля
Листинг 4 8 показывает что в таблице
Назначение и отмена значений по умолчанию
Листинг 4 9 Изменение значений по умолчанию
Переименование таблицы
Листинг 4 10 Переименование таблицы
Переименование полей
Листинг 4 11 Переименование поля
Добавление ограничений
Листинг 4 12 Создание новых ограничений
Смена владельца
Листинг 4 13 Смена владельца таблицы
Реструктуризация таблиц
Реструктуризация таблиц командой CREATE TABLE AS
Листинг 4 14 Реструктуризация
Реструктуризация таблиц командами CREATE TABLE и INSERT INTO
Листинг 4 15 Реструктуризация
Удаление таблиц командой DROP TABLE
Добавление данных командами INSERT и COPY
Вставка новых данных
Листинг 4 16 Вставка новой записи в таблицу books
Листинг 4 17 Изменение порядка перечисления полей
Вставка данных из других таблиц командой SELECT
Листинг 4 18 Вставка данных из другой таблицы
Копирование данных из внешних файлов командой COPY
Листинг 4 19 Пример копируемого ASCIIфайла
Листинг 4 20 Копирование ASCIIфайла
Двоичный формат
Листинг 4 21 Копирование двоичного файла
Различия команд COPY и \copy
COPY TO
Листинг 4 22 Экспортирование таблицы books в файл ASCII
Секция WITH OIDS
Выборка данных командой SELECT
Простая команда SELECT
Листинг 4 23 Выборка всех записей из таблицы books
Выбор полей
Листинг 4 24 Изменение порядка следования полей при выборке
Выражения константы и синонимы
Листинг 4 25 Выражения и константы
Листинг 4 26 Секция AS с выражениями и константами
Выбор источников в секции FROM
Листинг 4 27 Выборка из нескольких таблиц
Листинг 4 28 Выборка из подзапроса
Синонимы источников данных в секции FROM
Листинг 4 29 Определение синонимов для источников данных
Листинг 4 30 Определение синонимов для полей
Удаление дубликатов и ключевое слово DISTINCT
Листинг 4 31 Ключевое слово DISTINCT
Уточнение запросов
Листинг 4 32 Простая секция WHERE
Листинг 4 33 Объединение условий в секции WHERE
Листинг 4 34 показывает как простое
Листинг 4 34 Группировка условий при помощи круглых скобок
Объединение наборов данных
Перекрестные объединения
Листинг 4 35 Простой перекрестный запрос
Внутренние и внешние объединения
Внутренние объединения
Листинг 4 36 Сравнение команд INNER JOIN и WHERE
Листинг 4 37 Секции NATURAL и USING
Внешние объединения
Листинг 4 38 Внутренние и внешние объединения
Сложные объединения
Листинг 4 39 Объединение нескольких источников данных
Группировка записей
Листинг 4 40 Группировка записей
Листинг 4 41 Использование секции HAVING
SQLсервер в Linux -самостоятельное освоение пакета
Операторы и функции
Использование функций
Математические функции
Таблица 5 9 Математические функции PostgreSQL
Пример 1
Строковые функции
Таблица 5 10 Строковые функции
Примеры
Функции для работы с датой и временем
Таблица 5 11 Функции для работы с датой и временем
Таблица 5 12 Компоненты типов timestamp и interval
Функции преобразования типа
Таблица 5 13 Функции преобразования типов
Таблица 5 14 Метасимволы форматирования чисел
Таблица 5 15 Метасимволы форматирования чисел
Агрегатные функции
Таблица 5 16 Агрегатные функции
Агрегатные выражения
Листинг 5 19 Использование агрегатных выражений
Операторы
Правила использования операторов
Листинг 5 1 Правильное использование
Листинг 5 2 Неверное использование операторов
Строковые операторы
Таблица 5 1 Базовые строковые операторы
Листинг 5 3 Сравнение строк
Конкатенация
Листинг 5 4 Конкатенация строк
Операторы регулярных выражений
Листинг 5 5 Поиск по регулярному выражению
Таблица 5 2 Операторы регулярных выражений
Таблица 5 3 Метасимволы регулярных выражений
Листинг 5 6 Простой поиск соответствия
Листинг 5 7 Нетривиальный поиск соответствия
Листинг 5 8 Сложный поиск соответствия
Числовые операторы
Математические операторы
Таблица 5 4 Математические операторы
Листинг 5 9 Использование математических операторов
Операторы сравнения
Таблица 5 5 Операторы сравнения
Листинг 5 10 Использование операторов сравнения
Сравнение с использованием ключевых слов
Листинг 5 11 Ключевое слово BETWEEN
Листинг 5 12 Имитация ключевого
Двоичные операторы
Таблица 5 6 Двоичные операторы
Листинг 5 13 Сдвиг битовых последовательностей
Логические операторы
Таблица 5 7 Операторы AND OR и NOT
Листинг 5 14 Объединение условий
Операторы и NULL
Листинг 5 15 Проверка с использованием конструкции IS NULL
Листинг 5 16 Сравнение со значением NULL
Листинг 5 17 Операторы и псевдозначение NULL
Приоритет операторов
Листинг 5 18 Приоритет операторов
Таблица 5 8 Приоритет операторов SQL
Функции
SQLсервер в Linux -самостоятельное освоение пакета
Нетривиальные возможности
Индексы
Создание индекса
Листинг 7 1 Построение индекса
Листинг 7 2 Автоматическое построение индекса
Уникальные индексы
Листинг 7 3 Создание уникального индекса
Типы индексов
Листинг 7 4 Выбор типа индекса
Функциональные индексы
Листинг 7 5 Построение функционального индекса
Удаление индекса
Листинг 7 6 Удаление индекса
Нетривиальное использование таблиц
Ограничения в таблицах
Ограничения полей
Листинг 7 7 Создание таблицы с ограничениями полей
Ограничения таблиц
Листинг 7 8 Использование ограничений таблицы
Добавление ограничений в существующую таблицу
Листинг 7 9 Добавление ограничений в существующую таблицу
Удаление ограничений
Листинг 7 10 Удаление ограничений
Наследование
Создание производной таблицы
Листинг 7 11 Создание производной таблицы
Использование производных таблиц
Листинг 7 13 Выборка с наследованием
Модификация производных таблиц
Листинг 7 14 Модификация базовых и производных таблиц
Листинг 7 15 Модификация базовых
Массивы
Создание полей со значениямимассивами
Листинг 7 16 Создание таблицы с полеммассивом
Листинг 7 17 Создание таблицы
Вставка значений в полямассивы
Листинг 7 18 Вставка с использованием массивовконстант
Листинг 7 19 Вставка данных в многомерный массив
Индексы элементов
Листинг 7 21 Выборка отдельного элемента массива
Листинг 7 22 Предотвращение выборки NULL в массивах
Листинг 7 23 Выборка из многомерного массива
Срезы
Листинг 7 24 Выборка с использованием среза
Листинг 7 26 Полная модификация массива
Листинг 7 27 Модификация отдельного элемента
Автоматизация стандартных процедур
Последовательности
Создание последовательности
Листинг 7 28 Создание последовательности
Просмотр последовательностей в базе данных
Таблица 7 1 Атрибуты последовательностей
Листинг 7 29 Вывод атрибутов последовательности
Операции с последовательностями
Листинг 7 30 Изменение текущего значения последовательности
Таблица 7 2 Таблица shipments
Листинг 7 31 Функция currval()
Листинг 7 32 Изменение текущего значения последовательности
Удаление последовательности
Листинг 7 33 Удаление последовательности
Листинг 7 34 Проверка зависимостей
Триггеры
Создание триггера
Листинг 7 35 Создание триггера check_shipment
Получение информации о триггерах
Таблица 7 3 Таблица pgjrigger
Удаление триггера
Листинг 7 36 Удаление триггера
Листинг 7 37 Получение имени таблицы связанной с триггером
Транзакции и курсоры
Транзакционные блоки
Листинг 7 38 Создание транзакции
Листинг 7 39 Фиксация транзакции
Листинг 7 40 Откат транзакции
Листинг 7 41 Выход из аварийного состояния
Использование курсоров
Объявление курсора
Листинг 7 42 Объявление курсора
Выборка из курсора
Листинг 7 43 Выборка записей из курсора
Перемещение курсора
Листинг 7 44 Перемещение текущей позиции курсора
Закрытие курсора
Листинг 7 45 Закрытие курсора
Расширение PostgreSQL
Создание новых функций
Создание функций SQL
Листинг 7 46 Создание функции SQL
Листинг 7 47 Использование функции SQL
Создание функций на языке С
Листинг 7 48 Функции на языке С
Листинг 7 49 Создание функции на языке С
Листинг 7 50 Перегрузка функции С
Листинг 7 51 Использование функций С
Уничтожение функций
Листинг 7 52 Удаление функции
Создание новых операторов
Создание оператора
Листинг 7 53 Создание пользовательского оператора
Листинг 7 54 Применение пользовательского оператора
Перегрузка операторов
Листинг 7 55 Перегрузка пользовательского оператора
Листинг 7 56 Использование перегруженного оператора
Удаление оператора
Листинг 7 57 Удаление оператора
Листинг 7 58 Удаление перегруженного оператора