Предисловие

Введение
Информационная система
База данных и система управления базами
данных
Понятие о модели и схеме базы данных?
Основные задачи и функции

Глава 1. Обзор основных архитектур баз данных
1.1. Архитектура на основе разделяемых
файлов
1.2. Архитектура "хост-терминал"
1.3. Архитектура "клиент-сервер"
Основная идея архитектуры
"клиент-сервер"
Реализация архитектуры "клиент-сервер"
для баз данных
Обзор функций сервера базы данных
Функции программы-клиента базы данных
Последовательность взаимодействия
клиента и сервера в СУБД
1.4. Архитектура с использованием сервера
приложений (трехзвенная архитектура)
1.5. Упражнения

Глава 2. Модели данных
2.1. Уровни восприятия данных
2.2. Иерархическая модель данных
2.3. Сетевая модель данных
2.4. Реляционная модель данных
Понятие отношения и таблицы
Представление базы данных
Связь между таблицами SQL - классический
язык доступа к реляционным СУБД
Достоинства и недостатки реляционных
СУБД
2.5. Объектно-реляционная модель данных

Глава 3. Реализация информационных систем на
основе
3.1. Обзор продуктов Informix
Сервер Informix Dynamic Server
Informix 4GL и Informix Dynamic 4GL
Informix CLI
Informix ESQL/C
Informix Universal WebConnect
3.2. Варианты построения систем
Как построить простейшую конфигурацию
Informix
Конфигурация продуктов Informix с
несколькими типами интерфейсов
Сетевая конфигурация продуктов
Конфигурация с распределенной базой
данных
Трехзвенная архитектура с сервером
приложений
Internet/Intranet-конфигурация
3.3. Выбор оптимальной конфигурации
Выбор инструмента для разработки
программы-клиента Система
для непредсказуемого числа пользователей
Когда нужно
использовать сервер приложений

Глава 4. Математические основы реляционных
СУБД
4.1. Основные понятия
4.2. Ключи
4.3. Основные операции над таблицами и их
интерпретация
4.4. Нормализация
4.4.1. Зачем нужна нормализация
4.4.2. Первая нормальная форма
4.4.3. Вторая нормальная форма
4.4.4. Третья нормальная форма
4.4.5. Нормальная форма Бойса - Кодда
4.4.6. Четвертая нормальная форма
4.4.7. Методика нормализации
Общие правила нормализации
4.5. Упражнения

Глава 5. Язык SQL
5.1. Типы данных, доступные в SQL
5.2. SQL-операторы создания схемы базы
данных
5.3. Основные SQL-операторы для доступа и
модификации данных
5.4. Управление транзакциями
5.5. Продвинутые варианты оператора поиска
5.5.1. Поиск по нескольким таблицам
5.5.2. Устранение повторения данных в
операторе SELECT
5.5.3. Вычисления внутри оператора SELECT
Выражения над полями
Функция определения длины
Временные функции
Функции преобразования
Математические функции
Функции-псевдополя
Агрегатные функции
5.5.4. Логические выражения в условиях
SQL-операторов
Сопоставление текстовых полей с
образцом
Проверка на вхождение в множество
Проверка на существование выборки
Условия "Существует" и "Для всех"
5.5.5. Слияние двух выборок
5.5.6. Сортировка выборки
5.5.7. Вставка в таблицу нескольких строк
одновременно
5.6. Использование SQL в языках
программирования
5.6.1. Курсоры
5.6.2. Область взаимодействия SOLCA
5.6.3. Управление ошибками
5.7. Программирование сервера базы данных
5.7.1. Динамический SQL
5.7.2. Хранимые процедуры
Язык хранимых процедур
5.7.3. Триггеры
Идея триггеров
Создание и удаление триггера
Имена для старого и нового значения
записи
Условия внутри триггера
5.8. Ограничители (задание целостности на
уровне схемы)
5.8.1. Целостность и ограничители
5.8.2. Значения по умолчанию для полей
5.8.3. Проверка на допустимость значения
поля
5.8.4. Уникальные поля
5.8.5. Ссылочная целостность
5.8.6. Ограничители на уровне таблицы
5.9. Разграничение в SQL прав пользователей
5.9.1. Права доступа
5.9.2. Права на уровне базы данных
5.9.3. Права на таблицы
5.9.4. Права на хранимые процедуры
5.9.5. Кто и как следит за соблюдением
прав
5.9.6. Механизм ролей
5.9.7. Псевдотаблицы (VIEW)
5.9.8. Синонимы
5.10. Управление одновременным доступом к
данным
5.10.1. Что бывает, когда несколько
человек одновременно пытаются обновить
одни и те же данные
5.10.2. Открытие базы данных только для
себя
5.10.3. Блокирование таблицы
5.10.4. Механизм блокирования записей и
уровни изоляции
5.10.5. Управление ожиданием снятия
блокировок
5.10.6. Тупиковые ситуации
5.11. Повышение скорости обработки запросов
5.11.1. Индексы
5.11.2. Буферизация журнала транзакций
5.11.3. Блокировка на уровне записей и
страниц
5.11.4. Эффективное построение запросов
5.11.5. Сортировка и поиск по коротким
полям. Классификаторы
5.12. Объектное расширение SQL в Informix
DS/Universal Data Option
5.12.1. Зачем нужна поддержка объектов в
серверах БД
Неравноправие атрибутов
Ограниченный набор базовых типов
Сложные типы данных
Специальные методы хранения и
доступа
Иерархия данных
Таблица "Продавцы"
Таблица "Инженеры"
Таблица "Администраторы"
5.12.3. Внедрение
объектно-ориентированной технологии
Концепция объектно-ориентированного
подхода Объектно-ориентированные
СУБД
Объектно-реляционные СУБД
5.12.4. Реализация объектного подхода в
Informix
Informix DS/Universal Data Option -
объектно-реляционная СУБД
Определение новых базовых типов
Составные типы данных
Наследование типов и данных
Таблица employees
Специальные методы хранения, поиска
и индексации
5.12.5. Итак

