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

       

Модель "объект - качество".


Евгений Григорьев. ()

Основная цель этой статьи - показать призрачность проблемы "объекты или отношения" являющейся одним из основных вопросов моделирования данных. Автор основывается на том, что информация, возникающая в процессе познания окружающего мира, обладает вполне определенной структурой. Ее анализ приводит к модели, позволяющей описывать данные одновременно и как множество отношений и как множество объектов.

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

Первая группа отрицает существования такого решения. К ней относятся системы, авторы которых утверждают, что реляционная модель данных, как основа построения систем хранения информации, исчерпала себя и ее необходимо заменять чем-то более совершенным, причем под этим "совершенным" обычно подразумеваются так называемая "объектная модель", точнее разнообразные "объектные модели". Первая проблема, возникающая на этом пути, заключается в том, что общепринятый теоретический базис (подобный теории реляционных баз данных) для построения объектных систем пока отсутствует; более того, все чаще звучит мысль о том, что такая теория не может быть создана. Многочисленные "объектные модели" на деле оборачивается различными вариантами (более или менее формализованными) одного и того же набора принципов - идентификация объектов, инкапсуляция, наследование, полиморфизм и т.д. - совокупность которых можно назвать объектной концепцией. Вторая проблема (точнее множество проблем) возникает, когда эти принципы пытаются реализовать в системах хранения информации, для которых основными требованиями являются доступность данных и их эффективная обработка.
Реляционные системы по- прежнему остается примером для подражания, поскольку они основаны на общепризнанной и математически строгой реляционной модели, особенности которой во многом обуславливают существующие в этих системах возможности эффективной обработки информации.

Во вторую группу входят всякого рода "расширения реляционной модели". Реляционную модель пытаются "расширить" во-первых, за счет неполной нормализации, а во-вторых, за счет введения в систему уникальных идентификаторов записей. На самом же деле такого рода "расширения" противоречат основным идеям, лежащим в основе реляционной модели, и приводят к возникновению систем, которые трудно назвать объектными или реляционными - скорее всего это ни то и ни другое.

И, наконец, третья группа. Идея, положенная в его основу в свое время высказывалась Румбахом и была впоследствии развита Дейтом. Она основывается на том факте, что домены, существующее в реляционной модели данных, могут рассматриваться как объектные классы. Дейт утверждает, что "в реляционной модели не существует ничто, что может ограничить скалярные значения, существующие в доменах, … простыми формами. … эти скалярные значения могут быть настолько сложными насколько мы пожелаем". Дейт говорит об ортогональности реляционной модели и объектного подхода. Важно понимать, что ортогональность в данном случае означает не столько то, что по ряду причин невозможно смешать реляционную модель и объектный подход (так как это пытаются сделать авторы систем, входящих во вторую группу) - гораздо более важно то, что этого вообще не нужно делать.

Этот подход выглядит наиболее логичным. И все же в нем существует противоречие, которое не позволяет считать его полностью верным. Вот цитата того же Дейта "…фундаментальный принцип реляционной модели… можно сформулировать следующим образом - вся информация в базе данных должна быть явно представлена в терминах отношений и никак иначе". Сразу же возникает вопрос - каким же образом будет сохраняться в такой базе данных информация о некотором произвольно сложном (т.е.ненормализованном) значении? Подход, предлагаемый Дейтом, не дает на него ответа.

Модель "объект-качество", предлагаемая в этой статье, также основывается на ортогональности объектного подхода и реляционной модели. Ее можно рассматривать как Она позволяет описать данные в виде сложных идентифицируемых объектов и определяет переход от объектного представления этих данных к их реляционному хранению.

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


Содержание раздела