Предисловие
Благодарности
Часть1. Быстрый старт
Установка InterBase
Что ставить?
Установка InterBase на платформе Windows
Подготовка к установке
Установка
Ус шпонка InterBase на платформе Linux/Unix
Установка инструментария для администрирования InterBase.
Заключение
Создаем базу данных
Строка соединения
Диалект базы данных
Размер страницы
Кодировка (CharSet)
Имя пользователя и пароль
Что получилось
Типы данных
О типах данных
Синтаксис определения типов данных
Целочисленные типы
Вещественные типы данных
Типы данных с фиксированной точкой.
Типы для хранения даты и времени
Типы данных для хранения текста
Тип данных ВLОВ
Массивы
Заключение
Таблицы. Первичные ключи и генераторы
Первичные ключи в таблицах
Генераторы - лучшие друзья первичных ключей.
Заключение
Индексы
Для чего нужны индексы?
Как устроены индексы
Применение индексов
Ускорение выполнения запросов с помощью индексов
Обеспечение ссылочной целостности с помощью индексов
Оптимизация производительности индексов
Ограничения базы данных
Виды ограничений в базе данных
Пример типичного ограничения
Создание ограничений
Первичный и уникальный ключи
Внешние ключи
Использование NULL в полях внешнего ключа
Расширенные возможности поддержки ссылочной целостности с помощью внешнего ключа
Ограничение СНЕСК
Удаление ограничений
Представления
Синтаксис DLL для работы с представлениями
Примеры представлений
Модифицируемые представления
Заключение
Хранимые процедуры
Пример простой хранимой процедуры
Разделители в хранимых процедурах
Вызов хранимой процедуры
Циклы и операторы ветвления
Рекурсивные хранимые процедуры
Заключение
Расширенные возможности языка хранимых процедур 1п1егВаве.
Обработка исключений и ошибок
Исключения
Обработка ошибок SQL, InterBase
Работа с массивами в хранимых процедурах
Заключение
Триггеры
Пример триггера
Контекстные переменные
Управление состоянием триггера
Ошибки и исключения в триггерах
События InterBase
Заключение
User Defirent Function
Механизм подключения функций
Создание собственных функций
Заключение
Русификация InterBase
Русификация базы данных InterBase
Наборы символов
Хранение символьных данных без использования наборов символов
Вносим ясность
Русификация клиентских приложений InterBase
Собственные наборы символов и способы сортировки.
Транзакции. Параметры транзакций
Концепция транзакций
Что такое транзакции?
Изолированность транзакций
Механизм транзакций в InterBase
Многоверсионная архитектура InterBase
Реализация многоверсионности. Страницы учета транзакций.
Сборка мусора
Взаимодействие транзакций
Уровни изоляции транзакций
Параметры транзакций
Виды параметров транзакции
Режим доступа
Режим блокировки
Взаимоблокировка
Установка уровней изоляции
Рекомендации по использованию параметров транзакций
За пределами транзакций
Двухфазное подтверждение транзакций
Заключение

ЧАСТЬ 2 - Создание клиентских приложений баз данных InterBase в Delphi/ C++ Builder/Kylix с использованием FIBPlus

Обзор библиотек доступа к InterBase
Что такое FIBPlus?
Общее описание компонент, включенных в состав FIBPlus
Использование основных компонентов FIBPlus

