Д. Л. Осипов
InterBase и Delphi.
Клиент-серверные
базы данных
Москва, 2015
Стр.2
УДК 004.65:004.451
ББК 32.972.32
О73
О73 InterBase и Delphi. Клиент-серверные базы данных. – М.: ДМК Пресс, 2015. –
536 с.: ил.
Осипов Д. Л.
ISBN 978-5-97060-254-6
Книга посвящена разработке клиент-серверных приложений баз данных (БД) на
платформе системы управления базами данных InterBase (Firebird) и языка программирования
Delphi. В ней представлено точное и полное описание инструментария
разработчика, так необходимого для создания профессиональных проектов.
Издание предназначено как для работающих с современными информационными
технологиями студентов и преподавателей высших учебных заведений, так и для
программистов, которые найдут в книге всё необходимое для самостоятельного проектирования
клиент-серверных баз данных.
УДК 004.65:004.451
ББК 32.972.32
Все права защищены. Любая часть этой книги не может быть воспроизведена в какой
бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев
авторских прав.
Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность
технических ошибок все равно существует, издательство не может гарантировать абсолютную
точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности
за возможные ошибки, связанные с использованием книги.
ISBN 978-5-97060-254-6
© Оформление, издание, ДМК Пресс, 2015
© Осипов Д. Л., 2015
Стр.3
Содержание
ВВЕДЕНИЕ .....................................................................13
Часть I Проектирование базы данных .............................15
Глава 1 Немного истории ............................................16
Создание структурированного языка запросов ..................................................................................17
Возможности SQL .........................................................................................................................................18
InterBase ............................................................................................................................................................19
Реализация SQL в InterBase ..............................................................................................................20
Диалекты InterBase SQL .....................................................................................................................22
Резюме ...............................................................................................................................................................22
Глава 2 Введение в реляционную модель .......................23
Сущность и атрибуты ...................................................................................................................................24
Реляционная связь ........................................................................................................................................26
Целостность данных .....................................................................................................................................27
Доменные ограничения .......................................................................................................................27
Целостность сущностей .......................................................................................................................28
Ссылочная целостность .......................................................................................................................28
Корпоративная целостность ..............................................................................................................29
Модель «сущность–связь» .........................................................................................................................29
Нормализация данных .................................................................................................................................30
Резюме ...............................................................................................................................................................32
Глава 3 Создание базы данных .....................................33
Создание БД в консоли администрирования ......................................................................................33
Управление БД средствами SQL ..............................................................................................................36
Создание БД, CREATE DATABASE...............................................................................................36
Изменение БД, ALTER DATABASE ...............................................................................................38
Уничтожение БД, DROP DATABASE ...........................................................................................39
Резюме ...............................................................................................................................................................39
Глава 4 Типы данных и домены .....................................40
Типы данных ....................................................................................................................................................40
Точные числовые типы ........................................................................................................................41
Приближённые числовые типы ........................................................................................................41
Логический тип ......................................................................................................................................42
Строки символов ...................................................................................................................................42
Дата и время ............................................................................................................................................43
Большие бинарные объекты ..............................................................................................................45
Преобразование типов данных ..................................................................................................................46
Операции с данными ....................................................................................................................................47
Проверка на равенство значений .....................................................................................................47
Домены ..............................................................................................................................................................47
Определение домена в консоли администрирования ...............................................................49
Стр.4
4 Содержание
Создание домена CREATE DOMAIN ............................................................................................50
Изменение домена ALTER DOMAIN.............................................................................................54
Удаление домена DROP DOMAIN .................................................................................................54
Как получить информацию о домене? ...................................................................................................54
Резюме ...............................................................................................................................................................55
Глава 5 Таблицы .........................................................56
Ключи .................................................................................................................................................................57
Создание значений ключа с помощью генератора .....................................................................58
Таблицы и консоль администрирования ...............................................................................................59
Создание таблицы, CREATE TABLE......................................................................................................61
Определение столбцов таблицы .......................................................................................................62
Первичный ключ ....................................................................................................................................66
Внешние ключи и связи между таблицами ..................................................................................66
Изменение таблицы ALTER TABLE .......................................................................................................69
Удаление таблицы DROP TABLE ............................................................................................................71
Временные таблицы ......................................................................................................................................71
Резюме ...............................................................................................................................................................72
Глава 6 Представления ................................................73
Представления и консоль администрирования ..................................................................................74
Создание представления, CREATE VIEW ...........................................................................................75
Модифицируемые представления ...........................................................................................................76
Ограничение WICH CHECK OPTION .........................................................................................78
Изменение представления ..........................................................................................................................78
Удаление представления, DROP VIEW ................................................................................................78
Резюме ...............................................................................................................................................................79
Глава 7 Индексы .........................................................80
Индексы на основе B-деревьев ..................................................................................................................81
Правила назначения пользовательских индексов ..............................................................................85
Создание индексов в консоли администрирования ..........................................................................86
Создание индекса, CREATE INDEX .......................................................................................................87
Подключение/отключение индекса, ALTER INDEX .......................................................................87
Удаление индекса, DROP INDEX ............................................................................................................88
Избирательность индекса ...........................................................................................................................88
Резюме ...............................................................................................................................................................90
Глава 8 Выборка данных и инструкция SELECT .................91
Порядок сортировки, ORDER BY ...........................................................................................................93
Ограничение количества строк в результирующем наборе ............................................................94
Условие отбора данных, предложение WHERE .................................................................................94
Сравнение .................................................................................................................................................95
Попадание в диапазон, BETWEEN .................................................................................................96
Начало строки с подстроки, STARTING WITH .........................................................................96
Проверка на вхождение подстроки, CONTAINING ..................................................................97
Соответствие шаблону, LIKE ............................................................................................................97
Проверка на неопределённость, IS NULL ....................................................................................98
Стр.5
Содержание 5
Вложенные запросы и проверка существования ................................................................................99
Подзапрос IN ...........................................................................................................................................99
Проверка существования EXISTS ............................................................................................... 100
Многократное сравнение ................................................................................................................. 101
Агрегирующие функции ........................................................................................................................... 102
Группировка данных GROUP BY ......................................................................................................... 103
Дополнительная фильтрация группы строк, HAVING ......................................................... 104
Резюме ............................................................................................................................................................ 104
Глава 9 Многотабличные запросы SELECT ....................105
Внутреннее соединение с помощью WHERE ................................................................................... 106
Соединение JOIN ........................................................................................................................................ 106
Соединение нескольких таблиц .................................................................................................... 108
Запросы к иерархическим данным ............................................................................................... 110
Слияние UNION ........................................................................................................................................ 111
Оптимизация запроса ................................................................................................................................ 112
Резюме ............................................................................................................................................................ 114
Глава 10 Редактирование данных ................................115
Вставка, инструкция INSERT ............................................................................................................... 115
Модификация, инструкция UPDATE ................................................................................................. 116
Удаление, инструкция DELETE ........................................................................................................... 118
Применение UDF-функций .................................................................................................................... 118
Резюме ............................................................................................................................................................ 119
Глава 11 Процедурный SQL ........................................120
Хранимая процедура .................................................................................................................................. 121
Комментарии ........................................................................................................................................ 122
Переменные .......................................................................................................................................... 123
Выборка данных с помощью SELECT…INTO .......................................................................... 124
Условный оператор IF…THEN…ELSE ......................................................................................... 124
Цикл WHILE…DO ............................................................................................................................. 125
Цикл выборки данных FOR SELECT…DO ............................................................................... 126
Оператор SUSPEND ......................................................................................................................... 127
Оператор EXIT ................................................................................................................................... 128
Вызов процедуры, EXECUTE PROCEDURE ................................................................................. 128
Триггер ............................................................................................................................................................ 129
Контекстные переменные ................................................................................................................ 130
Преобразование данных ................................................................................................................... 132
Ввод значений по умолчанию ....................................................................................................... 132
Поддержка корпоративной целостности данных .................................................................... 133
События .......................................................................................................................................................... 134
Что нельзя сделать в процедурном SQL? ........................................................................................... 135
Резюме ............................................................................................................................................................ 135
Глава 12 Внешние функции ........................................136
Размещение UDF-библиотеки ............................................................................................................... 136
Подключение внешней функции к БД ................................................................................................ 137
Стр.6
6 Содержание
Подключение UDF в консоли администрирования ............................................................... 139
Вызов UDF .................................................................................................................................................... 140
Разработка UDF-библиотек в Delphi................................................................................................... 140
Работа со строками ............................................................................................................................. 141
Особенности разработки в C++ Builder .............................................................................................. 142
Резюме ............................................................................................................................................................ 144
Глава 13 Обработка исключений .................................145
Исключения в InterBase ........................................................................................................................... 146
Создание и вызов пользовательского исключения ................................................................ 147
Модификация и удаление исключения ...................................................................................... 148
Обработка исключений, выражение WHEN…DO .................................................................. 148
Ведение протокола исключений .................................................................................................... 150
Объектная модель исключений в Delphi ............................................................................................ 151
Обработка исключений в Delphi ................................................................................................... 152
Централизованная обработка исключений в приложении .......................................................... 155
Настройка среды разработки для обработки ИС ............................................................................ 157
Резюме ............................................................................................................................................................ 158
Глава 14 Транзакции и параллельная обработка данных ...159
Проблемы параллельного доступа к данным .................................................................................... 160
Управление транзакциями в InterBase ................................................................................................ 161
Подходы к сериализации транзакций ......................................................................................... 161
Идентификация транзакции ........................................................................................................... 162
Состояние транзакции ...................................................................................................................... 163
Многоверсионная архитектура ...................................................................................................... 163
Уровни изоляции транзакций в стандарте SQL ....................................................................... 164
Уровни изоляции транзакций в InterBase ................................................................................. 165
Разрешение блокировок ................................................................................................................... 166
Управление транзакцией средствами SQL ........................................................................................ 166
Определение транзакции, SET TRANSACTION ..................................................................... 167
Фиксация транзакции, COMMIT WORK ................................................................................. 168
Откат транзакции, ROLLBACK .................................................................................................... 169
Точки сохранения ............................................................................................................................... 169
Резюме ............................................................................................................................................................ 169
Глава 15 Аутентификация и авторизация ......................170
Способы аутентификации в InterBase ................................................................................................. 171
Выбор способа аутентификации ................................................................................................... 172
Учётные записи ............................................................................................................................................ 174
Предопределённые полномочия .................................................................................................... 174
Создание учётных записей средствами SQL ............................................................................. 175
Управление наборами привилегий ....................................................................................................... 176
Ролевой доступ .................................................................................................................................... 176
Резюме ............................................................................................................................................................ 180
Глава 16 Шифрование данных ....................................181
Подготовка к шифрованию, действия SYSDBA .............................................................................. 181
Стр.7
Содержание 7
Действия SYSDSO ..................................................................................................................................... 182
Создание пароля SEP ........................................................................................................................ 182
Создание криптографического ключа ......................................................................................... 183
Полномочия на шифрование и расшифровку .......................................................................... 184
Шифрование данных ................................................................................................................................. 185
Расшифровка данных ................................................................................................................................ 186
Резюме ............................................................................................................................................................ 186
Часть II Разработка клиентского приложения ................187
Глава 17 Доступ к БД из клиентского приложения ..........188
Структура клиентского приложения InterBase ............................................................................... 188
Доступ к базе данных, компонент TIBDatabase ............................................................................... 189
Выбор диалекта ISQL........................................................................................................................ 190
Создание и уничтожение базы данных ....................................................................................... 190
Соединение с базой данных ............................................................................................................ 191
Разрыв соединения ............................................................................................................................ 195
Информирование о составе БД ..................................................................................................... 196
Контроль за транзакциями .............................................................................................................. 198
Файл инициализации БД, TIBDatabaseINI ...................................................................................... 199
Резюме ............................................................................................................................................................ 200
Глава 18 Транзакции и компонент TIBTransaction ...........201
Параметры транзакции ............................................................................................................................. 201
Автоматическое управление транзакцией ......................................................................................... 203
Управление транзакцией в ручном режиме ....................................................................................... 203
Точки сохранения ............................................................................................................................... 205
Тайм-аут транзакции ......................................................................................................................... 205
Управление несколькими соединениями ........................................................................................... 206
Диагностика состояния транзакции ..................................................................................................... 207
Резюме ............................................................................................................................................................ 207
Глава 19 Работа со скриптами SQL ..............................208
Выполнение скриптов, TIBScript .......................................................................................................... 208
Разработка помощника установки БД ........................................................................................ 210
Получение метаданных, TIBExtract ..................................................................................................... 212
Пример генератора скриптов .......................................................................................................... 214
Резюме ............................................................................................................................................................ 215
Глава 20 Общие черты наборов данных IBX ...................216
Функционал набора данных ................................................................................................................... 217
Подключение к объектам БД .................................................................................................................. 218
Открытие и закрытие набора данных .................................................................................................. 218
Обновление набора данных ............................................................................................................ 219
Перемещение по записям ......................................................................................................................... 220
Двунаправленный и однонаправленный курсор ..................................................................... 222
Закладки ................................................................................................................................................ 222
Состояние набора данных ........................................................................................................................ 225
Стр.8
8 Содержание
Редактирование записей в наборе ......................................................................................................... 227
Отложенные обновления ................................................................................................................. 229
Доступ к отдельному столбцу ................................................................................................................. 232
Вычисляемые поля ............................................................................................................................. 234
Поле генератора .................................................................................................................................. 234
Фильтрация набора данных .................................................................................................................... 236
Поиск строки в наборе .............................................................................................................................. 238
Обработка событий .................................................................................................................................... 239
Взаимодействие с визуальными элементами управления .......................................................... 241
Резюме ............................................................................................................................................................ 241
Глава 21 Поле набора данных .....................................242
Базовый класс TField ................................................................................................................................. 242
Тип обслуживаемых данных ........................................................................................................... 244
Функциональное назначение ......................................................................................................... 244
Обращение к полю ............................................................................................................................. 245
Доступ к значению ............................................................................................................................. 246
Размер поля .......................................................................................................................................... 249
Значение по умолчанию ................................................................................................................... 249
Ограничения на ввод данных ......................................................................................................... 250
Маска ввода .......................................................................................................................................... 251
Индексные поля .................................................................................................................................. 252
Отображение данных ........................................................................................................................ 252
Обработка событий ............................................................................................................................ 254
Искусственные поля .................................................................................................................................. 255
Поля подстановки............................................................................................................................... 255
Вычисляемые поля ............................................................................................................................. 260
Числовые поля ............................................................................................................................................. 261
Поля целых чисел .............................................................................................................................. 263
Поля вещественных чисел ............................................................................................................... 263
Текстовое поле ............................................................................................................................................. 264
Логическое поле .......................................................................................................................................... 264
Поля даты и времени ................................................................................................................................. 265
Поля BLOB .................................................................................................................................................... 265
Резюме ............................................................................................................................................................ 268
Глава 22 Компонент быстрой разработки TIBTable ..........269
Программирование без кода ................................................................................................................... 269
Особенности подключения...................................................................................................................... 271
Отношение между главной и подчинённой таблицами ................................................................ 271
Очистка, удаление таблицы .................................................................................................................... 273
Работа с индексами..................................................................................................................................... 273
Создание и удаление индексов ...................................................................................................... 275
Создание таблицы ....................................................................................................................................... 276
Описание состава полей таблицы, класс TFieldDefs .............................................................. 276
Описание состава индексов таблицы, класс TIndexDefs ...................................................... 278
Пример использования метода CreateTable ............................................................................. 280
Резюме ............................................................................................................................................................ 281
Стр.9
Содержание 9
Глава 23 Компоненты для работы с SQL ........................282
Инструкция SQL TIBSQL ....................................................................................................................... 282
Подготовка к работе ........................................................................................................................... 283
Обслуживание полученного набора данных ............................................................................. 285
Запрос TIBQuery......................................................................................................................................... 285
Коллекция TParams и динамический SQL ........................................................................................ 287
Параметр TParam ................................................................................................................................ 289
Пример запроса с параметром ........................................................................................................ 290
Хранимая процедура TIBStoredProc ................................................................................................... 291
Универсальный набор данных TIBDataSet ....................................................................................... 292
Формирование запросов .................................................................................................................. 293
Модифицируем данные, TIBUpdateSQL ........................................................................................... 295
Резюме ............................................................................................................................................................ 297
Глава 24 Реакция на события сервера
в клиентском приложении ..............................................299
Компонент TIBEvents ............................................................................................................................... 299
Пример реакции на события ................................................................................................................... 300
Резюме ............................................................................................................................................................ 303
Глава 25 Компоненты Data Controls ..............................304
Источник данных – компонент TDataSource ................................................................................... 304
Общие черты компонентов Data Controls .......................................................................................... 306
Сетка TDBGrid ............................................................................................................................................ 307
Одновременный выбор нескольких строк ................................................................................. 308
Колонки сетки ..................................................................................................................................... 309
Обработка событий ............................................................................................................................ 315
Статический текст TDBText ................................................................................................................... 319
Строка ввода TDBEdit .............................................................................................................................. 320
Многострочный редактор TDBMemo.................................................................................................. 321
Изображение TDBImage .......................................................................................................................... 322
Список строк TDBListBox ....................................................................................................................... 323
Комбинированный список TDBComboBox ....................................................................................... 324
Группа переключателей TDBRadioGroup .......................................................................................... 324
Кнопка выбора TDBCheckBox ............................................................................................................... 324
Компонент TDBCtrlGrid .......................................................................................................................... 325
Списки с полями подстановки ............................................................................................................... 327
Список подстановки TDBLookupListBox ................................................................................. 329
Комбинированный список подстановки TDBLookupComboBox ...................................... 329
Навигатор TDBNavigator ......................................................................................................................... 329
Резюме ............................................................................................................................................................ 331
Глава 26 Иерархические данные .................................332
Дерево TTreeView ....................................................................................................................................... 332
Пример работы с рекурсивными таблицами ..................................................................................... 334
Сбор данных ........................................................................................................................................ 335
Новая запись ........................................................................................................................................ 337
Стр.10
10 Содержание
Редактирование записи .................................................................................................................... 337
Удаление записи .................................................................................................................................. 339
Сортировка узлов ............................................................................................................................... 340
Переподчинение узлов ...................................................................................................................... 341
Резюме ............................................................................................................................................................ 345
Глава 27 Нестандартное представление данных ............346
Компоненты списки ................................................................................................................................... 346
Список с флажками выбора TCheckListBox ............................................................................. 348
Сетка строк TStringGrid .......................................................................................................................... 349
Пример работы с сеткой строк ....................................................................................................... 352
Развитие примера ............................................................................................................................... 354
Список просмотра TListView ................................................................................................................. 356
Хранение данных в списке, коллекция TListItems ................................................................. 356
Элемент списка TListItem ............................................................................................................... 357
Стиль представления данных ......................................................................................................... 358
Особенности работы списка со стилем vsReport ..................................................................... 358
Выбор элементов списка .................................................................................................................. 359
Упорядочивание элементов ............................................................................................................. 361
Поиск элементов ................................................................................................................................. 361
Группировка элементов .................................................................................................................... 362
Пример работы со списком просмотра ....................................................................................... 362
Резюме ............................................................................................................................................................ 366
Глава 28 Библиотеки DLL на стороне клиента ................367
Общая характеристика DLL ................................................................................................................... 367
Экспорт функций DLL.............................................................................................................................. 368
Разработка библиотеки доступа к БД .................................................................................................. 368
Подключение библиотеки к приложению ......................................................................................... 372
Неявная загрузка DLL ...................................................................................................................... 372
Явная загрузка DLL ........................................................................................................................... 373
Резюме ............................................................................................................................................................ 375
Глава 29 Компоненты для администрирования
InterBase .....................................................................376
Общие черты компонентов ...................................................................................................................... 376
Свойства сервера, TIBServerProperties ............................................................................................... 379
Конфигурирование БД, TIBConfigService ......................................................................................... 382
Отключение и перезапуск БД ........................................................................................................ 383
Управление опциями ......................................................................................................................... 384
Ведение журнала транзакций ......................................................................................................... 386
Шифрование данных ......................................................................................................................... 388
Протокол работы сервера, TIBLogService .......................................................................................... 389
Статистика, TIBStatisticalService .......................................................................................................... 390
Валидация и восстановление, TIBValidationService....................................................................... 392
Управление учётными записями, TIBSecurityService ................................................................... 394
Резервное копирование и восстановление, TIBBackupService и TIBRestoreService .......... 399
Информация о БД, компонент TIBDatabaseInfo ............................................................................. 402
Стр.11
Содержание 11
Монитор SQL, TSQLMonitor ................................................................................................................. 403
Резюме ............................................................................................................................................................ 404
Глава 30 Многоуровневые БД по технологии DataSnap ....405
Архитектура трёхзвенного проекта БД DataSnap ........................................................................... 406
Сервер TDSServer ....................................................................................................................................... 408
Класс сервера TDSServerClass ............................................................................................................... 409
Обмен данными клиент–сервер, TDSTCPServerTransport и TDSHTTPService ................. 411
Менеджер аутентификации, TDSAuthenticationManager ............................................................ 413
Метод сервера TSqlServerMethod ......................................................................................................... 416
Пример проекта DataSnap ....................................................................................................................... 416
Подготовка клиентского приложения ......................................................................................... 420
Подключение сервера приложений к БД ................................................................................... 421
Получение данных клиентским приложением ........................................................................ 422
Модификация данных ...................................................................................................................... 424
Доступ к методу вставки записи на стороне клиента ............................................................ 424
Механизм обратного вызова ................................................................................................................... 425
Резюме ............................................................................................................................................................ 427
Глава 31 Диаграммы и графики ..................................428
Диаграмма TChart ...................................................................................................................................... 428
Хранение графиков в диаграмме ................................................................................................... 429
Базовый класс графиков, TChartSeries ...................................................................................... 431
Легенда диаграммы TChartLegend ............................................................................................... 438
Координатные оси диаграммы TChartAxis .............................................................................. 439
Масштабирование .............................................................................................................................. 442
Многостраничные диаграммы ....................................................................................................... 443
Экспорт диаграмм .............................................................................................................................. 444
Печать диаграммы .............................................................................................................................. 445
Упорядочивание графиков внутри диаграммы ........................................................................ 446
Обеспечение объёмного вида диаграммы .................................................................................. 446
Пример работы с TChart .................................................................................................................. 447
Особенности диаграммы TDBChart .................................................................................................... 451
Пример работы с TDBChart ........................................................................................................... 451
Резюме ............................................................................................................................................................ 452
Глава 32 Создаём интерфейс руками пользователя .......454
Общие требования к интерфейсу .......................................................................................................... 454
Стили оформления приложения ........................................................................................................... 455
Менеджер стилей TStyleManager ................................................................................................. 457
Настройка интерфейса во время выполнения приложения, диалог TCustomizeDlg ......... 459
Настройка горячих клавиш THotKey .................................................................................................. 463
Использование системного реестра, TRegistryIniFile .................................................................... 464
Резюме ............................................................................................................................................................ 465
Глава 33 Электронные отчёты .....................................466
Технология автоматизации ...................................................................................................................... 467
Обращение к серверу автоматизации .................................................................................................. 469
Стр.12
12 Содержание
Понятие коллекции .................................................................................................................................... 470
Редактор Microsoft Word .......................................................................................................................... 470
Приложение Word – Application ................................................................................................... 471
Коллекция документов Documents и документ Document .................................................. 472
Параметры страницы, объект PageSetup .................................................................................... 474
Область документа Range ................................................................................................................ 475
Выделанная область Selection ........................................................................................................ 477
Абзацы Paragraphs .............................................................................................................................. 479
Списки Lists .......................................................................................................................................... 480
Коллекция разделов Sections и раздел Section ......................................................................... 482
Коллекция таблиц Tables и таблица Table .......................................................................................... 484
Внедрение в документ внешних объектов ................................................................................. 488
Пример универсального генератора отчётов ..................................................................................... 490
Электронные таблицы Microsoft Excel ................................................................................................ 491
Приложение Excel – Application ................................................................................................... 491
Коллекция WorkBooks и книга Workbook ................................................................................. 493
Листы Excel ........................................................................................................................................... 494
Область ячеек Range ......................................................................................................................... 499
Пример табличного отчёта .............................................................................................................. 501
Пример создания диаграммы ......................................................................................................... 502
Резюме ............................................................................................................................................................ 503
Глава 34 Особенности выпуска клиентских
приложений FM ............................................................505
Создание приложения FM ....................................................................................................................... 506
Выпуск приложения для OS X ............................................................................................................... 507
Выпуск приложения InterBase ToGo ................................................................................................... 509
Резюме ............................................................................................................................................................ 509
Заключение .................................................................512
Список использованных источников ................................513
Приложение 1 Модель демонстрационной БД «Склад» ...514
Приложение 2 Встроенные функции ............................516
Приложение 3 Функции UDF .......................................517
Приложение 4 Листинги примеров ..............................518
Предметный указатель ..................................................519
Стр.13