Технологии
баз данных |
ЛЕКЦИИ
Разработчик: доц. Бородина А.И.
1. Трехуровневая модель организации баз данных
2. Иерархические и сетевые модели данных
4.
Постреляционная, многомерная, объектно-ориентированная
и объектно-реляционная модели данных
&
1. ТРЕХУРОВНЕВАЯ МОДЕЛЬ ОРГАНИЗАЦИИ БАЗ ДАННЫХ
После того, как была выработана концепция базы данных и системы управления ее, специалисты, начиная с 1971 года, стали работать над общей архитектурой и терминологией базы данных. Вопросы, касающиеся того, как должна быть устроена база данных, были решены не сразу. В течение ряда лет велись научные исследования в этом направлении, предлагались различные способы реализации. В результате многократных обсуждений предлагаемых решений в 1978 году учеными была принята трехуровневая система организации данных, предложенная Национальным Институтом стандартизации – ANSI (American National Standards Institute) и Комитетом по планированию выпуска стандартов и технических условий – SPARC Соединенных штатов Америки. В соответствии с принятой концепцией предлагается выделять три уровня абстракции представления данных: внешний, концептуальный и внутренний (рис. 1). Хотя идеология ANSI/SPARС не стала стандартом, она представляет основу для понимания основных функциональных особенностей баз данных и систем управления базами данных (СУБД).
Рис. 1. Трехуровневая модель организации баз данных
Основное внимание в этом подходе сконцентрировано на необходимости воплощения независимости каждого уровня для изоляции программ от особенностей представления данных на более низком уровне. То есть цель этого представления – отделение пользовательского представления базы данных от ее физического представления. Фундаментальным моментом в этом подходе является выделение трех уровней абстракции, то есть трех различных уровней абстракции описания элементов данных:
§ внешний уровень – это тот, на котором представляют данные пользователи;
§ концептуальный уровень служит для отображения данных внешнего уровня на внутренний и обеспечивает необходимую независимость данных разных уровней друг от друга;
§ на внутреннем уровне данные воспринимаются СУБД и операционной системой.
Внешний уровень – это самый верхний уровень, который отражает представление конечного пользователя о конфигурации данных (более подробно о типах пользователей баз данных будет изложено в последней лекции). Каждый пользователь представляет реальный мир по-своему, исходя из того вида работы, которую он выполняет. Остальная часть реального мира его не интересует. Некоторые представления пользователя не являются исходными, а потому в базе данных их не следует сохранять, так как они могут быть вычислены, например, вместо данных о возрасте, которые надо часто менять, следует внести в базу данные о дате рождения, и из них вычислять возраст.
Конечные пользователи часто оперируют с приложениями. Каждое приложение видит и обрабатывает только те данные, которые необходимы именно ему. Например, системе отдела кадров нужны сведения о возрасте, домашнем адресе сотрудника, а система расчета зарплаты учитывает квалификацию работника, стаж его работы.
Концептуальный уровень – это объединяющее представление данных, используемых всеми пользовательскими приложениями, работающими с данной базой. На этом уровне база данных представляет собой общий взгляд пользователя на данные проектируемой базы. Это, например, представление с точки зрения менеджера высшего уровня о данных всего предприятия. Здесь описывается: какие данные хранятся в базе, и каковы связи между ними. Этот уровень отражает логическую структуру всей базы с точки зрения администратора базы данных. В действительности концептуальный уровень отражает обобщенную модель предметной области (объектов реального мира), для которой создается база данных.
Концептуальный уровень – это попытка представить требования к базе со стороны организации. И этот уровень не должен содержать никаких сведений о методах хранения данных. Здесь должны быть отражены:
§ все сущности, включаемые в базу, их атрибуты и связи;
§ накладываемые на данные ограничения;
§ семантическая информация о данных;
§ информация о мерах обеспечения безопасности и поддержки целостности данных.
База данных на концептуальном уровне имеет высокую степень абстракции и характеризуется аппаратной и программной независимостью. Создаваемая на этом уровне концептуальная модель служит основой для идентификации и описания основных объектов данных.
Внутренний уровень служит для адаптации концептуальной модели к конкретной СУБД. Другими словами, внутренняя уровень – это представление базы данных со стороны СУБД, и на этом уровне описывается, как данные должны храниться в компьютере. А потому на этом уровне требуется, чтобы проектировщик привел свойства и ограничения концептуальной модели в соответствие с выбранной моделью реализации базы данных. Внутренний уровень предназначен для достижения оптимальной производительности и обеспечения оптимального использования дискового пространства. На этом уровне осуществляется взаимодействие СУБД с методами доступа операционной системы. Здесь хранится такая информация:
§ распределение дискового пространства для хранения данных и индексов;
§ описание подробностей хранения данных;
§ сведения о размещении записей;
§ сведения о сжатии данных и методах их шифрования.
База данных, создаваемая на этом уровне, имеет средний уровень абстракции и характеризуется аппаратной независимостью и программной зависимостью, то есть она зависит от программного обеспечения базы данных. А потому любые изменения в программном обеспечении СУБД потребуют изменений во внутренней модели, для того чтобы она соответствовала требованиям СУБД.
В действительности ниже внутреннего уровня находится еще уровень физического представления данных, то есть физический уровень, на котором описываются способы хранения информации на носителях, например, на винчестерах. Другими словами, физический уровень – это собственно данные, хранящиеся на внешних носителях информации и расположенные в файлах или страничных структурах. Этот уровень контролируется операционной системой, но под управлением СУБД. Здесь требуется определить, как устройства физического хранения, так и методы доступа, необходимые для извлечения данных с физического носителя. База данных, создаваемая на этом уровне, имеет самый низкий уровень абстракции и характеризуется аппаратной и программной зависимостью.
Предложенная архитектура позволяет обеспечить логическую и физическую независимость при работе с данными. Логическая независимость предполагает возможность изменения одного приложения без корректировки других, работающих с этой же базой данных. А физическая независимость предполагает возможность переноса хранимой информации с одних носителей на другие при сохранении работоспособности всех приложений, работающих с конкретной базой. Логическая независимость устанавливается между 1 и 2 уровнями, а физическая между 2 и 3. Именно этого не хватало при использовании файловых систем.
В соответствии с трехуровневой архитектурой существует три различных типа схем базы данных. На самом высоком уровне имеется несколько внешних схем данных, которые соответствуют разным представлениям пользователей. На концептуальном уровне описываются все элементы и связи между ними. Для каждой базы данных имеется только одна концептуальная схема. Внутренняя схема является полным описанием данных внутреннего уровня и содержит определение хранимых записей: методы представления, описание полей данных, сведения об индексах и схемах хеширования данных. СУБД отвечает за установление соответствия между этими тремя типами схем, а также за проверку их непротиворечивости.
© Минск
БГЭУ, |