Архитектура системы баз данных. Под архитектурой системы понимают совокупность ее основных функциональных компонентов, а также средств обеспечения их взаимодействия друг с другом пользователями и системным персоналом. Одно из наиболее важных функций систем баз данных, оказавших решающее влияние на формирование сложившегося в наши дни подхода к архитектуре является обеспечение возможностей абстракции данных. Абстракции данных, предоставляемые системой служат средством поддержки независимости способ ведения БД различными группами пользователей (это свойство системы называется независимостью данных). В системах обычно имеют дело с уровнями абстракции и часто эти уровни выстраиваются в некоторую иерархию. Функциональны компонент системы, механизмы которого служат для поддержки некоторого уровня абстракции называется архитектурным уровнем. В результате простейшего анализа в системе можно выделить 2 основных уровня абстракции: логический и физический. Понятно, что введение каждого дополнительного уровня существенно усложняет реализации и эксплуатацию системы и снижает ее производительность, но часто дополнительные уровни необходимы что бы обеспечить:
1. адекватные способы видения системы для различных групп персонала
2. создать инструментарий, удовлетворяющий потребностям пользователей
3. представить систему в привычных для конкретной группы пользователей терминов
4. изменять некоторые характеристики системы, не затрагивая других.
Любой архитектурный уровень располагает внутренними и (возможно, внешними интерфейсами). Интерфейс называется внутренним, если он обеспечивает взаимодействие механизмов данного уровня с другими системными компонентами. Интерфейс называется внешним, если он обеспечивает взаимодействие механизмов данного уровня с пользователями и системным персоналом. Архитектурный уровень называется управляемый (неуправляемый), если он располагает (не располагает) внешним интерфейсом. Концепция многоуровневой архитектуры служит основой современной технологии создания БД. Первой научной работой, содержащей идеи многоуровневой архитектуры считается опубликованный в 1975 году отчет рабочей группы по базе данных комитета по планированию стандартов американского национально института стандартов. В отчете была предложена следующая обобщенная трехуровневая модель архитектуры.
Внешняя модель описывается с помощью внешней схемы. Одни и теже данные могут интересовать с совершенно разных точек зрения. Например, завхоза данные о стульях интересуют с точки зрениях их исправности, а бухгалтера с точки зрениях стоимости. Соответственно различные точки зрения на данные порождают различные языки и внешние модели. 1 язык может «обслуживать несколько моделей» и одной модели может соответствовать несколько языков, поэтому на схеме предметных областей не столько же, сколько внешних моделей.
Концептуальный уровень служит для поддержки единого взгляда на единую базу данных и общего для всех его приложений. Концептуальная схема описывает совокупность всех записей. Третий уровень – внутренний (физический), его механизмы служат для поддержки представления о БД в среде хранения. Это единственны архитектурный уровень, в котором БД представлена в полностью материализованном виде. Отображение концепутально-внутреннее определяет соответствие между моделью данных и хранимой базой данных, т.е. указывает как концептуальные записи и поля отображаются в их реальной копии. Если структура хранения БД изменится, то отображении концепутально-внутреннее должно измениться так, что концептуальная схема оставалась неизменной (это ответственность администратора). Отображение внешнее концептуальное определяет соответствие между конкретной внешней моделью и моделью данных, различные внешние модели могут и пересекаться.
Типичная алгоритм управления в управлениях данной схемы:
1. Пользователь выдает запрос на доступ, используя конкретный подъязык данных.
2. СУБД воспринимает запрос и интерпретирует его
3. СУБД обследует по очереди внешнюю схему, отображение внешне-концепутальное, концепутальную схему, отображение концептуально-внутреннее и определяет структуру хранения
4. СУБД выполняет необходимые операции над хранимой БД
Построение БД по этой схеме, предполагает, что интерфейс пользователя является границей, за которой пользователь ничего не видит. В частности одним из признаков хорошей базы данных написанной в АКСЦЕСС является то, что все свои задачи пользователь решает только через формы и не обращается к конструкторам.