Выбрать главу

Мы уже рассмотрели реляционные и навигационные БД, но ни те, ни другие не были признаны нами в качестве средства хранения данных, отвечающего потребностям ИАР и сущности системного подхода (это не значит, что они вообще не могут быть эффективно использованы при ведении ИАР). Еще одной парадигмой построения баз данных, наследующей свойства навигационных баз данных, является парадигма объектных баз данных. Парадигма объектных баз данных по своей сути близка идеологии имитационного моделирования: для описания объектов учета такие БД используют комплекс компонент описания, обеспечивающий учет не только атрибутов объекта, но и системных связей, их параметров, правил комбинирования, проверки допустимости значений и так далее. В классическом варианте объектных БД объекты идентифицируются по именному принципу, их свойства определяются набором общих (свойственных родительскому классу) и частных (свойственных данному экземпляру объекта или производному классу) характеристик. Чрезвычайно полезными механизмами, введенными в модель объектных БД, являются механизмы наследования и переопределения свойств объектов и классов. Чтобы проиллюстрировать этот механизм, приведем следующие утверждения в «объектном стиле»: «Книга — есть документ, отличающийся тем, что носитель символьных данных объединен в блок. Свиток — есть документ, отличающийся тем, что носитель символьных данных представляет собой скрученную в рулон широкую ленту». Как видим, понятия введены на основе использования ранее введенных понятий-классов верхнего уровня «документ» и «носитель символьных данных», за счет чего упрощено описание производных понятий (а термины и понятия, естественно, могут выступать в роли объектов хранения).

Своим бурным развитием объектные базы данных обязаны человеческой лени (как двигателю прогресса), системному анализу, языку программирования Си и, в первую очередь — системам автоматизированного проектирования, использовавших такие способы описания для представления информации об элементной базе проектирования (микросхемах, транзисторах и т. д.). Свойства таких элементов было удобно описывать с применением методов наследования и переопределения свойств и техники стратификации: отдельно — логические функции элемента, отдельно — описание габаритных параметров, отдельно — временные и частотные характеристики, отдельно — параметры входных и выходных сигналов (уровни нуля и единицы, амплитудно-частотная характеристика и т. д.). В результате комбинирования элементов, описанных таким образом, еще на стадии разработки устройства выявляются грубые ошибки проектировщика, смоделированы и рассмотрены эпюры сигналов в контрольных точках и так далее. По существу одновременно с проектированием устройства синтезировалась имитационная модель проектируемого устройства. Естественно, что как бы ни была многообразна элементная база, используемая для разработки электронных устройств, количество уникальных имен было конечным, а задача идентификации конкретного элемента могла решаться, например, по реализуемой им логической функции, что не требовало высокого развития логического аппарата поиска данных.

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

Еще одним полезным свойством объектных технологий является то, что данные, описывающие объект учета, могут быть сопровождены и информацией об интерфейсе их представления. Например, в качестве одного из атрибутов при описании микросхемы в системах автоматизированного проектирования (САПР) использовалось описание ее графического начертания. Однако это было только начало, поскольку метод отображения начертания был реализован в оболочке САПР. Позже, за счет унификации языков программирования и графических интерфейсов операционных систем, стало возможным и совместное хранение данных с описаниями методов их отображения и обработки. Это позволяет при получении исполнительной системой комбинированного блока данных и формализованных описаний алгоритмов их обработки, воспользоваться теми процедурами, которые позволяют корректно обрабатывать и отображать именно этот экземпляр или класс данных. То есть, на момент получения данных их потребитель может в принципе не располагать методами и программами обработки данного класса данных, а все изменения в методах обработки данных, автоматически станут доступны их потребителям. Такая идеология рассматривается как наиболее перспективная, в ее русле разработаны языки гипертекстовой разметки SGML, XML, HTML, MathML, языки программирования Java Script, Java и ряд иных языков программирования и управления представлением данных, разработанных в последние годы.