Классика баз данных - статьи

       

Предложения, следующие из необходимости открытости системы


До сих пор мы обсуждали характеристики СУБД третьего поколения. Теперь обратим внимание на интерфейс прикладного программирования (Application Programming Interface – API), посредством которого программа пользователя будет общаться с СУБД. В нашем первом предложении говорится об очевидной вещи.

Предложение 3.1: СУБД третьего поколения должны быть доступны из различных ЯВУ.

Некоторые разработчики систем утверждают, что СУБД должна быть тесно привязана к определенному языку программирования. Например, они говорят, что функция должна возвращать один и тот же результат независимо от того, была ли она выполнена в программе пользователя для временных данных или внутри СУБД для стабильных данных. Этого можно достичь только в том случае, если модель выполнения СУБД идентична модели выполнения конкретного языка программирования. Нам кажется, что это неверный подход.

Во-первых, невозможно договориться, какой именно ЯВУ использовать. Приложения кодируются и будут кодироваться на различных ЯВУ, и на горизонте пока не видно языка программирования Esperanto. Отсюда следует необходимость в многоязычной СУБД.

Однако есть еще одна причина, по которой открытая СУБД должна быть многоязычной. СУБД должна предоставлять доступ для различных внешних прикладных подсистем, например, Lotus 1-2-3. Такие подсистемы будут кодироваться на различных языках программирования – вот еще один аргумент в пользу многоязычности.

В результате СУБД третьего поколения будут доступны для программ, написанных на различных языках. Отсюда однозначно следует, что система типов ЯВУ не обязательно будет совпадать с системой типов СУБД. Итак, мы приходим к предложению:

Предложение 3.2: Язык "X с поддержкой стабильных данных" (для различных X) – хорошая идея. Языки будут поддерживаться над единой СУБД благодаря расширениям компилятора и (более или менее) сложной системе поддержки времени выполнения.

В интерфейсах систем второго поколения с языками программирования препроцессор использовался отчасти потому, что на ранней стадии разработчики СУБД не сотрудничали с разработчиками компиляторов.

Содержание  Назад  Вперед