Глава 6. Устройство Informix Dynamic Server
Принципы работы. Основы архитектуры.
Как начать работу
6.1. Внутренняя архитектура DSA
6.2. Механизм хранения данных
6.3. Инсталляция продукта
6.3.1. Перенести файлы с носителя на
файловую систему ОС
6.3.2. Провести настройку программных
компонентов, входящих в состав
дистрибутива
6.3.3. Установить требуемые
конфигурационные параметры ОС
6.3.4. Зарезервировать дисковое
пространство для запуска
6.3.5. Инициализировать сервер
6.4. Запуск и останов сервера
6.5. Работа с русским языком

Глава 7. Эксплуатация информационных систем
7.1. Администрирование серверов баз данных
7.2. Обеспечение сохранности данных
7.2.1. Технологии постоянного
дублирования
7.2.2. Архивация
7.2.3. Так как же обеспечить сохранность
данных?
7.3. Архивирование и восстановление данных
7.3.1. Что нужно архивировать
7.3.2. Утилиты архивации и восстановления
7.3.3. Создание архивов утилитой ontape
7.3.4. Восстановление из архивов утилитой
ontape
7.3.5. Как узнать, "когда..."
7.3.6. Практические советы
7.4. Средства контроля за доступом
7.4.1. Как работает аудитииг
Определение специальных
пользователей.
7.4.2. Конфигурирование списков
протоколируемых событий
Что такое "маска" Просмотр, создание,
модификация и удаление масок
Задание дополнительных условии на
событие
7.4.3. Задание файлов, запуск и останов
механизма аудитинга
Задание файлов для записи протокола
Включение и выключение механизма
аудитинга
7.4.4. Анализ протокола
7.4.5. Практические советы
Как выяснить, кто выполняет
определенные действия
Как выяснить, когда кто-то приступает
к работе с информационно системой и
когда завершает ее
7.5. Реагирование на чрезвычайные ситуации
7.6. Мониторинг текущего состояния сервера
базы данных
7.6.1. Кто работает с сервером базы
данных
7.6.2. Сколько памяти использует сервер
базы данных
7.6.3. Сколько свободного места имеется у
сервера базы данных
7.7. Достижение требуемой
производительности
7.7.1. Как узнать, что ждет некоторый
запрос
7.7.2. Как выяснять причины падения
производительности
Локальная вычислительная сеть
Операционная система или аппаратура
на сервере
Низкая скорость работы сервера базы
данных

Заключение

Приложение 1
П.-1.1. Глоссарий
П.-1.2. Список сокращений
П.-1.3. Перевод и расшифровка некоторых
англоязычных терминов,
встречающихся в документации

Приложение 2

П.-2.1. Миграция старых приложений в
Informix
П.-2.2. Общие принципы предлагаемой
технологии
П.-2.3. Как портировать приложение

Литература