Правильный способ использования auto-increment полей в FIBPlis
Разделенные транзакции: уникальная возможность избежать
Deadlock Режим AutoCommit
Механизм master-detail. Специальные опции TpFIBDatabase и TpFIBDataSet
Специальные опции в компонентах FIBlus
Опции и настройки TPFIBDatebase
Опции и настройки TpFIBDataSet
Использование FIBPlus совместно с генератором отчетов FastReport
Простой отчет
Отчеты видатавmater-detail
Создание отчетов в run-time
Использование специальных инструментов в design-time: FIBPlus Tools
Установка FIBPlus
Preferences
SQL Navigator
Специальные возможности FIBPlus
Обработка потери подключения к базе данных
Эмуляция Boolean-полей
Поддержка аrrау-полей. Пример использования TpFIBUpdateObject и TDataSetContainer
Работа с ВLОВ-полями
Локальная сортировка и локальная фильтрация
Локальная сортировка
Локальная фильтрация
Обработка событий InterBase при помощи FIBPlus
"Низкоуровневая" работа с внутренним буфером ТрFIBDataSet
Часть 3. Разработка приложений баз данных InterBase с использованием технологий Jаvа, ОDВС, СG1 и Мicrosoft ОLЕ DB
Разработка клиентских приложений СУБД InterBase с использованием технологии Microsoft OLE DB
Немного истории
Обзор возможностей IBProvider

ИспользованиеIBProvider в клиентских приложениях
Компоненты АDОDВ
Библиотека классов С++ для работы с OLE DB
Инсталляция IBProvider
Инсталляция АDОDВ-компонентов
Примеры использования ADODB
Использование библиотеки классов
Примеры использования библиотеки классов
Тестовая база данных
Операционная система
Состав компонентов IBPovider
Источник данных
Сессия
Уровни изоляции транзакции
Управление транзакциями
Автоматические транзакции
Управление транзакциями через SQL
Примеры работы с транзакциями
Распределенные транзакции
Использование нескольких сессий в ADODB
Чтение метаданных
Команда
Создание команды
Установка текста команды
Подготовка команды
Подготовка параметров SQL - запроса
Установка свойств результирующего множества
Выполнение команды
Набор строк
Практическое использование IBProvider
Работа с В LОВ-полями
Работа с массивами
Особенности реализации поддержки массивов
Работа с хранимыми процедурами
Создание СОМ-объектов для работы с базой данных
Использование скриптов в клиентских приложениях базы данных InterBase
Использование пула подключений к базе данных
Распределенные запросы
Заключение
Создание CGI-приложений под ОС Linux с использованием InterBase API
Пример 1. Запрос без параметров
Пример 2. Запрос с параметрами
Заключение
Работа с InterBase с использованием ODBC
Возможности драйвера Gemoni ODBC
Поддержка кодировки UNICODE
Вызов хранимых процедур InterBase с использованием стандартно синтаксиса ODBC
Прокручиваемые курсоры
Асинхронная отмена вызовов для InterBase 6.5
Настройка используемого диалекта InterBase SQL
Настройка параметров транзакций
Установка драйвера и настройка источников данных
Вероятные проблемы и способы их решения
Заключение
Создание клиентов на JAVA. InterClient и JDBC
Установка InterClient
Communication Diagnostics
Пример приложения на Java
Заключение
Часть 4. Администрирование и архитектура InterBase
Установка InterBase - взгляд изнутри
InterBase как встраиваемая СУБД
Установка InterBase на платформе Windows
Установка клиента под Windows
Копирование файлов
Совместное использование gds832.dll, InterBase.msg и mscvrt.dll
Ключи в реестре для клиента InterBase
Регистрация ТCР/IР-сервиса при клиентской установке
Установка InterBase -сервера на Windows
Копирование файлов сервера
Совместное использование файлов
Ключи в реестре для сервера InterBase
Регистрация ТСР/IР-сервиса
Запуск InterBase -сервера
Расширенная установка InterBase -сервера
Пример установочного скрипта

