Мир InterBase


Мир InterBase

Быстрый старт
Установка InterBase
Что ставить?
Подготовка к установке
Установка
Установка InterBase на платформе Linux/Unix

Установка инструментария для админист рирования InterBase
Заключение
Создаем базу данных
Строка соединения


Диалект базы данных
Размер страницы
Кодировка (CharSet)
Имя пользователя и пароль
Что получилось

Типы данных
О типах данных
Синтаксис определения типов данных
Целочисленные типы
Вещественные типы данных
Типы данных с фиксированной точкой
Типы для хранения даты и времени
Типы данных для хранения текста
Тип данных BLOB

Массивы
Таблицы. Первичные ключи и генераторы
Первичные ключи в таблицах
Генераторы - лучшие друзья первичных ключей

Индексы
Для чего нужны индексы?
Как устроены индексы
Применение индексов
Ускорение выполнения запросов с помощью индексов

Обеспечение ссылочной целостности с помощью индексов
Оптимизация производительности индексов
Ограничения базы данных
Виды ограничений в базе данных
Пример типичного ограничения
Создание ограничений
Первичный и уникальный ключи

Внешние ключи
Использование NULL в полях внешнего ключа
Расширенные возможности поддержки ссылочной целостности с помощью внешнего ключа
Ограничение CHECK
Удаление ограничений
Представления
Синтаксис DDL для работы с представлениями

Примеры представлений
Модифицируемые представления
Хранимые процедуры
Пример простой хранимой процедуры
Пример простой хранимой процедуры - 2
Разделители в хранимых процедурах
Вызов хранимой процедуры

Циклы и операторы ветвления
Рекурсивные хранимые процедуры

Расширенные возможности языка хранимых процедур InterBase
Исключения
Обработка ошибок SQL и InterBase
Работа с массивами в хранимых процедурах
Триггеры
Пример триггера

Контекстные переменные
Управление состоянием триггера
Ошибки и исключения в триггерах
События InterBase
User Defined Functions

Механизм подключения функций
Создание собственных функций
Русификация InterBase
Наборы символов
Хранение символьных данных без использования наборов символов
Вносим ясность
Русификация клиентских приложений InterBase

Собственные наборы символов и способы сортировки
Что такое транзакции?
Изолированность транзакций
Механизм транзакций в InterBase
Многоверсионная архитектура InterBase
Реализация многоверсионности. Страницы учета транзакций

Сборка мусора
Взаимодействие транзакций
Уровни изоляции транзакций
Параметры транзакций
Виды параметров транзакции
Режим доступа
Режим блокировки
Взаимоблокировка
Установка уровней изоляции

Рекомендации по использованию параметров транзакций
За пределами транзакций
Двухфазное подтверждение транзакций
Обзор библиотек доступа к InterBase
Основа библиотек доступа к InterBase
Библиотеки доступа
Список библиотек доступа к InterBase

Мир InterBase

Разработка приложений баз данных InterBase на Borland Delphi/C++ Builder/Kylix
Что такое InterBase Express?

Общее описание основных компонентов, включенных в состав IBX
Компоненты-оболочки для Services API
Использование основных компонентов InterBase eXpress (IBX)
Иерархия компонентов в IBX
Особенности TIBTable, TIBQuery и TIBStoredProc
TIBTable
TIBQuery
TIBStoredProc
Подключение к базе данных
Управление транзакциями

Выполнение запросов при помощи TIBDataSet
Редактирование данных при помощи визуальных компонентов
Программное редактирование данных
И снова про транзакции
Использование генераторов для автоинкрементных полей
Механизм master-detail

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

Как сделать запрос редактируемым?
Правильный способ использования auto-increment полей в FIBPIus
Разделенные транзакции: уникальная возможность избежать Deadlock. Режим AutoCommit
Механизм master-detail. Специальные опции TpFIBDatabase и TpFIBDataSet
Опции и настройки TpFIBDatabase

