Технологии баз данных
и знаний


ЛЕКЦИИ

Лекция на тему

МОДЕЛИ ДАННЫХ

Разработчик: доц. Бородина А.И.

 

План лекции

1. Трехуровневая модель организации баз данных

2. Иерархические и сетевые модели данных

3. Реляционная модель данных

4. Постреляционная, многомерная, объектно-ориентированная
и объектно-реляционная модели данных

Литература

Глоссарий

 

&

 

1. ТРЕХУРОВНЕВАЯ МОДЕЛЬ ОРГАНИЗАЦИИ БАЗ ДАННЫХ

 После того, как была выработана концепция базы данных и системы управления ее, специалисты, начиная с 1971 года,  стали работать над общей архитектурой и терминологией  базы данных. Вопросы, касающиеся того, как должна быть устроена база данных, были решены не сразу. В течение ряда лет велись научные исследования в этом направлении, предлагались различные способы реализации. В результате многократных обсуждений предлагаемых решений в 1978 году учеными была принята трехуровневая система организации данных, предложенная Национальным Институтом стандартизации – ANSI (American National Standards Institute) и Комитетом по планированию выпуска стандартов и технических условий – SPARC Соединенных штатов Америки. В соответствии с принятой концепцией предлагается выделять  три уровня абстракции представления данных: внешний, концептуальный и внутренний (рис. 1). Хотя идеология ANSI/SPARС не стала стандартом, она представляет основу для понимания основных  функциональных особенностей баз данных и систем управления базами данных (СУБД). 

 

 

 Рис. 1.  Трехуровневая модель организации баз  данных

 

Основное внимание в этом подходе сконцентрировано на необходимости воплощения независимости каждого уровня для изоляции программ от особенностей представления данных на более низком уровне. То есть цель этого представления – отделение пользовательского представления базы данных от ее физического представления. Фундаментальным моментом в этом подходе является выделение трех уровней абстракции, то есть трех различных уровней абстракции описания элементов данных:

§ внешний уровень – это тот, на котором представляют данные пользователи;

§ концептуальный уровень  служит для отображения данных внешнего уровня на внутренний и  обеспечивает  необходимую независимость данных разных уровней друг от друга;

§ на внутреннем уровне  данные воспринимаются СУБД и операционной системой.

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

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

Концептуальный уровень – это объединяющее представление данных, используемых всеми пользовательскими приложениями, работающими с данной базой.  На этом уровне база данных представляет собой общий взгляд пользователя на данные проектируемой базы.  Это, например, представление с точки зрения менеджера высшего уровня о данных всего предприятия. Здесь описывается: какие данные хранятся в базе, и каковы связи между ними. Этот уровень отражает  логическую структуру всей базы с точки зрения администратора базы данных.  В действительности концептуальный уровень отражает обобщенную модель предметной области (объектов реального мира), для которой создается база данных.

Концептуальный уровень – это попытка представить требования к базе со стороны организации. И этот уровень не должен содержать никаких сведений о методах хранения данных. Здесь должны быть отражены:

§ все сущности, включаемые в базу,  их атрибуты и связи;

§ накладываемые на данные ограничения;

§ семантическая информация о данных;

§ информация о мерах обеспечения безопасности и поддержки целостности данных.

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

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

§ распределение дискового пространства для хранения данных и индексов;

§ описание подробностей хранения данных;

§ сведения о размещении записей;

§ сведения о сжатии данных и методах их шифрования.

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

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

Предложенная архитектура позволяет обеспечить логическую и физическую независимость при работе с данными. Логическая независимость предполагает возможность изменения одного приложения без корректировки других, работающих с этой же базой данных. А физическая независимость предполагает возможность  переноса хранимой информации с одних носителей на другие при сохранении работоспособности всех приложений, работающих с конкретной базой. Логическая независимость устанавливается между 1 и 2  уровнями, а физическая между 2 и 3. Именно этого не хватало при использовании файловых систем.

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

 

 


© Минск БГЭУ,
2005 - 201
9