Резервное копирование базы данных и восстановление из резервной копии
Резервное копирование базы данных InterBase
Инструмент командной строки gbак
Права для выполнения резервного копирования
Резервное копирование многофайловых баз данных
Резервное копирование при работе InterBase в режиме 24x7
Другие инструменты для осуществления резервного копирования
Восстановление из резервной копии
Восстановление с использованием инструмента gbak
Восстановление из резервных копий многофайловых баз данных... Владелец базы данных
Заключение
Миграция
Почему необходима миграция
Сущность процесса миграции
Миграция между различными версиями InterBase
Карта миграции
Прямая миграция
Сохранение информации о пользователях при миграции
Восстановление из резервной копии на системе-приемнике
Особый процесс, или обратная миграция
Совместимость клиентов и серверов различных версий
Перевод базы данных InterBase 6.x на 3-й диалект
Двойные кавычки
Ключевые слова
Типы данных для работы с датой и временем
Большие целые типы
Пошаговые инструкции для перехода на 3-й диалект
Клиенты 3-го диалекта
Заключение
Починка базы данных
Обзор основных причин повреждения базы данных
Отключение питания
Forced writes - палка о двух концах
Повреждения жесткого диска
Ошибки проектирования базы данных
Профилактика повреждений баз данных InterBase
Инструмент командной строки gfix
Восстановление поврежденной базы данных
Спасение данных из поврежденной базы данных
Восстановление "безнадежных" баз данных. InterBase Surgeon
Статистика в InterBase
Статистика базы данных InterBase
Получение статистики
Информация заголовочной страницы
Flag
Checksum
Generation
Page size
ODS version
Oldest transaction
Oldest active Oldest snapshot
Next transaction
Bumped transaction
Sequence number
Next attachment ID
Implementation ID
Swadow count
Page Buffers
Next hearder pages
Database dialect
Attributes
Shared Cache file
Sweep interval
Информация страниц данных
Статистика страниц индексов
Статистика InterBase -сервера
Статистика по блокировкам
Заключение
Оптимизация работы InterBase
Выбор аппаратного обеспечения для InterBase
Сервер для InterBase
Сетевое оборудование
Рабочие станции
Основные "рычаги" управления производительностью.
Кеш базы данных
Forced Writes
Sweep Interval
Размер страницы базы данных
Заключение

Безопасность в InterBase: пользователи, роли и права
Особенности системы защиты данных в InterBase
Разрушаем легенду
Система безопасности InterBase
Пользователи
Роли
Права
Раздача прав
Организация пользователей в группы с помощью ролей.
Аннулирование прав
Как правильно раздавать и аннулировать права
Передача прав
Особенности InterBase 6.5
Общие рекомендации по безопасности
Что такое "архитектура сервера СУБД?"
Состав модулей InterBase
Interbase Super для Windows
Каталог BIN в SuperServer
Минимальный состав сервера BIN в SuperServer
Interbase Super для Linux
Каталог BIN в Interbase Classic Server для Linux
Заключение
Classic и SuperServer
Classic
SuperServer
Classic vs SuperServer
Рекомендации по выбору архитектуры: Classic или SuperServer
Структура базы данных InterBase
Физическая структура базы данных
Зачем изучать физическую структуру базы данных
Файлы базы данных InterBase ]
IBSurgeon - проводник по базе данных InterBase
Файлы *.GDB изнутри
Типы страниц и их использование
Понятие об ODS
Мост между физической и логической структурой базы данных. Логическая структура базы данных InterBase
BLR
Иерархия объектов в InterBase
Заключение

Обзор современных версий семейства InterBase
Yaffil - российский клон СУБД InterBase
Введение
Приоритетные направления развития Yaffil
Интеграция с платформой Windows NT
Производительность
Надежность и безопасность
Отличительные особенности сервера Yaffil
Улучшенная производительность
Улучшенный оптимизатор запросов
Оптимизация сетевого трафика
Эффективная работа с временными файлами сортировки
Оптимальная структура хранения записей
Ускоренная работа с индексами
Улучшенная стратегия вычисления предиката IN и условий, объединенных по ОR
Ускоренное обновление данных
Уменьшение времени, необходимого для резервного копирования и восстановления
Индексы по выражениям
Уменьшение размера, занимаемого индексами
Выражения в значениях по умолчанию для доменов
Удобная операция объединения строк
Расширенные возможности указания пользовательских планов
Имена индексов ограничений
Улучшенное время отклика для версии SuperServer
Улучшенный протокол локальных соединений (ХNЕТ)
Ограничение времени ожидания для транзакций
Расширения SQL
Инструкция IIF
Инструкция INSERT INTO… FROM…. UNION
Выражения в EXEPTION
Системные переменные ROWS_AFFECTED, GDSCODE, SQLCODE, TRANSECTION_ID, CONNECTION_ID
Группировка по номеру столбца
Значения переменных по умолчанию
Тип данных BIGINT
Дополнительные национальные кодовые страницы и порядки сортировки
Группировка по встроенным функциям и UDF
Ограничение результатов выборки FIRST/SKIP
Увеличение глубины рекурсии процедур и триггеров