Опции и настройки TpFIBDataSet
Использование FIBPIus совместно с генератором отчетов FastReport
Простой отчет
Отчеты вида master-detail
Создание отчетов в run-time

Использование специальных инструментов в design-time: FIBPIus Tools
Установка FIBPIus Tools
Preferences
SQL Navigator
Обработка потери подключения к базе данных
Эмуляция Boolean-полей
Поддержка array-полей. Пример использования TpFIBUpdateObject и TDataSetContainer

Работа с BLOB-полями
Локальная сортировка и локальная фильтрация
Локальная сортировка

Локальная фильтрация
Обработка событий InterBase при помощи FIBPIus
"Низкоуровневая" работа с внутренним буфером TpFIBDataSet

Мир InterBase

Разработка приложений баз данных
Немного истории
Обзор возможностей IBProvider
Использование IBProvider в клиентских приложениях

Компоненты ADODB
Библиотека классов C++ для работы с OLE DB
Инсталляция IBProvider
Инсталляция ADODB-компонентов
Примеры использования ADODB
Использование библиотеки классов
Примеры использования библиотеки классов
Тестовая база данных
Операционная система
Состав компонентов IBProvider

Источник данных
Сессия
Уровни изоляции транзакции
Автоматические транзакции
Управление транзакциями через SQL
Примеры работы с транзакциями
Распределенные транзакции

Использование нескольких сессий в ADODB
Чтение метаданных
Команда
Создание команды
Установка текста команды
Подготовка команды
Подготовка параметров SQL-запроса

Установка свойств результирующего множества
Выполнение команды
Набор строк
Работа с массивами
Особенности реализации поддержки массивов

Работа с хранимыми процедурами
Создание СОМ-объектов для работы с базой данных
Использование скриптов в клиентских приложениях базы данных InterBase
Использование пула подключений к базе данных

Распределенные запросы
Создание CGI-приложений под ОС Linux с использованием InterBase API
Пример 1. Запрос без параметров

Пример 2. Запрос с параметрами

Заключение
Работа с InterBase с использованием ODBC
Поддержка кодировки UNICODE
Вызов хранимых процедур InterBase с использованием стандартного синтаксиса ODBC
Прокручиваемые курсоры
Асинхронная отмена вызовов для InterBase 6.5
Настройка используемого диалекта InterBase SQL
Настройка параметров транзакций
Установка драйвера и настройка источников данных
Вероятные проблемы и способы их решения

Создание клиентов на Java. InterClient и JDBC
Установка InterClient
Communication Diagnostics
Пример приложения на Java

Мир InterBase

Администрирование и архитектура InterBase
InterBase как встраиваемая СУБД
Установка InterBase на платформе Windows
Установка клиента под Windows
Копирование файлов

Совместное использование gds32.dll, InterBase.msg и mscvrt.dll
Ключи в реестре для клиента InterBase
Регистрация TCP/IP-сервиса при клиентской установке
Установка InterBase-сервера на Windows
Копирование файлов сервера
Совместное использование файлов
Ключи в реестре для сервера InterBase
Регистрация ТСР/IР-сервиса
Запуск InterBase-сервера
Расширенная установка InterBase-сервера

Пример установочного скрипта
Резервное копирование базы данных и восстановление из резервной копии
Резервное копирование базы данных InterBase
Инструмент командной строки gbak
Права для выполнения резервного копирования
Резервное копирование многофайловых баз данных
Резервное копирование при работе InterBase в режиме 24x7
Другие инструменты для осуществления резервного копирования

Восстановление из резервной копии
Восстановление с использованием инструмента gbak
Восстановление из резервных копий многофайловых баз данных
Владелец базы данных
Заключение
Миграция
Почему необходима миграция
Сущность процесса миграции
Карта миграции
Прямая миграция

Сохранение информации о пользователях при миграции
Восстановление из резервной копии на системе-приемнике
Особый процесс, или обратная миграция
Совместимость клиентов и серверов различных версий
Перевод базы данных InterBase 6.x на 3-й диалект
Двойные кавычки
Ключевые слова

