23.10. Архитектура системы базы данных

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

Информационная   архитектура  системы  базы  данных   характеризует поддерживаемые в системе представления ее информационных  ресурсов, материализованные  и  виртуальные, их  свойства  и  взаимосвязи,  в частности,    отображения    между    различными    представлениями информационных ресурсов.

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

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

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

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

Концепции  многоуровневой информационной архитектуры стали  основой современной   технологии  баз  данных.   Эти   идеи    связывают   с опубликованным  в 1975 г. отчетом рабочей группы  по  базам  данных ANSI/X3/SPARC  (Комитета  по планированию стандартов  Американского национального     института  стандартов).  В   данном    отчете   была предложена    обобщенная   трехуровневая   модель    информационной архитектуры   системы   базы  данных,  включающая   концептуальный, внутренний  и  внешний  уровни. Такая модель описывает  архитектуру любой  системы базы данных с той лишь оговоркой, что какие-либо  ее компоненты  или  функции в конкретной СУБД могут иметь  вырожденный характер.

        Концептуальный  уровень архитектуры ANSI/X3/SPARC  служит  для поддержки  единого  "взгляда" на базу данных, общего  для  всех  ее приложений  и  в  этом смысле независимого от них. Именно  в  среду концептуального уровня при проектировании базы данных  отображается концептуальная модель предметной области. Представление базы данных на  концептуальном уровне системы описывается концептуальной схемой базы данных.

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

"материализованном"  виде. Описание представления  базы  данных  на внутреннем  уровне  архитектуры называется  внутренней  схемой  или схемой хранения.

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

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

Очевидно,  что в предлагаемой архитектурной модели  необходимо поддерживать  соответствие  между представлениями  базы  данных  на смежных   уровнях  архитектуры  системы  базы  данных.   В   модели ANSI/X3/SPARC  для  этой  цели  служат  механизмы  междууровневого отображения  данных "внешний - концептуальный" и "концептуальный  ­внутренний". Именно эти механизмы обеспечивают абстракцию данных  в системе,  определяют  достижимую в  системе  степень  независимости данных.