D3 Server 7.0 - постреляционная современная система управления базами данных, рожденная в недрах компании Pick Systems. Pick известна как производитель весьма нетрадиционной операционной системы с одноименным названием.


Многомерная модель данных
Словари данных
Язык запросов
Разработка приложений
Вместо резюме

Фирма Pick Systems вот уже много лет использует многомерную модель хранения данных, которая только начинает осваиваться другими компаниями. Кроме того, ее самый известный продукт - СУБД Pick D3 Server - прошел многолетнюю школу совершенствования и преобразования из одного пакета в другой, пока не стал тем, чем является в настоящий момент. С появлением версии СУБД D3 Server 7.0 для операционных систем Windows 95 и Windows NT, перед ней открылся совершенно новый рынок PC-платформ.

Многомерная модель данных

Для хранения данных СУБД D3 Server применяется многомерная модель данных, выходящая по своим возможностям за рамки двумерной модели, используемой во многих коммерческих пакетах, предназначенных для хранения данных и управления ими.

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

Словари данных

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

Язык запросов

Для запросов в D3 можно применять несколько инструментов: стандартный SQL, рекомендованный ANSI, собственный язык запросов Access Query Language (AQL) и, само собой разумеется, Microsoft ODBC. Если ANSI, SQL и интерфейс ODBC ориентированы на работу с двумерной моделью данных, то AQL пакета D3 использует все преимущества многомерной структуры этой СУБД, причем сложность трехмерной модели хранения остается скрытой от пользователя. Предложения AQL во многом схожи с аналогичными предложениями SQL. Команды на языке AQL весьма похожи на естественный язык. Когда пользователи вводят команды AQL для выполнения запроса или генерации отчета, они используют формулы и взаимосвязи, установленные в словаре данных D3.

В общем, AQL очень мощный язык. Применяя его, можно сортировать данные по возрастанию и убыванию, осуществлять поиск, отбор, генерацию итогов, подытогов, форматирование полей ввода и создание резюме. Более того, даже отпадает необходимость в процедурном программировании для добавления новых представлений в базу данных.

Разработка приложений

СУБД D3 обладает своей собственной средой разработки, из которой программист волен обращаться к многочисленным инструментальным составляющим: языку системных команд, поддерживающему обновление и выборку данных на высоком уровне; средству создания словарей и меню; библиотекам подпрограмм; управляющим элементам OLE (OCX), служащим интерфесом для обращения в D3 из Visual Basic; хранимым процедурам, макроопределениям; редактору; отладчику и т.д.

В качестве командной оболочки D3 применяется язык TCL, позволяющий взаимодействовать с оборудованием, установленным в среде D3: терминалами, накопителями и дисководами. С помощью TCL легко инициировать выполнение любой пользовательской процедуры, запустить более 200 системных утилит, меню и системных процедур. Словарь команд, которые доступны пользователю благодаря TCL, хранится в главном словаре или в другом месте, указываемом специальной переменной оболочки.

TCL включает в себя интерактивный стек команд. Если стек TCL активен, то в него заносятся все команды, набранные пользователем. Команды из стека можно быстро выбрать, модифицировать и повторить. Для каждого пользователя выделяется свой собственный стек, который будет "следовать" за пользователем независимо от того, на каком терминале этот пользователь работает. Это означает отсутствие привязки стека к оборудованию.

Из команд TCL и AQL можно формировать макросы, существенно напоминающие командные файлы DOS и запускаемые из TCL. Создаются макросы любым редактором текста в главном словаре. Если ввести команду create-macro, то будет создан макрос, содержащий последнюю команду, введенную с уровня TCL.

Когда необходимо организовать компоненты прикладной системы D3, можно воспользоваться удобным генератором меню. Он, что называется, "сложит" в меню команды TCL и макросы. Процессор автоматически формирует меню на экране и просит пользователя ввести номер одной из опций меню. Система помощи выведет текст, комментирующий опцию меню, если вместе с номером опции вывести знак вопроса.

СУБД D3 оснащена библиотекой управляющих элементов VBX и OCX. Эти элементы могут быть использованы в качестве промежуточного слоя при организации доступа к данным D3 с помощью языка ODBC из программ, написанных на Visual Basic. Такой метод позволяет обмениваться данными с D3 приложениям, выполняемым как в среде 16-битовых (Windows 3.11), так и 32-битовых пакетов (Windows 95, Windows NT).

Однако главной заслугой фирмы Pick Systems следует считать создание интерфейса программирования (API) для Windows, в точности повторяющего аналогичный интерфейс из UNIX. Как и управляющие элементы VBX и OCX, интерфейс API позволяет получать данные, хранящиеся в D3, из любой среды разработки, умеющей загружать динамические библиотеки DLL, например из популярных пакетов Borland Delphi и Sybase PowerBuilder.

Для связи приложений клиентов и серверов D3 используется бесплатный стек TCP/IP от Microsoft (хотя может быть использован любой другой стек TCP/IP для Winsock API). Контакт между клиентом и сервером поддерживают программы установления соединений. Воспользовавшись этим, можно принимать данные из нескольких серверов.

Одним из наиболее мощных средств создания приложений в D3 является расширенный язык программирования FlashBASIC. Он гибок, поддерживает управление базами данных и имеет множество полезных функций, обеспечивающих работу с многомерными данными D3. Язык имеет свой символьный отладчик, обладающий такими необходимыми возможностями, как прогон до указанной строки; пошаговый проход по программе; установка жестких точек останова и точек останова, срабатывающих по заданному условию; просмотр и изменение переменных и просмотр стека вызовов.

Вместо резюме

СУБД D3 Server 7.0 - это мощная и надежная масштабируемая система управления многомерными данными, одинаково хорошо работающая как на платформах UNIX, так и на Windows. Мощь D3 Server такова, что она способна обслуживать тысячи пользователей, работающих на сетевых персональных компьютерах и асинхронных терминалах. Файлы и записи в D3 могут быть любого размера, что открывает практически неограниченные возможности при хранении данных. Масса утилит для программирования и управления существенно облегчают работу с D3.


Если вас заинтересовал этот продукт, вы можете обратиться в Ассоциацию пользователей ОС Pick, располагающуюся по адресу: Москва, ул. Профсоюзная, д. 65, или позвонить по телефонам (095) 334-87-09 и (095) 334-93-71.