Предисловие к 3-му изданию
Предисловие ко 2-му изданию
Предисловие к 1-му изданию
Благодарности
Часть 1. Быстрый Старт
Установка InterBase
...Что ставить?
...Установка InterBase на платформе Windows
......Инсталляторы
......Подготовка к установке
......Установка
...Установка InterBase на платформе Linux/Unix
...Установка инструментария для администрирования InterBase
...Ключевые моменты установки
...Заключение
Создаем базу данных
...Строка соединения
...Диалект базы данных
...Размер страницы
...Кодировка (CharSet)
...Имя пользователя и пароль
...Что получилось
Типы данных
...О типах данных
...Синтаксис определения типов данных
...Целочисленные типы
...Вещественные типы данных
...Типы данных с фиксированной точкой
...Типы для хранения даты и времени
...Типы данных для хранения текста
...Тип данных BLOB
...Массивы
...Заключение
Таблицы. Первичные ключи и генераторы
...Первичные ключи в таблицах
...Генераторы – удобная основа для первичных ключей
...Заключение
Индексы
...Для чего нужны индексы?
...Как устроены индексы
...Применение индексов
...Ускорение выполнения запросов с помощью индексов
...Обеспечение ссылочной целостности с помощью индексов
...Оптимизация производительности индексов
Ограничения базы данных
...Виды ограничений в базе данных
...Пример типичного ограничения
...Создание ограничений
...Первичный и уникальный ключи
...Внешние ключи
......Использование NULL в полях внешнего ключа
......Расширенные возможности поддержки ссылочной целостности с помощью внешнего ключа
...Ограничение CHECK
...Удаление ограничений
Представления
...Синтаксис DDL для работы с представлениями
...Примеры представлений
...Модифицируемые представления
...Заключение
Хранимые процедуры
...Пример простой хранимой процедуры
...Разделители в хранимых процедурах
...Вызов хранимой процедуры
...Циклы и операторы ветвления
...Рекурсивные хранимые процедуры
...Заключение
Расширенные возможности языка хранимых процедур InterBase
...Обработка исключений и ошибок
......Исключения
......Обработка ошибок SQL и InterBase
...Работа с массивами в хранимых процедурах
...Заключение
Триггеры
...Пример триггера
...Контекстные переменные
...Управление состоянием триггера
...Ошибки и исключения в триггерах
...События InterBase
...Заключение
User Defined Functions
...Механизм подключения функций
...Создание собственных функций
...Заключение
...Русификация InterBase
...Русификация базы данных InterBase
......Наборы символов
......Хранение символьных данных без использования наборов символов
......Вносим ясность
...Русификация клиентских приложений InterBase
......Собственные наборы символов и способы сортировки
Транзакции. Параметры транзакций
...Концепция транзакций
......Что такое транзакции?
......Изолированность транзакций
...Механизм транзакций в InterBase
......Многоверсионная архитектура InterBase
......Реализация многоверсионности. Страницы учета транзакций
......Сборка мусора
......Взаимодействие транзакций
......Уровни изоляции транзакций
...Параметры транзакций
......Виды параметров транзакции
......Режим доступа
......Режим блокировки
......Взаимоблокировка
......Установка уровней изоляции
......Рекомендации по использованию параметров транзакций
...За пределами транзакций
......Двухфазное подтверждение транзакций
......Заключение
Обзор библиотек доступа к InterBase
...Основа библиотек доступа к InterBase
...Библиотеки доступа
...Список библиотек доступа к InterBase
Часть 2. Разработка приложений баз данных InterBase на Borland Delphi/C++ Builder/Kylix
Что такое InterBase Express?
Общее описание основных компонентов, включенных в состав IBX
...Компоненты-оболочки для Services API
Использование основных компонентов InterBase eXpress (IBX)
...Иерархия компонентов в IBX
...Особенности TIBTable, TIBQuery и TIBStoredProc
......TIBTable
......TIBQuery
......TIBStoredProc
...Подключение к базе данных
...Управление транзакциями
...Выполнение запросов при помощи TIBDataSet
...Редактируемые запросы
......Редактирование данных при помощи визуальных компонентов
......Программное редактирование данных
......И снова про транзакции
...Использование генераторов для автоинкрементных полей
...Механизм master-detail
...Заключение
Что такое FIBPlus?
Общее описание компонент, включенных в состав FIBPlus
Использование основных компонентов FIBPlus
...Подключение к базе данных, выполнение простых запросов
...Управление транзакциями
...Использование стандартных визуальных db-компонентов совместно с FIBPlus
...Как сделать запрос редактируемым? Автоматическая генерация модифицирующих запросов в design-time и run-time
...Правильный способ использования auto-increment полей в FIBPlus
...Разделенные транзакции: уникальная возможность избежать Deadlock. Режим AutoCommit
Механизм master-detail. Специальные опции TpFIBDatabase и TpFIBDataSet
...Специальные опции в компонентах FIBPlus
......Опции и настройки TpFIBDatabase
......Опции и настройки TpFIBDataSet
Использование FIBPlus совместно с генератором отчетов FastReport
...Простой отчет
......Отчеты вида master-detail
......Создание отчетов в run-time
Использование специальных инструментов в design-time: FIBPlus Tools
...Установка FIBPlus Tools
...Preferences
...SQL Navigator
Специальные возможности FIBPlus
...Обработка потери подключения к базе данных
...Эмуляция Boolean-полей
...Поддержка array-полей. Пример использования TpFIBUpdateObject и TDataSetContainer
...Работа с BLOB-полями
...Локальная сортировка и локальная фильтрация
......Локальная сортировка
......Локальная фильтрация
...Обработка событий InterBase при помощи FIBPlus
..."Низкоуровневая" работа с внутренним буфером TpFIBDataSet
Часть 3. Разработка приложений баз данных InterBase с использованием технологий Java, ODBC, CGI и Microsoft OLE DB
Разработка клиентских приложений СУБД InterBase с использованием технологии Microsoft OLE DB
...Немного истории
...Обзор возможностей IBProvider
...Использование IBProvider в клиентских приложениях
......Компоненты ADODB
......Библиотека классов С++ для работы с OLE DB
......Инсталляция IBProvider
......Инсталляция ADODB-компонентов
......Примеры использования ADODB
......Использование библиотеки классов
......Примеры использования библиотеки классов
......Тестовая база данных
......Операционная система
...Состав компонентов IBProvider
......Источник данных
...Сессия
...Уровни изоляции транзакции
...Управление транзакциями
...Автоматические транзакции
...Управление транзакциями через SQL
...Примеры работы с транзакциями
...Распределенные транзакции
...Использование нескольких сессий в ADODB
...Чтение метаданных
...Команда
......Создание команды
......Установка текста команды
......Подготовка команды
......Подготовка параметров SQL-запроса
......Установка свойств результирующего множества
......Выполнение команды
...Набор строк
...Практическое использование IBProvider
......Работа с BLOB-полями
......Работа с массивами
......Особенности реализации поддержки массивов
......Работа с хранимыми процедурами
......Создание COM-объектов для работы с базой данных
......Использование скриптов в клиентских приложениях базы данных InterBase
......Использование пула подключений к базе данных
......Распределенные запросы
......Заключение
Создание CGI-приложений под ОС Linux с использованием InterBase API
...Пример 1. Запрос без параметров
...Пример 2. Запрос с параметрами
...Заключение
Работа с InterBase с использованием ODBC
...Возможности драйвера Gemini ODBC
......Поддержка кодировки UNICODE
......Вызов хранимых процедур InterBase с использованием стандартного синтаксиса ODBC
......Прокручиваемые курсоры
......Асинхронная отмена вызовов для InterBase 6.5
......Настройка используемого диалекта InterBase SQL
......Настройка параметров транзакций
...Установка драйвера и настройка источников данных
...Вероятные проблемы и способы их решения
...Заключение
Создание клиентов на Java. InterClient и JDBC
...Установка InterClient
...Communication Diagnostics
...Пример приложения на Java
...Заключение
Часть 4. Администрирование и архитектура InterBase
Установка InterBase – взгляд изнутри
...InterBase как встраиваемая СУБД
...Установка InterBase на платформе Windows
......Установка клиента под Windows
......Копирование файлов
......Совместное использование gds32.dll, InterBase.msg и mscvrt.dll
......Ключи в реестре для клиента InterBase
......Регистрация TCP/IP-сервиса при клиентской установке
......Установка InterBase-сервера на Windows
......Копирование файлов сервера
......Совместное использование файлов
......Ключи в реестре для сервера InterBase
......Регистрация TCP/IP-сервиса
......Запуск InterBase-сервера
......Расширенная установка InterBase-сервера
......Пример установочного скрипта
Резервное копирование базы данных и восстановление из резервной копии
...Резервное копирование базы данных InterBase
......Инструмент командной строки gbak
......Права для выполнения резервного копирования
......Резервное копирование многофайловых баз данных
......Резервное копирование при работе InterBase в режиме 24x7
......Другие инструменты для осуществления резервного копирования
......Восстановление из резервной копии
......Восстановление с использованием инструмента gbak
......Восстановление из резервных копий многофайловых баз данных
......Владелец базы данных
......Заключение
Миграция
...Почему необходима миграция
...Сущность процесса миграции
...Миграция между различными версиями InterBase
......Карта миграции
......Прямая миграция
......Сохранение информации о пользователях при миграции
......Восстановление из резервной копии на системе-приемнике
......Особый процесс, или обратная миграция
...Совместимость клиентов и серверов различных версий
...Перевод базы данных InterBase 6.x на 3-й диалект
......Двойные кавычки
......Ключевые слова
......Типы данных для работы с датой и временем
......Большие целые типы
......Пошаговые инструкции для перехода на 3-й диалект
......Клиенты 3-го диалекта
......Заключение
Починка базы данных
...Обзор основных причин повреждения базы данных
......Отключение питания
......Forced writes – палка о двух концах
......Повреждения жесткого диска
......Ошибки проектирования базы данных
...Профилактика повреждений баз данных InterBase
...Инструмент командной строки gfix
...Восстановление поврежденной базы данных
...Спасение данных из поврежденной базы данных
...Восстановление "безнадежных" баз данных. InterBase Surgeon
Статистика в InterBase
...Статистика базы данных InterBase
......Получение статистики
......Информация заголовочной страницы (Database header)
......Flags
......Checksum
......Generation
......Page size
......ODS version
......Oldest transaction
......Oldest active и Oldest snapshot
......Next transaction
......Bumped transaction
......Sequence number
......Next attachment ID
......Implementation ID
......Shadow count
......Page buffers
......Next header page
......Database dialect
......Creation date
......Attributes
......Shared Cache file
......Sweep interval
......Информация страниц данных
......Статистика страниц индексов
...Статистика InterBase-сервера
......Статистика по блокировкам
......Заключение
Оптимизация работы InterBase
...Выбор аппаратного обеспечения для InterBase
......Сервер для InterBase
......Сетевое оборудование
......Рабочие станции
...Основные "рычаги" управления производительностью
......Кеш базы данных
......Forced Writes
......Sweep Interval
......Размер страницы базы данных
......Заключение
Безопасность в InterBase: пользователи, роли и права
...Особенности системы защиты данных в InterBase
...Разрушаем легенду
...Система безопасности InterBase
......Пользователи
......Роли
......Права
......Раздача прав
......Организация пользователей в группы с помощью ролей
......Аннулирование прав
......Как правильно раздавать и аннулировать права
......Передача прав
......Особенности InterBase 6.5
...Общие рекомендации по безопасности
Что такое "архитектура сервера СУБД"?
Состав модулей InterBase
...InterBase Super Server для Windows
......Каталог BIN в SuperServer
......Минимальный состав сервера InterBase SuperServer
...InterBase Classic Server под 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 и условий, объединенных по OR
......Ускоренное обновление данных
......Уменьшение времени, необходимого для резервного копирования и восстановления
......Индексы по выражениям
......Уменьшение размера, занимаемого индексами
......Выражения в значениях по умолчанию для доменов
......Удобная операция объединения строк
......Расширенные возможности указания пользовательских планов
......Имена индексов ограничений
......Улучшенное время отклика для версии SuperServer
......Улучшенный протокол локальных соединений (XNET)
......Ограничение времени ожидания для транзакций (Lock timeout)
...Расширения SQL
......Инструкция IIF
......Инструкция INSERT INTO … FROM … UNION …
......Выражения в EXCEPTION
......Системные переменные ROWS_AFFECTED, GDSCODE, SQLCODE, RANSACTION_ID, CCONNECTION_ID
......Группировка по номеру столбца
......Значения переменных по умолчанию
......Тип данных BIGINT
......Дополнительные национальные кодовые страницы и порядки сортировки
......Группировка по встроенным функциям и UDF
......Ограничение результатов выборки FIRST/SKIP
......Увеличение глубины рекурсии процедур и триггеров
......Использование переменной окружения ISC_PATH
......Безопасная работа с внешними таблицами
...Классическая архитектура на Windows NT (Yaffil CS)
...Встраиваемый сервер
...Конфигурация безопасности для базы данных
......Использование сервера Yaffil внутри процесса
......Эффективное взаимодействие процессов архитектуры Classic Server
......Изменения оптимизатора, направленные на совместимость
......Yaffil Classic Server – замена InterBase Classic 4.0
...Миграция баз данных на Yaffil и обратно
......Режим обратной совместимости
...Возможности, планируемые к реализации в следующих версиях
......Интегрированная безопасность (NT Integrated Security)
......Асинхронный сервер и отмена выполняющихся запросов
......Одновременный запуск нескольких копий сервера (multi-instancing)
......Хранение конфигурации в системном реестре
......Большие индексы
...Заключение
InterBase 7
...Семерка – первый шаг нового семейства
...Распараллеливание на несколько процессоров
...Мониторинг состояния сервера
......Модификация системных таблиц
......Примеры получения статистики
......Безопасность временных таблиц
...JDBC Type 4 DRIVER
...Новая структура данных на диске: ODS11
......Новый тип данных: BOOLEAN
......Новые ключевые слова
......Имена объектов длиной 68 символов
......Новые функции API для работы с Blob и массивами
...Другие изменения в 7-й версии InterBase
......SET TERM больше не нужен в isql
......Определение версии клиента
......Безопасность внешних таблиц. Параметр EXTERNAL_FILE_DIRECTORY
......Единое имя файла параметров InterBase
......Рекомендуемое расширение для файлов баз данных – *.ib
......Новое имя базы данных пользователей
...Заключение
Firebird 1.5 – Open Source DBMS
...Продолжение линии 1.0
...Версия 1.5 – эволюция или революция?
...Достигнутые результаты
...Отличительные особенности новой версии
......Дистрибутив
......Реализация языка SQL
......Расширение механизма событий
......Производительность
......Конфигурирование
...Firebird 2.0 – взгляд в будущее
......Новая версия ODS
......Поддержка SMP
......Средства мониторинга
......Дальнейшее развитие языка SQL
...Заключение
Приложения
Глоссарий
Параметры конфигурационного файла InterBase
...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
......Действие
......Объяснение
......Показания к изменению параметра
...SERVER WORKING SIZE
......Параметры в ibconfig
......Действие
......Объяснение
......Показания к изменению параметра
...LOCK GRANT ORDER
......Параметры в ibconfig
......Действие
......Объяснение
......Показания к изменению параметра
...LOCK HASH SLOTS
......Параметры в ibconfig
......Действие
......Объяснение
......Показания к изменению параметра
...DEADLOCK TIMEOUT
......Параметры в ibconfig
......Действие
......Объяснение
......Показания к изменению параметра
...LOCK ACQUIRE SPINS
......Параметры в ibconfig
......Действие
......Объяснение
......Показания к изменению параметра
...CONNECTION TIMEOUT
......Параметры в ibconfig
......Действие
......Объяснение
......Показания к изменению параметра
...DUMMY PACKET INTERVAL
......Параметры в ibconfig
......Действие
......Объяснение
......Показания к изменению параметра
......Примечание
...TMP DIRECTORY
......Параметры в ibconfig
......Действие
......Объяснение
......Показания к изменению параметра
...EXTERNAL FUNCTION DIRECTORY
......Параметры в ibconfig
......Действие
......Объяснение
......Показания к изменению параметра
...TCP REMOTE BUFFER
......Параметры в ibconfig
......Действие
......Объяснение
......Показания к изменению параметра
......Примечание
Инструменты администратора и разработчика InterBase
...Универсальные инструменты администратора и разработчика InterBase
......IBExpert
......Devrace? BlazeTop ?
......IBWorkbench
......IBAccess
......IBAdmin
......Marathon
......IBManager
...Специализированные инструменты
......MiTeC InterBase Performance Monitor
......IBSurgeon Viewer 1.0.2
......IBSurgeon IBFirstAID 1.0
......IBSurgeon IBAnalyst 1.5
......IBAffinity
......IBDatabase Comparer
......IB DataPump
......GBAK Scheduler
......IBReplicator
......Grant Manager
Литература