ттттт. Архитектура субд. Физическая и логическая независимость
Скачать 130.69 Kb.
|
Архитектура СУБД. Физическая и логическая независимость Основная цель СУБД заключается в том, чтобы предоставить пользователю абстрактное представление данных, скрыв конкретные особенности хранения и управления данными. БД является общим ресурсом, то каждому пользователю может потребоваться свое, отличное от других представление о характеристиках информации, хранимой в БД. Другими словами, пользовательский интерфейс СУБД должен быть отделен от физического представления БД, которое требуется ЭВМ. Для удовлетворения этих потребностей структура большинства современных коммерческих СУБД в той или иной степени строится на базе, так называемой, архитектуры ANSI-SPARC. Идеи многоуровневой архитектуры СУБД были сформулированы в 1975 г. Американским национальным институтом стандартов (ANSI). В результате многократных обсуждений различных решений в 1978 г. была принята трехуровневая система организации данных, предложенная ANSI и Комитетом по планированию выпуска стандартов и технических условий (SPARC США). В соответствии с принятой концепцией предлагается выделять три уровня абстракции представления данных: внешний, концептуальный и внутренний (рисунок 1). Описание структуры данных на любом из трех уровней называется схемой данных. Идеология ANSI/SPARС не стала стандартом, но она представляет основу для понимания основных функциональных особенностей БД и СУБД. Основная цель введения трехуровневой архитектуры заключается в отделении пользовательского представления БД от физического. Другими словами, логическая структура, с которой взаимодействует пользователь, отделена от физической структуры БД, с которой взаимодействует ЭВМ. Трехуровневая архитектура БД включает в себя: Внешний уровень отражает представление конечного пользователя о конфигурации данных, на внешнем уровне задаются права доступа пользователей на взаимодействие с БД, приоритеты и т.д. (Каждый пользователь представляет реальный мир по-своему, исходя из того вида работы, которую он выполняет. Остальная часть реального мира его не интересует. Некоторые представления пользователя не являются исходными, а потому в БД их не следует сохранять, так как они могут быть вычислены, например, вместо данных о возрасте, следует внести в базу данные о дате рождения, и из них вычислять возраст. Пользователи часто работают с приложениями. Приложение видит и обрабатывает только те данные, которые необходимы именно ему. Например, системе отдела кадров нужны сведения о возрасте, домашнем адресе сотрудника, а система расчета зарплаты учитывает квалификацию работника, стаж его работы.) Описание представления данных для группы пользователей называется внешней схемой. В системе БД могут одновременно поддерживаться несколько внешних схем для различных групп пользователей. Под пользователем стоит понимать: конечного пользователя БД, проектировщика БД, администратора БД и т.д. Пользователи могут быть разбиты на группы по приоритетам и правам доступа – это означает, что для каждой пользовательской группы существует своя внешняя схема данных, свое представление, сущности, атрибуты и связи, только те, которые доступны для данной группы пользователей. Такая частичная схема БД получила название подсхема. Группа пользователей видит только те данные, которые ей необходимы или разрешили увидеть. Также определенная группа пользователей может совершать только те действия, которые ей разрешены. Концептуальный уровень представления данных отвечает за связь между внешним уровнем (пользовательским интерфейсом) и внутренним уровнем (физическим представлением данных в БД). Этот уровень предназначен для отображения внешнего уровня на внутренний, обеспечивает независимость между этими уровнями. Концептуальный уровень – это объединяющее представление данных, используемых всеми пользовательскими приложениями, работающими с данной базой. На этом уровне БД представляет собой общий взгляд пользователя на данные проектируемой базы (например, представление с точки зрения менеджера высшего уровня о данных всего предприятия). Здесь описывается: какие данные хранятся в базе, и каковы связи между ними. Этот уровень отражает логическую структуру всей базы с точки зрения администратора БД. Концептуальный уровень отражает обобщенную модель предметной области, для которой создается БД. Концептуальный уровень – это попытка представить требования к базе со стороны организации. И этот уровень не должен содержать никаких сведений о методах хранения данных. Концептуальная схема предназначена для абстрактного представления всей БД. Разработка концептуальной схемы данных называется концептуальным проектированием БД, которое включает в себя: оценку и учет потребностей пользователей, выделение для них соответствующих прав, определение нужных элементов управления и взаимодействия с БД. Концептуальная схема – это логическая структура БД. Концептуальная схема определяет логические элементы БД (сущности, атрибуты и т.д.) и способы связи между ними. У БД может быть только одна концептуальная схема данных, которая включает в себя: Сущности и их атрибуты; Связи между таблицами; Ограничения, накладываемые на данные; Семантику данных; Аспекты безопасности и целостности данных. Внутренний (физический) уровень – это представление БД со стороны СУБД, он отражает то, как СУБД и ОС воспринимают и обрабатывают данные. На этом уровне требуется, чтобы проектировщик привел свойства и ограничения концептуальной модели в соответствие с выбранной моделью реализации БД. На этом уровне описывается, как данные должны храниться в ЭВМ. Внутренний уровень предназначен для достижения оптимальной производительности и обеспечения оптимального использования дискового пространства. На этом уровне осуществляется взаимодействие СУБД с методами доступа ОС. Описание БД на физическом уровне называется внутренней схемой или схемой хранения. Внутренняя схема данных – это полное описание физической реализации БД. При помощи внутренней схемы данных осуществляется настройка СУБД. С ее помощью можно достичь оптимальной производительности СУБД и обеспечить экономное использование места на носителях информации. Внутренняя схема данных хранит следующую информацию: распределение дискового пространства для хранения данных и индексов; описание подробностей сохранения записей (с указанием реальных размеров сохраняемых элементов данных); сведения о размещении уже имеющихся записей; сведения о методах шифрования и сжатия данных. Задачей СУБД является обеспечение связи между этими уровнями, поддержание связей и проверка непротиворечивости между тремя уровнями представления данных. Устранять противоречия следует на этапе проектирования БД. Ниже внутреннего уровня находится физический уровень, который контролируется ОС, но под руководством СУБД. Физический уровень учитывает, каким образом данные будут представлены в ПК. Он обеспечивает физический взгляд на БД: дисководы, физические адреса, индексы, указатели и т. д. За этот уровень отвечают проектировщики физической БД, которые работают только с известными ОС элементами. Область их интересов: указатели, реализация последовательного распределения, способы хранения полей внутренних записей на диске. Однако функции СУБД и операционной системы на физическом уровне не вполне четко разделены и могут варьироваться от системы к системе. Целью создания трехуровневой архитектуры БД является независимость данных от уровней. Под независимостью данных нужно понимать следующее: изменения на нижних уровнях (концептуальный и внутренний уровень) в идеале никак не должны влиять на верхний уровень. Существует два типа независимости данных: логическая независимость от данных и физическая независимость от данных. Логическая независимость от данных означает защищенность внешних схем от изменений, вносимых в концептуальную схему. Вносить изменения в концептуальную схему данных означает: добавление и удаление новых сущностей (новых таблиц), добавление атрибутов (столбцов) или создание новых связей между таблицами. Все вышеперечисленные операции должны осуществляться без необходимости внесения изменений в уже существующие внешние схемы данных. Логическая независимость предполагает возможность изменения одного приложения без корректировки других приложений, работающих с этой же БД. Физическая независимость от данных означает защищенность концептуальной схемы от изменений, вносимых в схему хранения на внутреннем уровне. Под изменением внутренней схемы данных стоит понимать: изменение файловой структуры хранения данных, использование различных файловых систем, использование различных запоминающих устройств, модификация индексов и т.д. Все эти изменения никак не должны влиять на концептуальную и внешнюю схемы данных. Физическая независимость предполагает возможность переноса хранимой информации с одних носителей на другие при сохранении работоспособности всех приложений, работающих с БД. |