Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil - А Ковязин
Шрифт:
Интервал:
Закладка:
BLOB. Сокращение для Binary Large Object. InterBase изобрел BLOB-поля несколько лет назад и компания "Боинг" воспользовалась их преимуществами для хранения звукозаписей в базе данных. Насколько я знаю, InterBase предложил первую реализацию BLOB на рынке реляционных СУБД. В InterBase BLOB могут хранить различные подтипы. Однако следует отметить, что изначально слово "BLOB" ничего не означало и, по-видимому, было заимствовано из какого-то кинофильма.
BLR: эта аббревиатура означает Binary Language Representation (двоичное представление языка). Внутри ядра сервера нет ни SQL, ни GDML, ни QUEL - нет реляционных языков, которые спроектированы, чтобы на них писали и читали люди Вместо этого запросы даны в двоичном представлении, которое является надмножеством известных нам реляционных языков Утилиты GPRE и QLI преобразуют SQL и GDML в BLR. Когда вы успешно компилируете хранимую процедуру или триггер, их скомпилированное представление сохраняется в формате BLR в BLOB-полях. Помимо этого, интерфейс DSQL преобразует все запросы к серверу в BLR. Вы можете воспользоваться утилитой командной строки isql для того, чтобы просмотреть BLR-представление триггеров, хранимых процедур, ограничений, значений по умолчанию и представлений, для этого необходимо выполнить команду SET BLOB ALL и затем выбрать соответствующие BLR-поля из системных таблиц (см. System tables).
Character set (набор символов). Языки программирования обычно используют не более двух типов наборов символов - ASCII и UNICODE. Первый набор ограничен 256 возможными символами (включая контрольные последовательности), тогда как второй набор содержит 65536 возможных символов. Проблема соиоиг в том что в базе данных необходимо хранить символы без чрезмерных затрат и в то же время необходимо корректно передавать эти символы клиентам, которые ожидают увидеть правильное изображение для каждого сохраненного кода, обозначающего символ. Не все кодовые таблицы используют одинаковые числовые значения для одних и тех символов, и к тому же некоторые алфавиты полностью отличаются друг от друга или содержат специальные символы. Таким образом, важно определить набор символов, соответствующий кодовой странице, которую будет использовать клиентское приложение. InterBase поддерживает как возможность задать набор символов для всей базы данных, так и возможность явно указать набор символов для каждого поля типа char или aichdi Не существует набора символов, доступною везде внутри сервера. Если не указывать набор символов, то по умолчанию будет установлен набор символов NONE, который означает, что символы хранятся так, как они есть, и не предпринимается попыток преобразовать эти символы при передаче между клиентом и сервером.
Collation (сопоставление). Это понятие связано с операциями на данном наборе символов. Проще говоря, collation - это сравнение. Collation определяет, как инструкция SORT упорядочивает результаты выборки, как работает функция UPPER и как сравниваются поля в выражениях WHERE и HAVING в предложении SELECT
DDL. Это часть SQL, которая работает с определениями данных, т. е она управляет метаданными и потому именуется Data Definition Language (язык манипуляции данных)
DML. Это часть SQL, которая работает с данными и потому именуется Data Manipulation Language (язык манипуляции данных).
DPB. Это Database Parameter Buffer (буфер параметров базы данных), массив символов, используемый для передачи параметров и соответствующих им значений серверу при вызове функций InteiBase API. DPB включает следующие данные: первый байт, содержащий его версию, а затем идут наборы байтов для каждого параметра, причем каждый набор содержит сначала 1 байт, определяющий тип параметра, затем байт, содержащий длину данного набора после его типа, и потом собственно совокупность байт, которая несет ту или иную информацию в зависимости от типа параметра.
DSQL. Это аббревиатура для Dynamic SQL (динамический SQL). Когда вы читаете в документации: "доступно в DSQL", это означает, что инструкция доступна в программах, которые посылают на сервер SQL-команды (с параметрами или без), созданные во время выполнения. Этот способ работать с сервером является обычным для приложений на Delphi или ВСВ.
DSRI. Аббревиагчра дляDigital Slandaid Relational Inieiface (стандартный Цифровой реляционный интерфейс). Используется в Rdb/VMS, Rdb/ELN, а также в некоторых продуктах компании DEC
DYN. Это еще один язык с байтовым представлением для описания предложений, описывающих данные. Подсистема DSQL в InterBace передает разобранные DDL предложения компоненту, который запускает DYN, а затем Y-Valve (см. соотв. статью), который интерпретирует DYN и прямо изменяет активные системные таблицы (см. Active tables)
ESQL. Embedded SQL (встроенный SQL). Когда вы читаете в документации "доступно в ESQL", это означает, что инструкция доступна в приложениях, в которые встроены статические SQL-команды в формате BLR. См. статью GPRE для получения дополнительной информации.
FIB. Сокращение для Free InterBase Components (свободные компоненты для InterBase). Эти компоненты созданы Грегори Детцом (Greg Deatz), тем самым человеком, который создал библиотеки FreeUDFLib (Delphi/Windows) и FreeUDFLibC (C/Sun). FIB позволяет из программ на Delphi соединяться с InterBace напрямую, минуя BDE. FIB является основой для IBX (см. соотв. статью), и с тех пор, как появился IBX, FIB более не развивался.
FIBPlus. Сергей Бузаджи решил, что FIB достаточно хорош для построения на его основе нового пакета и включил туда множество новых функций, таких, как поддержка InteiBase 6, например. Кроме этого, изменения коснулись оптимизации работы с памятью и значительного увеличения скорости работы компонентов В отличие от FIB. FIBPlus также содержит ряд дополнительных компонентов и экспертов для Delphi и ВСВ, которые упрощают разработку при использовании FIBPlus. Пакет является коммерческим и в настоящий момент поддерживает все версии InterBase, начиная с 4-й, а также клоны InterBase: Firebird и Yaffil.
Foreign key (внешний ключ, FK). Это специальный не уникальный ключ (см. non-unique key), который используется для автоматического обеспечения ссылочной целостности (см. Referential integrity). В InterBase, когда вы создаете FK, соответствующий индекс создается автоматически (и всегда имеет порядок по возрастанию). Поле в мастер-таблице, на которое ссылается внешний ключ, должно иметь первичный ключ (Primary key) или уникальный ключ (Unique key).
Gbak, gdef, gfix, gpre, gsec, gstat, iblockpr and qli. Эти утилиты описаны в главе "Состав модулей InterBase" (ч. 4). Помимо этого, gpre and qli описаны ниже.
GDB. Это расширение, которое по общепринятому соглашению используется для баз данных InterBase. На самом деле InterBase может использовать любое расширение для базы данных. Это расширение служит напоминанием о тех днях, когда компания InterBase Corp называлась Groton Database Systems.
GDDL. Аббревиатура для Groton Data Definition Language. Был инструмент, который анализировал выражения на GDML и генерировал вызовы, которые определяли базы данных. GDML является эквивалентом для DDL в SQL.
GDML. Аббревиатура для Groton Data Manipulation Language. Этот реляционный язык был создан для использования людьми, как и SQL.GDML - первоначальный язык InterBase до сих пор поддерживается в утилите, называемой QLI. GDML является эквивалентом DML в SQL, но в то же время в него входят некоторые возможности DDL.
GPRE. Это препроцессор InterBase. В зависимости от платформы он поддерживает несколько языков и позволяет писать на них приложения, использующие встроенный SQL. GPRE на основе используемых в этих приложениях SQL-команд создает команды в BLR-формате. Чаще всего препроцессором поддерживается язык С, но в зависимости от платформы можно найти поддержку для языков COBOL и ADA. Когда вы читаете в документации: "доступно в GPRE", это означает, что описываемая инструкция может быть использована в программах со статическими SQL-командами. Эти программы предварительно обрабатываются препроцессором GPRE и затем передаются компилятору языка (например, C++) для создания исполняемого файла.
Hierarchical database (иерархическая база данных). Первый (изначальный) вид базы данных. Каждый объект (исключая корень) должен иметь одного и только одного родителя. Компания ШМ использовала этот вид базы данных до 1970 года.
IBX. Сокращение для InterBase Express. Начиная с Delphi 5 компания Borland решила выпускать два "экспресс"-продукта - ADO Express и ШХ. IBX представляет собой пакет компонентов, которые осуществляют прямое соединение с InterBase, используя его API, а не BDE. IBX был создан на основе FIB и был встроен в абстрактную иерархию наборов данных в VCL (Visual Component Library - основная библиотека в Delphi).
IВО. Сокращение для InterBase Objects. IBО - это альтернативный, созданный" "с нуля" коммерческий пакет для доступа к InterBase минуя BDE, через InterBase API. Его разработал Джейсон Вартон (Jason Wharton). ГВО - предназначенный для работы с базами данных пакет, основанный на оригинальных возможностях InterBase по управлению данными и транзакциями. Разработка ГВО основывается на модели клиент-сервер.