Использование переменной окружения ISC_PATH
Безопасная работа с внешними таблицами
Классическая архитектура
Встраиваемый сервер
Конфигурация безопасности для базы данных
Использование сервера Yaffil внутри процесса
Изменения оптимизатора, направленные на совместимость
Миграция баз данных на Yaffil и обратно
Режим обратной совместимости
Возможности, планируемые к реализации в следующих версиях,
Интегрированная безопасность
Асинхронный сервер и отмена выполняющихся запросов
Одновременный запуск нескольких копий
сервера multi-instancing
Хранение конфигурации в системном реестре
Большие индексы
Заключение
InterBasе
Семерка - первый шаг нового семейства
Рас.параллсливание на несколько процессоров
Мониторинг состояния сервера
Модификация системных таблиц
Примеры получения статистики
Безопасность временных таблиц
Новая структура данных на диске: ODS11
Новый тип данных: BOOLEAN
Новые ключевые слова
Имена объектов длиной 68 символов
Новые функции АРI для работы с Blob и массивами
Другие изменения в 7-й версии InterBasе
St Trem больше не нужен в isql
Определение версии клиента
Безопасность внешних таблиц.
Единое имя файла параметров InterBasе
Рекомендуемое расширение для файлов баз данных- *.ib
Новое имя базы данных пользователей
Заключение
1.5 - Open Source DBMS
Продолжение линии 1.0
Версия 1.5 - эволюция или революция?
Достигнутые результаты.
Отличительные особенности новой версии.
Дистрибутив
Реализация языка SQL
Расширение механизма событий
Производительность
Конфигурирование
Firebird 2.0 - взгляд в будущее
Новая версия ODS
Поддержка SMP
Средства мониторинга
Дальнейшее развитие языка SQL
Заключение
Приложения
Глоссарий
Параметры конфигурационного файла InterBasе
LOCK_MEM_SIZE
Параметры в ibconfig
Действие
Объяснение
Показания к изменению параметра
SEMAPHORE COUNT
Параметры в ibconfig
Действие
Объяснение
Показания к изменению параметра.
LOCK SIGNAL
Параметры в ibconfig
Действие
Объяснение
Показания к изменению параметра.
EVENT MEMORY SIZE
Параметры в ibconfig
Действие
Объяснение
Показания к изменению параметра.
DATABASE CACHE SIZE
Параметры в ibconfig
Действие
Объяснение
Показания к изменению параметра
Примечание
SERVER PRIORITY CLASS
Параметры в ibconfig
Действие
Объяснение
Показания к изменению параметра
SERVER CLIENT MAPPING
Параметры в ibconfig
Действие
Объяснение.
Показания к изменению параметра
SERVE WORKING SIZE
Параметры в ibconfig
Действие
Объяснение.
Показания к изменению параметра
Примечание
Инструменты администратора и разработчика InterBase
Универсальные инструменты администратора и разработчика InterBase
IBEwpert
IBWorkbench
IBAccess
IBAdmint
IBMaration
Специализированные инструменты
MiTeC InterBase Performance Monitor
Devarace™ IBSurgeon
IBADatebase Comparer
IBData Pump
GBAK Scheduler
Grant Manager
Литература