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.