Базы данных - софт
Поддержка битовых строк и сетевых адресов, массивов данных, в том числе многомерных, композитных типов и других сложных структур.
Поддержка XML, JSON и NoSQL-баз. При необходимости к СУБД можно подключить поддержку типов данных, которые нужны в конкретном проекте.
Расширяемость — возможность создавать собственные типы данных, операторы и функции.
Масштабируемость — поддержка многопроцессорных систем, асинхронной репликации и шардинга.
Безопасность — продвинутая система ролей и привилегий, шифрование данных, многофакторная аутентификация.
Инструменты материализованных представлений для аналитических задач, которые хранят результаты сложных запросов и могут обновляться по требованию или по расписанию.
Механизмы партиционирования таблиц — позволяют разделить большие таблицы на логические части по заданным критериям, что повышает производительность операций с данными.
-
Разработка приложений баз данных для СУБД Sybase SQL Anywhere
Sybase SQL Anywhere - это новое название СУБД Watcom SQL фирмы Watcom. Такое название данная СУБД получила, начиная с версии 5.0. Переименование произошло после объединения компаний Sybase и Powersoft в 1995 году, в результате чего фирма Watcom, как составная часть компании Powersoft, вошла в состав корпорации Sybase Inc
Sybase SQL Anywhere представляет собой полнофункциональную СУБД на Intel-платформ для мобильных и небольших групп пользователей Данная СУБД позволяет разрабатывать приложения на основе технологии "клиент-сервер" на платформах Windows NT, Windows 95/98, Windows 3.x, OS/2, NetWare, Solaris/Sparc, HP-UX, AIX, DOS и QNX. Рассматриваемая СУБД предназначена для разработки приложений по технологии "клиент-сервер".
Начало работы с SYBASE SQL Anywhere
Запуск локального сервера
Запуск удаленного сервера
Запуск клиентской компоненты СУБД
Установление соединения с базой данных
Установление соединения с базой данных
Параметры соединения и способы их передачи серверу
Соединения при помощи диалогового окна
Использование файлов, хранящих параметры соединения
Установления соединения через командную строку
Передача параметров соединения через источники данных ODBC
Утилиты Sybase SQL Anywhere
Утилиты Sybase SQL Anywhere
SQL Central - средство администрирования баз данных
Утилита интерактивного доступа
Таблица 4. Назначение сочетаний
Остальные утилиты
Таблица 5. Назначение утилит СУБД SQL Anywhere
Таблица 6. Соответствие названий утилит u ISQL именам исполняемых файлов
Создание базы данных и определение ее объектов
Создание базы данных и определение ее объектов
Создание базы данных
Регистрация пользователей
Таблица 7. Привилегии, применимые к таблицам данных
Таблица 8. Перечень символьных типов
Таблица 9. Перечень числовых типов
Таблица 10. Перечень типов дата/время
Таблица 11. Форматы представления данных типа дата/время, определяемые по умолчанию
Таблица 12. Примеры преобразования типов дата/время
Таблица 13. Арифметические операции, применимые к данным типов дата/время
Таблица 14. Двоичные типы SQL Anywhere
Определение таблиц данных
Дополнительные свойства полей
Cвойства таблиц данных
Создание индексов
Определение внешних ключей
Вы подготовили данные для создания внешнего ключа
Таблица 15. Фрагмент исходной таблицы Books
Таблица 16. Фрагмент исходной таблицы Copies
Таблица 17. Фрагмент таблицы Books после после выполнения оператора UPDATE
Таблица 18. Фрагмент таблицы Copies выполнения оператора UPDATE
Таблица 20. Фрагмент таблицы Copies после выполнения оператора DELETE
Создание представлений
Таблица 21. Исходное содержимое представления Stepanov.Code_books_1_3
Таблица 22. Модифицированное содержимое представления Stepanov.Code_books_1_3
Программные объекты баз данных
Программные объекты баз данных
Хранимые процедуры
Возврат результатов хранимых процедур
Таблица 23. Результаты выполнения процедуры Get_list_absent(80)
Использование курсоров в хранимых процедурах
Использование курсоров в хранимых процедурах - 2
Хранимые функции
Триггеры
Таблица 24. Назначение псевдонимов, вводимых фразой
Обработка исключительных ситуаций
Работа с программными объектами в SQL Central
Описание базы данных Biblia
ПРИЛОЖЕНИЕ: Описание базы данных Biblia
Таблица А1. Свойства таблицы Sys_catalog
Таблица А2. Свойства таблицы Book
Таблица А3. Свойства таблицы Book_catalog
Таблица А4. Свойства таблицы Copies
Таблица А5. Таблица Reader - Читательская карточка
Таблица А6. Свойства таблицы Absent
-
Установка PostgreSQL
В этой главе описана процедура подготовки, установки и настройки PostgreSQL. По умолчанию многие возможности PostgreSQL не задействуются. Например, поддержку языка TCL приходится специально активизировать на стадии компиляции. Существует множество других возможностей, отключенных по умолчанию, поэтому мы рассмотрим различные флаги и ключи для их активизации во время компиляции PostgreSQL. Обязательно прочитайте описание перед тем, как начинать установку.
В этой главе рассматривается процедура установки PostgreSQL на платформах Linux/Unix. Хотя приведенное описание относится к Linux, инструкции подходят и для большинства современных платформ Unix.
Клиенты PostgreSQL
-
Учебник PostgreSQL 7.3.3
PostgreSQL, как и многие другие реляционные СУБД, поддерживает агрегатные функции. Агрегатная функция производит вычисление над единичным результатом от множества записей. Например, есть агрегаты для вычисления count (количества), sum (суммы), avg (среднего арифметического), max (максимального значения) и min (минимального значения) списка записей.
Введение
Агрегатные функции
Фундаментальные основы архитектуры
Концепции
Заключение
Создание базы данных
Удаление данных из таблиц
Внешние ключи (Foreign Keys)
Наследование
Объединения таблиц (Join)
Заполнение таблицы записями
Что такое PostgreSQL?
О чем эта книга
Запросы к таблицам
Установка
Создание новой таблицы
Транзакции
Обновление данных в таблицах
Представления (Views)
-
Самоучитель по Development of Safety
Однажды мне позвонил клиент и попросил прийти к нему в офис. Когда я пришел, он попросил меня установить брандмауэр, чтобы обезопасить свою сеть. Перед тем. как устанавливать брандмауэр, я поинтересовался о политике безопасности компании. Он с любопытством посмотрел на меня и спросил: "А зачем она мне нужна?".
В годы повального увлечения Internet такой ответ скорее является правилом, чем исключением. В организациях проводится продуманная политика управления персоналом, документация которой иногда занимает гору бумаги, но нет никакой политики информационной безопасности. Если же такая политика и разрабатывалась, то, в лучшем случае, вам вручат 5 листов бумаги, в которых описаны активы корпорации с многомиллионным оборотом.
Кому предназначена эта книга
Организация книги
Часть I. Начало работы по правилам
Часть II. Разработка правил безопасности
Часть III. Сопровождение правил
Часть IV. Приложения
Условные обозначения
Что собой представляет политика информационной безопасности
Что собой представляет политика информационной безопасности
О политике информационной безопасности
Почему важно работать по правилам информационной безопасности
Когда необходимо иметь разработанные правила безопасности
Уменьшение степени риска
После прорыва защиты
Соответствие документации
Демонстрация усилий по управлению качеством
Каким образом нужно разрабатывать правила безопасности
Определите, какие правила необходимо разработать
Оценка риска/Анализ или аудит
Критическая оценка, утверждение и претворение в жизнь
Резюме
Определение целей политики
Определение целей политики
Что должно быть защищено
Аппаратные средства и программное обеспечение
Примерный инвентаризационный список
Внекомпьютерные ресурсы
Учет трудовых ресурсов
Определение лиц, от которых необходимо установить защиту
Анализ данных защиты
Обработка данных
Персонал и данные персонала
Лицензирование COTS
Резервирование, архивация и уничтожение информации
Соображения резервирования
Архивное хранение резервных копий
Уничтожение данных
Права интеллектуальной собственности и политика безопасности
Реагирование на инциденты и судебные разбирательства
Стратегия реагирования на инциденты
Компьютерные преступления
Резюме
Обязанности в области информационной безопасности
Обязанности в области информационной безопасности
Обязанности руководства
Комитет по управлению информационной безопасностью
Право на информацию
Распределение прав на информацию
Обязанности ответственных за информацию
Согласование планов информационной безопасности
Роль отдела информационной безопасности
Привлечение консультантов по защите информации
Прочие аспекты защиты информации
Интеграция информационной безопасности в бизнес-процесс организации
Конкретные задачи информационной безопасности
Аудит и контроль
Понятие управления безопасностью и применения закона
Обучение и поддержка в области защиты информации
Резюме
Физическая безопасность
Физическая безопасность
Размещение компьютеров и монтаж оборудования
Монтаж оборудования
Замки и перегородки
Обеспечение условий в помещении
Инвентаризационный учет
Средства управления доступом
Создание средств управления доступом
Ограничение доступа к компьютерному оборудованию
Посетители
Планирование действий в экстремальных ситуациях
Планы реагирования на непредвиденные обстоятельства
Восстановление после аварии
Предупреждения об опасности и сигналы тревоги
Общая безопасность компьютерных систем
Профилактическое обслуживание
Доступность системы
Периодическая система и контроль конфигурации сети
Анализ кадрового обеспечения
Резюме
Аутентификация и безопасность сети
Аутентификация и безопасность сети
Адресация сети и архитектура
Планирование сети
Адресация сети
Конфигурация службы именования доменов
Преобразование сетевых адресов
Другие проблемы адресации
Правила расширения сети
Управление доступом к сети
Шлюзы
Виртуальные частные сети и экстрасети
Проверка полномочий вспомогательных систем
Безопасность регистрации
Требования к регистрации и процедуры регистрации
Приглашенные и прочие пользователи
Регистрационные баннеры
Средства регистрации
Отчетность при регистрации
Ограничение количества регистрации
Управление пользовательским доступом
Привилегированный режим работы
Пароли
Правила назначения действующих паролей
Хранение паролей
Специальные пароли
Пользовательский интерфейс
Средства управления доступом
Телекоммуникации и удаленный доступ
Руководящие принципы эксплуатации оборудования
Руководящие принципы защиты информации при удаленном доступе
Ответственность служащих
Телекоммуникации и средства удаленного доступа
Безопасность связи по телефонным каналам
Туннелирование через Internet
Резюме
Правила безопасности Internet
Правила безопасности Internet
Электронная торговля
Резюме
Подход к Internet
Вопросы архитектуры
Правила управления входящим трафиком
Защита шлюза
Преобразование сетевых адресов
Разрешенные вспомогательные процедуры
Сетевые конференции Usenet
Административные обязанности
Профилактическое обслуживание
Соглашения с внешними источниками
Внедрение
Обязанности пользователей
Обучение
Понимание возможностей, предоставляемых Internet
Пересылка важной информации
Надежность загружаемой информации
Правила работы в WWW
Доступ из Web к сети и инфраструктуре
Защита и обслуживание CGI и других сервисных программ
Корректировщики содержимого
Управление содержимым
Правило конфиденциальности
Доступ пользователей к Web
Ответственность за приложения
Пересылка данных и файлов
Аутентификация транзакций Internet
Виртуальные частные сети, экстрасети, внутренние сети и другие туннели
Модемы и прочие лазейки
Применение PKI и других средств контроля
Правила безопасности электронной почты
Правила безопасности электронной почты
Правила использования электронной почты
Администрирование электронной почты
Введение права на контроль электронной почты
Обработка электронной почты
Архивирование электронной почты
Сканирование электронной почты
Ограничение размеров сообщений электронной почты
Использование электронной почты для конфиденциального обмена информацией
Шифрование электронной почты
Цифровая подпись электронной почты
Резюме
Вирусы, "черви" и "троянские кони"
Вирусы, "черви" и "троянские кони"
Цель защиты
Определение типа защиты от вирусов
Тестирование на вирусы
Проверка целостности системы
Распределенные и съемные носители
Правила эксплуатации стороннего программного обеспечения
Привлечение пользователей к защите от вирусов
Резюме
Шифрование
Шифрование
Юридические вопросы
Международные правила применения шифрования
Вопросы обязательств
Управление криптографией
Эксплуатация криптографических систем и обработка зашифрованных данных
Соображения о генерировании ключей
Управление ключами
Раскрытие ключей
Хранение ключей
Пересылка ключей
Резюме
Правила разработки программного обеспечения
Правила разработки программного обеспечения
Этапы разработки программного обеспечения
Определение обязанностей при разработке программного обеспечения
Утверждение правил разработки программного обеспечения
Управление доступом к программному обеспечению
Дополнительные соображения по поводу правил
Рекомендации по разработке аутентификации
Тестирование и документирование
Генерирование тестовых данных
Тестирование и принятие в эксплуатацию
Требования к документации
Замена версий и управление конфигурацией
Процедуры запросов на замену версий
Управление конфигурацией и настройки защиты
Управление конфигурацией и обновление
Тестирование перед инсталляцией
Процедуры инсталляции
Сторонняя разработка
Правила, гарантирующие целостность программного обеспечения
Ограничение коммерческого распространения
Передача программного обеспечения третьей стороне
Вопросы интеллектуальной собственности
Резюме
Правила надежной работы
Правила надежной работы
Разработка AUP
Обязанности пользователей при регистрации в системе
Работа с системами и в сети
Обязанности пользователей Internet
Ответственность организации и предоставление информации
Контроль и исследование сетевых данных
Сбор конфиденциальных данных
Инструкции о речевых оборотах
Резюме
Согласование и внедрение
Согласование и внедрение
Тестирование и эффективность правил
Публикация документов правил и требования по уведомлению
Мониторинг, средства управления и меры наказания
Мониторинг
Управление
Меры наказания
Обязанности администраторов
Соображения по регистрации событий
Отчетность о нарушениях безопасности
Работа с отчетностью об инцидентах, затрагивающих информационную безопасность
Требуемые действия
Аудит и сбор данных
Соображения, касающиеся действий после совершения компьютерных преступлений
Работа с правоохранительными органами
Соображения по сохранению улик
Резюме
Процесс пересмотра правил
Процесс пересмотра правил
Периодический пересмотр документов правил
Что необходимо включить в правило пересмотра
Комиссия по пересмотру правил
Резюме
Глоссарий
Приложение А. Глоссарий
Ресурсы
Ресурсы
Живучесть
Криптографические правила и нормативы
Ссылки на правила безопасности
Группы реагирования на инциденты
Дополнительная информация о реагировании на инциденты
Защита от вирусов
Информация поставщиков о средствах защиты
Информационные ресурсы по вопросам безопасности
Публикации по вопросам защиты
Промышленные консорциумы и объединения
Закон о страховании здоровья и медицинской ответственности
Примеры правил
Примеры правил
Пример правила надежной работы
Информационные системы предназначены для обслуживания бизнеса
Контроль и конфиденциальность
Правило хранения данных
Запрещенная деятельность и судебные процессы
Интеллектуальная собственность и лицензирование
Защита от вирусов
Дисциплинарные взыскания
Обязательство
Пример правил безопасности электронной почты
Администрирование электронной почты
Защита электронной почты от вирусов
Архивирование электронной почты
Обязанности пользователей
Пример правил администрирования
Инструктаж пользователей
Публикация и уведомление
Обязанности руководства
Обязанности администраторов
Правовые санкции и отчетность об инцидентах
Правило увольнений
Дисциплинарные меры
-
Database Programming & Design
Если говорить по-простому, промежуточное ПО обеспечивает простой для использования API (Application Programming Interface - интерфейс прикладного программирования) между приложением и требуемыми для него ресурсами. Например, если производится Java-апплет, для работы которого требуются внешние данные, можно использовать классы пакета JDBC (Java Database Connectivity) для доступа к информации из любого числа баз данных. Классы JDBC
скрывают от разработчика сложности целевой базы данных и позволяют использовать любую базу данных без потребности понимания ее специфических особенностей.
Аналогичные возможности обеспечивает ODBC (Open Database Connectivity) для приложений "клиент-сервер", работающих в среде Windows, и средства, подобные
Borland Database Engine (BDE).
Возможности промежуточного ПО не ограничиваются обеспечением доступа к базам данных. Продукты этого рода также дают возможность прозрачного доступа на уровне API к другим системам и их сервисам без потребности знать, что из себя представляют эти системы. Слой промежуточного ПО может найти систему, используя какой-либо вид сервиса именования, вызвать удаленный процесс и возвратить ответ вызывающему процессу. К соответствующей категории промежуточного ПО относятся Distributed Computing Environment (DCE) компании , продукты, основанные на распределенной объектной технологии CORBA (Common Object Request Broker Architecture - общая архитектура брокера объектных заявок), и большинство продуктов промежуточного ПО, основанных на передаче сообщений (Message-Oriented Middleware - MOM).
Что такое промежуточное ПО?
Матрица объектно-реляционных свойств
Следующее поколение
-
Руководство по программному пакету ERwin
ERwin использует многие из стандартных возможностей и соглашений Windows. Некоторые общие полезные возможности описываются в этой главе. Если Вам нужна более подробная информация о каком-либо свойстве Windows, обратитесь к 'Руководству пользователя Windows'.
В этом руководстве для пояснения текста используются диаграммы-примеры, например MOVIES.ER1. Обычно файлы диаграмм-примеров ERwin, входящие в поставку продукта, имеют расширение .ER1.
После того, как Вы инсталлируете программу, мы советуем Вам потратить какое-то время на ознакомление с этими файлами примеров. Читая документацию, иногда бывает полезно загрузить упоминаемый в ней файл с примером и просмотреть его на экране. Более подробно - в этой же главе 'Открытие диаграммы ERwin'.
Как запустить ERwin
Как создать и открыть диаграмму в ERwin
Как пользоваться подсказкой в Online
Окно ERwin
Как изменить размер окна ERwin
ERwin Toolbar
ERwin Toolbox
Как сохранить диаграмму в ERwin
Поддержка различных файловых типов в ERwin
Как распечатать диаграмму в ERwin
Как закрыть диаграмму и выйти из ERwin
Как создать новую диаграмму в ERwin
Как открыть имеющуюся диаграмму в ERwin
Как открыть диаграмму с использованием Drag and Drop
Как пользоваться ERwin Toolbar
Как пользоваться ERwin Toolbox
Как включать и выключать Erwin Toolbar и Toolbox
Как сохранить диаграмму ERwin в качестве архивного файла PVCS
Как закрыть диаграмму
Как выйти из приложения ERwin
Как более быстро открывать редакторы
Transfer interrupted!
Как включить режим Fast Editor
Использование расширенных возможностей множественного выбора
Повторное использование проделанной работы (Copy, Paste).
Как скопировать одну или несколько сущностей из одной диаграммы ERwin в другую
Как скопировать объекты диаграммы ERwin как изображение типа bitmap.
Как вырезать объекты на диаграмме ERwin
Как вставить одну или несколько сущностей из одной диаграммы ERwin в другую
Как продублировать сущность или множество сущностей на диаграмме
Создание объектов диаграммы при спрятанном Toolbox
Вызов редактора для сущности, которая не видна на экране
Поиск сущности с помощью Go To
Вход в редактор, ориентированный на сущность, с помощью Entity Browser
Изменение имен атрибутов
Как изменить логическое имя атрибута
Как изменить физические имена атрибутов
Прокручивание диаграммы с помощью клавиатуры
Cодержание главы
Как гарантировать уникальность имен сущностей и атрибутов
Использование кардинальности связи для выражения правил
Использование ссылочной целостности для усиления business rules
Как задать режимы RI по умолчанию
Значения RI по умолчанию
Как изменить правило ссылочной целостности для связи, присваиваемое по умолчанию
Как задать режим уникальности имен сущностей и атрибутов
Как показать связи в виде бизнес-утверждений
Как показать business rules в терминах объединения сущностей
Как показать родительские и дочерние business rules рядом друг с другом
Как быстро изменить кардинальность связи
Как задать режимы ссылочной целостности, присваиваемые по умолчанию, для всех связей
Как изменить правило ссылочной целостности, присваиваемое по умолчанию, для конкретной связи
Содержание главы
Улучшение внешнего вида диаграммы при помощи текстовых блоков
Как создать текстовый блок
Как ввести текст в текстовый блок
Изображение на экране имен ролей
Изображение на экране альтернативных ключей и Inversion Entries
Регулировка размера сущности
Выравнивание сущностей с помощью Layout Grid
Как включить режим Layout Grid
Как выключить режим Layout Grid
Использование ERwin для расположения объектов на Вашей диаграмме
Перерисовка диаграммы
Как открыть редактор Text Block
Как показать или спрятать имя роли
Как задать ширину и высоту для всех объектов на диаграмме
Как позволить ERwin автоматически организовать объекты на Вашей модели
Выбор СУБД
Преобразование типов данных СУБД
Использование режимов просмотра физической схемы
Присваивание связям физических имен
Связывание физических имен
Задание информации физической схемы
Работа в редакторе Column Property
Сравнение - изменение имен колонок в разных редакторах
Усовершенствование Вашей модели с помощью ограничений
Работа в редакторе Validation Rule
Работа в редакторе Valid Value
Синхронизация ERwin с базой данных
Как задать режимы DB Sync
Как выбрать несколько таблиц для синхронизации
Как экспортировать таблицу из ERwin в базу данных
Как импортировать таблицу из базы данных в ERwin
Как синхронизировать таблицы путем переименования одной из них
Как синхронизировать таблицы по одной
Как десинхронизировать две синхронизированные между собой таблицы
Как открыть редактор Target Server
Как выбрать СУБД и преобразовать типы данных
Как задать тип данных и режим нулевых значений для неключевых атрибутов, присваиваемые по умолчанию
Как войти в редактор Column Property
Как изменить тип данных и режим нулевых значений для колонки
Как задать характеристики колонки
Как создать (изменить) значение по умолчанию
Как создать (изменить) правило валидации
Как создать (изменить) список допустимых значений
Как создать (изменить) список допустимых значений
Как создать (изменить) домен
Как подсоединиться к серверу СУБД и отсоединиться от него
Как синхронизировать ERwin c базой данных
Содержание главы
Поддержка объектов физической памяти в различных СУБД
Как создать и изменить объекты физической памяти в ERwin
Задание параметров физической памяти для сущностей ERwin
Связывание сущностей ERwin с объектами физической памяти
Обратное проектирование (Reverse Engineering) объектов памяти
Прямое проектирование объектов физической памяти
Синхронизация физических объектов
База данных
Табличное пространство
Сегмент отката
Сегмент
Как создать новый физический объект
Как изменить значения параметров физического объекта
Как удалить физический объект
Как сгенерировать объекты физической памяти, как часть схемы
Как произвести обратное проектирование объектов физической памяти
Как синхронизировать определения объектов физической памяти, хранящиеся в ERwin и на сервере CУБД
Что такое индекс?
Создание и модифицирование индексов в ERwin
Работа в редакторе Index
Изменение характеристик индекса
Изменение физических характеристик индекса
Удаление индекса
Обратное проектирование индексов
Изменение определений индекса
Как войти в редактор Index
Как создать индекс по альтернативному ключу
Как создать индекс по Inversion Entry
Как связать колонки с индексом
Как переименовать индекс
Как изменить порядок колонок в индексе, основанном на нескольких колонках
Как разрешить или запретить использование повторяющихся значений в индексе
Как кластеризовать индекс
Как изменить порядок сортировки значений в индексе
Как связать индекс с объектом физической памяти
Как генерировать индексы в физической схеме
Как изменить определения индексов
Что такое триггеры?
Что такое хранимые процедуры?
RI-триггеры, устанавливаемые ERwin по умолчанию
Как создаются триггеры ERwin
Изменение режима RI-триггера для связи
Работа в редакторе Trigger Template
Использование Trigger Toolbox и макрокоманд
Переопределение шаблонов триггеров в ERwin
Переопределение шаблонов триггеров в ERwin - 2
Как создать шаблон RI Type Override
Как создать шаблон Relationship Override Trigger
Как создать шаблон Entity Override
Пример триггера Entity Override
Использование хранимых процедур
Как создать хранимую процедуру
Как изменить хранимую процедуру
Как удалить хранимую процедуру
Как связать с сущностью хранимую процедуру
Как отсоединить от сущности хранимую процедуру
Как связывать сущности с хранимой процедурой и отсоединять их от нее
Как создать новую хранимую процедуру или скрипт на уровне схемы
Как модифицировать шаблон хранимой процедуры или скрипта на уровне схемы
Как связывать и отсоединять хранимых процедур и скриптов уровня схемы
Генерация триггеров и хранимых процедур
Поддержка триггеров, скриптов и хранимых процедур в различных СУБД
Список макрокоманд
Макрокоманды, используемые в шаблонах триггеров
Как задать режимы ссылочной целостности (RI)
Как войти в редактор Trigger Template
Как просмотреть триггеры и шаблоны
Как модифицировать и создавать триггеры
Как использовать встроенные триггеры
Как применять глобальные шаблоны RI-триггеров
Как создавать уникальные триггеры для связи
Как реализовать расширенные правила в триггерах
Как генерировать триггеры для использования в отчетах или в СУБД
Просмотр и редактирование информации для отчета
Генерация схемы базы данных
Генерация схемы базы данных
Сохранение отчета о генерации схемы
Обратное проектирование базы данных
Режимы генерации схемы
Использование собственного текстового формата ERwin (ERX)
Как сохранить диаграмму в файле формата Multiple ERX
Использование формата SML (Structured Modeling Language - язык структурного моделирования)
Как активизировать поддержку SML в ERwin
Импорт файлов ModelPro
Как открыть уже существующий файл формата ER1
Как открыть файл формата ERX
Как сохранить диаграмму в формате ERX
Как сохранить диаграмму в нескольких файлах ERX
Как просматривать или редактировать файл формата ERX, как текст
Как открыть файл формата SML
Как сохранить диаграмму ERwin в файле SML
Как открыть файл формата ModelPro - .MPD
Информация о сущностях
Как показать или убрать меню Editor
Как пользоваться инструментами для сущности
Перенос на другое место отдельных сущностей ERwin
Как перенести сущность
Метод лассо
Как захватить с помощью лассо сегмент модели
Метод 'Shift-Click'
Как выбирать методом Shift-Click
Работа в редакторах ERwin
Как пользоваться pull-down меню Editor
Как использовать режим меню Edit
Работа с pop-up меню Editor
Содержимое Pop-up меню Editor
Выбор представления на экране меню Editor
Создание новых сущностей
Как войти в редактор Entity-Attribute
Как пользоваться редактором Entity-Attribute
Как изменять размеры окон первичного ключа и неключевых атрибутов
Как перейти к другим сущностям, не выходя из редактора Entity-Attribute
Как войти в редактор Entity Definition
Как изменить размер окна определения сущности
Как пользоваться окном Combo box 'entity:'
Как войти в редактор Entity Note/QuERy/Sample
Как пользоваться редактором Entity Note/QuERy/Sample
Как пользоваться combo box 'Entity:'
Как войти в редактор Attribute Definition
Как пользоваться редактором Attribute Definition
Как изменять логические и физические имена атрибутов
Как изменять размер окна определения атрибута
Как войти в редактор Attribute Note
Как ввести замечание (note)
Как перенести отдельную сущность на другое место
Как выбирать и переносить несколько сущностей сразу
Как войти в сокращенное меню, ориентированное на сущность
Как создать новую сущность
Как войти в редактор Entity-Attribute для сущности
Как сразу создать сущность и войти в активный редактор
Как пользоваться combo box 'Entity:', находясь в редакторах сущности
О связях
Как пользоваться инструментами, ориентированными на связь
Создание связи
Как открыть редактор Relationship
Как пользоваться редактором Relationship
Как просматривать окно VERb Phrase
Как задать кардинальность связи
Как показать или убрать кардинальность связи
Как задать 'обязательную' или 'необязательную' связь
Как войти в редактор Relationship Definition
Как пользоваться редактором Relationship Definition
Как откорректировать связь
Как создать новую связь
Как произвести миграцию внешних ключей в зависимые сущности
Как войти в редактор Relationship
Как откорректировать форму линии связи
Копирование объектов модели ERwin
Вставка (Paste) объектов модели в ERwin
Как вставить объект(ы) модели
Удаление объектов модели в ERwin
Как скопировать удаленный объект в clipboard
Как удалить несколько сущностей
Как удалить связь
Использование инструмента управления атрибутом (Attribute Manupulation)
Как удалить сущность
Как скопировать удаляемые сущности в clipboard
Как удалить внешний ключ при удалении связи
Как перенести атрибут
Как скопировать атрибут
Использование областей для управления большими диаграммами
Переход из одной области в другую
Создание области
Использование редактора Subject Area для выбора объектов
Удаление области
Как сохранить область
Использование хранимых изображений для фокусирования на отдельных сущностях
Создание хранимого изображения
Работа в редакторе Stored Display
Сохранение хранимого изображения
Как создать область
Как модифицировать область
Как удалить область
Как создать хранимое изображение
Как изменить имя, имя автора и описание хранимого изображения
Как изменить расположение объектов на хранимом изображении
Как удалить хранимое изображение
Как сохранить хранимое изображение
Содержание главы
Использование шрифтов и цветов в диаграмме ERwin
Графические характеристики диаграммы в ERwin
Шрифты и цвета, устанавливаемые по умолчанию
Выбор нужного редактора шрифтов и цветов
Работа в редакторе Object Font/Color
Работа в редакторе Default Font/Color
Просмотр результатов изменения шрифтов и цветов
Как войти в редактор Object Font/Color
Как изменить шрифт и (или) цвет объекта
Как изменить значения шрифтов и (или) цветов, присваиваемых группе объектов по умолчанию
Как просмотреть результаты изменений шрифтов и цветов
Назначение альтернативных ключей
Как показать индикаторы альтернативных ключей на Вашей диаграмме
Использование имен ролей атрибутов
Как показать на экране или убрать имя роли с присоединенным базовым именем
Присваивание имени роли
Понятие унификации
Назначение Inversion Entries
Назначение Inversion Entries
Использование редакторов SML Note
Как войти в редакторы SML Note
Как войти в редакторы SML
Как создать новые SML Notes
Как связывать SML Notes с объектами ERwin и уничтожать связи
Как удалить SML Note
Как назначать альтернативные ключи сущности
Как назначать InvERsion Entries для сущности
Как присвоить имя роли атрибуту внешнего ключа
Как изменить или удалить имя роли для атрибута внешнего ключа
Как унифицировать (объединить) два атрибута с одинаковыми именами, которые мигрировали в сущность
Как войти в редакторы SML Notes
Управление внешними ключами
Задание режимов наследования атрибутов
Задание неидентифицирующих связей
Как изменить тип связи
Разрешить или не разрешить нулевые значения?
Обзор
Как сгенерировать схему словаря ERwin
Хранение модели ERwin в базе данных на Вашем сервере
Открытие модели ERwin, хранящейся в базе данных
Cловарь сущностей ERwin
Глоссарий атрибутов ERwin
Соответствие типов данных для СУБД SQL
Глоссарий
-
Введение в модель данных SQL
В языке отсутствовали средства явной синхронизации доступа к объектам БД со стороны параллельно выполняемых транзакций: с самого начала предполагалось, что необходимую синхронизацию неявно выполняет СУБД.
В настоящее время язык SQL реализован во всех коммерческих реляционных СУБД и почти во всех СУБД, которые изначально основывались не на реляционном подходе. Все компании-производители провозглашают соответствие своей реализации стандарту SQL, и на самом деле реализованные диалекты SQL очень близки. Этого удалось добиться не сразу.
Наиболее близки к System R были две системы компании IBM – SQL/DS и DB22). Разработчики обеих систем использовали опыт проекта System R, а СУБД SQL/DS напрямую основывалась на программном коде System R. Отсюда предельная близость диалектов SQL, реализованных в этих системах, к SQL System R. Из SQL System R были удалены только те части, которые были недостаточно проработаны (например, точки сохранения) или реализация которых вызывала слишком большие технические трудности (например, ограничения целостности и триггеры). Можно назвать этот путь к коммерческой реализации SQL движением сверху вниз.
Краткая история языка SQL
Структура языка SQL
Типы данных SQL
Tочные числовые типы
Истинно целые типы
Точные типы, допускающие наличие дробной части
Приближенные числовые типы
Типы символьных строк
Типы битовых строк
Типы даты и времени
Тип даты
Типы времени
Типы временной метки
Типы времени и временной метки с временной зоной
Типы временных интервалов
Булевский тип
Типы коллекций
Типы массивов
Типы мультимножеств
Анонимные строчные типы
Типы, определяемые пользователем
Ссылочные типы
Средства определения, изменения определения и отмены определения доменов
Определение домена
Примеры определений доменов
Изменение определения домена
Примеры изменения определения домена
Отмена определения домена
Неявные и явные преобразования типа или домена
Неявные преобразования типов в SQL
Явные преобразования типов или доменов и оператор CAST
Заключение
Введение в модель данных SQL
Введение
Средства определения, изменения и ликвидации базовых таблиц
Определение базовой таблицы
Определение столбца
Значения столбца по умолчанию
Ограничения целостности столбца
Определение табличного ограничения
Табличное ограничение первичного или возможного ключа
Проверочное табличное ограничение
Табличное ограничение внешнего ключа
Разновидности способов сопоставления значений внешнего и возможного ключей
Поддержка ссылочной целостности и ссылочные действия
Примеры определений базовых таблиц
Изменение определения базовой таблицы
Добавление, изменение или удаление определения столбца
Примеры изменения определения столбца
Изменение набора табличных ограничений
Примеры изменения набора табличных ограничений
Отмена определения (уничтожение) базовой таблицы
Средства определения и отмены общих ограничений целостности
Определение общих ограничений целостности
Отмена определения общего ограничения целостности
Немедленная и откладываемая проверка ограничений
Заключение
Введение в модель данных SQL
Введение
Скалярные выражения
Общие синтаксические правила построения скалярных выражений
Численные выражения
Выражения даты-времени
Булевские выражения
Выражения с переключателем
Общая структура оператора выборки в языке SQL
Выражения, значениями которых являются символьные или битовые строки
Семантика оператора выборки
Ссылки на таблицы раздела FROM
Табличное выражение, спецификация запроса и выражение запросов
Раздел WITH выражения запросов
Конструкторы значения строки и таблицы
Ссылки на базовые, представляемые и порождаемые таблицы
Представляемые таблицы, или представления (VIEW)
Заключение
Введение в модель данных SQL
Введение
Логические выражения раздела WHERE
Предикат сравнения
Примеры запросов с использованием предиката сравнения
Предикат between
Примеры запросов с использованием предиката between
Предикат null
Примеры запросов с использованием предиката null
Предикат in
Примеры запросов с использованием предиката in
Предикат like
Примеры запросов с использованием предиката like
Предикат similar
Примеры запросов с использованием предиката similar
Предикат exists
Примеры запросов с использованием предиката exists
Предикат unique
Примеры запросов с использованием предиката unique
Предикат overlaps
Примеры запросов с использованием предиката overlaps
Предикат сравнения с квантором
Примеры запросов с использованием предиката сравнения с квантором
Предикат match
Примеры запросов с использованием предиката match
Предикат distinct
Примеры запросов с использованием предиката distinct
Заключение
Пример 14.1.1
Агрегатные функции, группировка и условия
Введение
Внешние соединения
Агрегатные функции, группировка и условия раздела HAVING
Семантика агрегатных функций
Результаты запросов и агрегатные функции
Логические выражения раздела HAVING
Предикаты сравнения
Предикат between
Предикат null
Предикат in
Предикат like
Предикат exists
Предикат unique
Предикаты сравнения с квантором
Предикат distinct
Ссылки на порождаемые таблицы в разделе FROM
Еще один способ формулировки запросов
Случаи, в которых без порождаемых таблиц обойтись невозможно
Более сложные конструкции оператора выборки
Соединенные таблицы
Формальные определения
Примеры соединений разного вида
Примеры запросов с использованием соединенных таблиц
Порождаемые таблицы с горизонтальной связью (lateral_derived_table)
Заключение
Пример 15.1.1
Введение в модель данных SQL
Введение
Возможности формулирования аналитических запросов
Раздел GROUP BY ROLLUP
Агрегатная функция GROUPING
Раздел GROUP BY CUBE
Рекурсивные запросы
Определения, относящиеся к рекурсии
Рекурсивные запросы с разделом WITH
Раздел SEARCH
Раздел CYRCLE
Рекурсивные представления
Заключение
Пример 16.1
Введение в модель данных SQL
Введение
Базовые средства манипулирования данными
Оператор INSERT для вставки строк в существующие таблицы
Вставка всех строк указанной таблицы
Вставка явно заданного набора строк
Вставка строк результата запроса
Триггеры и ссылочные действия
Заключение
Оператор UPDATE для модификации существующих строк в существующих таблицах
Оператор DELETE для удаления строк в существующих таблицах
Представления, над которыми возможны операции обновления
Представления, допускающие применение операций обновления, в стандарте SQL/92
Критерии применимости операций обновления
Правила функциональных зависимостей
Раздел WITH CHECK OPTION определения представления
Режимы проверки CASCADED и LOCAL
Примеры результатов действия раздела WITH CHECK OPTION
Исторический очерк
Операции обновления баз данных и механизм триггеров
Понятие триггера в SQL:1999
Синтаксис определения триггеров и типы триггеров
Триггеры BEFORE и AFTER
Триггеры INSERT, UPDATE и DELETE
Триггеры ROW и STATEMENT
Раздел WHEN
Тело триггера
Выполнение триггеров
Возможности использования старых и новых значений
Обработка нескольких триггеров, связанных с одной предметной таблицей
Пример 17.1
Введение в модель данных SQL
Введение
Поддержка авторизации доступа к данным в языке SQL
Пользователи и роли
Применение идентификаторов пользователей и имен ролей
Создание и ликвидация ролей
Передача привилегий и ролей
Передача привилегий
Привилегии и представления
Передача ролей
Изменение текущих идентификаторов пользователей и имен ролей
Оператор SET SESSION AUTHORIZATION
Оператор SET ROLE
Аннулирование привилегий и ролей
Аннулирование привилегий
Аннулирование ролей
Управление транзакциями в SQL
ACID-транзакция
Порождение транзакций в SQL:1999
Установка характеристик транзакции
Явная инициация транзакции
Уровни изоляции SQL-транзакции
Феномен "грязного" чтения (dirty read)
Феномен неповторяемого чтения (unrepeatable read)
Феномен фантомов
Завершение транзакций
Транзакции и ограничения целостности
Точки сохранения
Подключения и сессии
Установление соединений
Операторы SQL для управления соединениями
Оператор CONNECT
Оператор SET CONNECTION
Оператор DISCONNECT
Заключение
Введение в модель данных SQL
Введение
Истоки и краткая история объектно-реляционных баз данных
Первые ОРСУБД
Внедрение объектных расширений в основные РСУБД
Объектная модель SQL
Цели лекции
Определяемые пользователями типы
Индивидуальные типы
Определение структурных типов
Определение атрибута структурного UDT
Раздел спецификации ссылочного типа
Разделы спецификации функций явного преобразования типов
Раздел объявления сигнатур методов
Типизированные таблицы
Определение типизированной таблицы
Подтаблицы и супертаблицы
Определение элементов типизированной таблицы
Ссылочные значения и REF-типы
Механизмы генерации ссылочных значений
Преобразование задаваемых пользователем ссылочных значений к ссылочному типу
Спецификация ссылочного типа при объявлении столбцов и атрибутов
Поддержка согласованности ссылок
Выборка данных из типизированных таблиц
Выборка данных из типизированных таблиц - 2
Типизированные представления
Заключение
Пример 19.1
-
SQLсервер в Linux -самостоятельное освоение пакета
PostgreSQL заслуженно считается одной из лучших СУБД, распространяемых с открытыми текстами, а по своим возможностям PostgreSQL успешно конкурирует со многими коммерческими пакетами.
Настоящая книга была задумана как практическое руководство по PostgreSQL версии 7.1.x, хотя большая часть материала в равной степени относится как к предыдущим, так и к будущим версиям PostgreSQL. При подборе материала авторы стремились к тому, чтобы читатель как можно быстрее освоил практические навыки работы с PostgreSQL. Хотя в книге затрагиваются некоторые теоретические аспекты функционирования СУБД, подобные теоретические отступления будут относительно короткими. Прежде всего, мы стремились к тому, чтобы полученные знания позволили читателю самостоятельно создать работоспособную базу данных PostgreSQL и обеспечить ее дальнейшее сопровождение. Надеемся, книга поможет всем, кто хочет ближе познакомиться с СУБД PostgreSQL и ее возможностями.
Книга ориентирована на широкий круг читателей, интересующихся объектно-реляционной системой управления базами данных (ОРСУБД) PostgreSQL. Предполагается, что читатель знаком с системами Linux и Unix, хотя и не является экспертом в области баз данных. Хотя все примеры тестировались в системе Red Hat Linux, практически весь материал относится к большинству систем семейства Unix.
Для кого написана эта книга?
Структура книги
Платформа и версия 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 Удаление перегруженного оператора