Типы данных для работы с датой и временем
Большие целые типы
Пошаговые инструкции для перехода на 3-й диалект
Клиенты 3-го диалекта
Обзор основных причин повреждения базы данных

Отключение питания
Forced writes - палка о двух концах
Повреждения жесткого диска
Ошибки проектирования базы данных
Профилактика повреждений баз данных InterBase
Инструмент командной строки gfix
Восстановление поврежденной базы данных

Спасение данных из поврежденной базы данных
Спасение данных из поврежденной базы данных - 2
Восстановление "безнадежных" баз данных. 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
Attributes
Sweep interval
Информация страниц данных
Статистика страниц индексов

Статистика InterBase-сервера
Статистика по блокировкам
Оптимизация работы InterBase
Выбор аппаратного обеспечения для InterBase
Сервер для InterBase
Сетевое оборудование
Рабочие станции

Основные "рычаги" управления производительностью
Кеш базы данных
Forced Writes
Sweep Interval
Размер страницы базы данных
Особенности системы защиты данных в 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
IBSurgeon - проводник по базе данных InterBase
Файлы *.GDB изнутри
Типы страниц и их использование

Понятие об ODS
Мост между физической и логической структурой базы данных

Мир InterBase

Обзор современных версий семейства InterBase

Обзор современных версий семейства InterBase - 2
Введение
Интеграция с платформой Windows NT
Производительность
Надежность и безопасность
Улучшенная производительность
Улучшенный оптимизатор запросов
Оптимизация сетевого трафика
Эффективная работа с временными файлами сортировки

Оптимальная структура хранения записей
Ускоренная работа с индексами
Улучшенная стратегия вычисления предиката IN и условий, объединенных по OR
Ускоренное обновление данных
Уменьшение времени, необходимого для резервного копирования и восстановления
Индексы по выражениям
Уменьшение размера, занимаемого индексами
Выражения в значениях по умолчанию для доменов
Удобная операция объединения строк
Расширенные возможности указания пользовательских планов

Имена индексов ограничений
Улучшенное время отклика для версии SuperServer
Улучшенный протокол локальных соединений (XNET)
Ограничение времени ожидания для транзакций (Lock timeout)
Расширения SQL
Инструкция IIF
Инструкция INSERT INTO ... FROM ... UNION ...
Выражения в EXCEPTION
Системные переменные ROWS_AFFECTED, GDSCODE, SQLCODE, TRANSACTIONJD, CONNECTIONJD
Группировка по номеру столбца

Значения переменных по умолчанию
Тип данных 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)

Хранение конфигурации в системном реестре
Большие индексы
Заключение
Семерка - первый шаг нового семейства
Распараллеливание на несколько процессоров
Мониторинг состояния сервера
Модификация системных таблиц

Примеры получения статистики
Безопасность временных таблиц
JDBC Туре 4 DRIVER
Новая структура данных на диске: ODS11
Новый тип данных: BOOLEAN
Новые ключевые слова
Имена объектов длиной 68 символов
Новые функции API для работы с Blob и массивами
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

Логическая структура базы данных InterBase
BLR
Иерархия объектов в InterBase

Мир InterBase

Приложения
Глоссарий
Действие
Объяснение
Показания к изменению параметра
Параметры в ibconfig
Показания к изменению параметра
Действие
Объяснение
Показания к изменению параметра
LOCK HASH SLOTS
Действие
Объяснение
Показания к изменению параметра

Действие
Объяснение
Показания к изменению параметра
Действие
Объяснение
Действие
Объяснение
Показания к изменению параметра
Действие
Объяснение

Показания к изменению параметра
Примечание
Параметры в ibconfig
Действие
Объяснение
Показания к изменению параметра
Параметры в ibconfig
Действие
Объяснение
Показания к изменению параметра

Действие
Объяснение
Примечание


Искусственный интеллект далее
Аппаратные средства ЭВМ. Компьютерные сети далее