Развивается новая технология доступа к данным – Intranet. Основное отличие этой технологии от технологии клиент-сервер заключается в том, что отпадает необходимость разработки специального клиентского программного обеспечения. Для работы с удаленной БД используется стандартный браузер Интернета. При этом встроенный в загружаемые пользователем HTML-страницы код, написанный обычно на языке Java, Java-script, Perl и других языках, отслеживает все действия пользователя и транслирует их в низкоуровневые SQL-запросы к БД, выполняя, таким образом, ту работу, которую в технологии клиент-сервер выполняет клиентская программа. Удобство данного подхода привело к тому, что он стал использоваться не только для удаленного доступа к базе данных, но и для локальной сети предприятий. Простые задачи обработки данных, не связанные со сложными алгоритмами, которые требовали бы согласованного изменения данных во многих взаимосвязанных объектах, достаточно просто и эффективно могут быть реализованы в данной архитектуре.
Основная цель системы управления БД заключается в том, чтобы предоставить пользователю абстрактное представление данных, скрыв конкретные особенности хранения и управления данными. Следовательно, отправной точкой при проектировании БД должно быть общее описание информационных потребностей организации, которые должны найти отражение в создаваемой БД.
Кроме того, поскольку БД является общим ресурсом, то каждому пользователю может потребоваться свое, отличное от других представление о характеристиках информации, представленной в БД. Для удовлетворения этих потребностей структура большинства современных коммерческих СУБД в той или иной степени строится на базе так называемой архитектуры ANSI-SPARC.
Архитектура ANSI-SPARC (см.рис.1) представляет собой 3 уровня описания элементов данных – внешний, концептуальный и внутренний. Цель трехуровневой архитектуры заключается в отделении пользовательского представления БД от ее физического представления.
Внешний уровень – представление данных с точки зрения пользователей. Он состоит из нескольких различных внешних представлений БД.
Каждый пользователь имеет дело с представлением “реального мира” в наиболее удобной для него форме. Внешнее представление данного пользователя содержит только те сущности, атрибуты и связи, которые ему интересны. Он может ничего не знать о других сущностях, содержащихся в базе. Кроме того, различные представления могут по-разному отображать одни и те же данные (например, форматы дат). Некоторые представления могут содержать производные или вычисляемые данные, которые не хранятся в БД, а создаются по мере надобности.
Концептуальный уровень – обобщающее представление БД. Описывает то, какие данные содержатся в БД, а также связи между ними. Этот уровень содержит логическую структуру БД с точки зрения администратора БД. На концептуальном уровне представлены следующие компоненты:
· все сущности, их атрибуты и связи;
· ограничения, накладываемые на данные;
· семантическая информация о данных;
· информация о мерах обеспечения безопасности и поддержки целостности данных.
Концептуальный уровень поддерживает каждое внешнее представление. Однако этот уровень не содержит никаких сведений о методах хранения данных. Например, описание сущности должно содержать сведения о типах данных, их длине или максимальном количестве символов, но не должно содержать сведений об организации хранения, например об объеме пространства, в байтах.
Внутренний уровень. Физическое представление БД в памяти компьютера. Этот уровень описывает, как информация хранится в базе данных. Он содержит описание структур данных и организации отдельных файлов, используемых для хранения данных на запоминающих устройствах. На этом уровне осуществляется взаимодействие СУБД с методами доступа ОС. На внутреннем уровне хранится следующая информация:
· распределение дискового пространства для хранения данных и индексов.
· сведения о размещении записей.
· сведения о сжатии данных и выбранных методах их шифрования.
Эта архитектура позволяет обеспечить логическую и физическую независимость при работе с данными. Логическая независимость предполагает возможность изменения одного приложения без корректировки других приложений, работающих с этой же БД. Физическая независимость предполагает возможность переноса хранимой информации с одних носителей на другие при сохранении работоспособности всех приложений, работающих с этими данными.