Принципы физической и логической независимости уровней.
Конспект лекций
по дисциплине «Построение СУБД»
Волгоград 2015
Рекомендуемая литература
1. Цаленко М.Ш. Моделирование семантики в базах данных. -М.:Наука. Глред.физ-мат. лит, 1989г - 288с.
2. Карпова Т.С. Базы данных: модели, разработка, реализация. Учебник.-СПб.: Питер, 2001.
3. Гарсиа-Молина Г., Ульман Дж., Уидом Дж. Системы баз данных. – М.: Вильямс, 2003.
4. Горев А., Ахаян Р., Макашарипов С. Эффективная работа с СУБД. – СПб.: «Питер», 2006.
5. Дейт К.Дж., Дарвен Х. Основы будущих систем баз данных. Третий манифест. – М.: «Янус-К», 2004.
6. Кренке Д. Теория и проектирование баз данных. – С.-Пб.: «Питер», 2005.
7. Осипов Д. Л. Базы данных и Delphi: теория и практика. - СПб.: БХВ-Петербург, 2011.
8. Советов Б. Я.Базы данных: теория и практика. - М.: Высш. шк., 2007.
9. Фаулер М. UML. Основы. Краткое руководство по стандартному языку объектного моделирования. – СПб.: «Символ-Плюс», 2011.
10. Кузин А. В., Левонисова С.В. Базы данных: учеб. пособие. - М. : Академия, 2008.
11. Мюллер Роберт Дж. Базы данных и UML. Проектирование. - М.: «Лори», 2002.
12. INTUIT [Электронный ресурс].- 2015.- Режим доступа: http://www.intuit.ru /studies/courses/1001/297/lecture/7399
13.Лекции Модели данных [Электронный ресурс].- 2015.- Режим доступа http://www.bseu.by/it/tohod/lekcii2.htm
ОСНОВНЫЕ СВЕДЕНИЯ
Архитектура БД.
Принципы физической и логической независимости уровней.
В начале 70-х годов 20-го века была осознана необходимость автономной реализации функций СУБД, и усилия были направлены на разработку такой организации данных в памяти ЭВМ, которая обеспечивала бы поиск, неизбыточность, непротиворечивость.
Американским национальным Институтом стандартизации – ANSI (American National Standards Institute) и Комитетом по планированию выпуска стандартов и технических условий – SPARC Соединенных штатов Америки в 1978 году была принята трехуровневая система организации данных. В соответствии с ней предлагается выделять три уровня абстракции представления данных:
· внешний,
· концептуальный,
· внутренний.
Хотя идеология ANSI/SPARС не стала стандартом, она представляет основу для понимания основных функциональных особенностей баз данных и систем управления базами данных (СУБД).
Рисунок 1Трехуровневая модель организации баз данных
Внешний уровень (по отношению к СУБД) – это самый верхний уровень, который отражает представление конечного пользователя о конфигурации данных.
Конечные пользователи часто оперируют с приложениями. Каждое приложение (например, 1С: Предприятие) видит и обрабатывает только те данные, которые необходимы именно ему. Например, системе отдела кадров нужны сведения о возрасте, домашнем адресе сотрудника, а система расчета зарплаты учитывает квалификацию работника, стаж его работы. Так например, некоторые представления пользователя не являются исходными, а потому в базе данных их не следует сохранять, так как они могут быть вычислены, например, вместо данных о возрасте, которые надо часто менять, следует внести в базу данные о дате рождения, и из них вычислять возраст.
Концептуальный уровень – это единое представление данных, используемых всеми пользовательскими приложениями (моделями внешнего уровня), работающими с данной базой.
Концептуальный уровень отражает обобщенную модель предметной области (объектов реального мира), для которой создается база данных. Этот уровень не должен содержать никаких сведений о методах хранения данных. Здесь должны быть отражены:
· все сущности, включаемые в базу, их атрибуты и связи;
· накладываемые на данные ограничения;
· семантическая информация о данных;
· информация о мерах обеспечения безопасности и поддержки целостности данных.
База данных на концептуальном уровне имеет высокую степень абстракции и характеризуется аппаратной и программной независимостью. Именно высокая степень абстракции концептуального уровня позволила разработать универсальные механизмы работы с БД, например, язык SQL.
По отношению к моделям концептуального уровня внешние модели называются подсхемами и используют те же абстрактные категории, что и концептуальные модели данных, т.е. каждое из приложений обращается только к своим таблицам, и использует часть схемы - подсхему.
Внутренний уровеньслужит для адаптации концептуальной модели к конкретной СУБД.
На этом уровне описывается, как данные должны храниться в компьютере.Внутренний уровень (т.е.как внутри устроена СУБД) предназначен для достижения оптимальной производительности и обеспечения оптимального использования дискового пространства.
На этом уровне осуществляется взаимодействие СУБД с методами доступа операционной системы. Здесь хранится информация:
· распределение дискового пространства для хранения данных и индексов;
· описание подробностей хранения данных;
· сведения о размещении записей;
· сведения о сжатии данных и методах их шифрования.
База данных, создаваемая на этом уровне, имеет средний уровень абстракции и характеризуется
· аппаратной независимостью;
· программной зависимостью.
Любые изменения в программном обеспечении СУБД потребуют изменений во внутренней модели, для того чтобы она соответствовала требованиям СУБД.
В действительности ниже внутреннего уровня находится еще уровень физического представления данных, то есть физический уровень, на котором описываются способы хранения информации на носителях, например, на винчестерах. Другими словами, физический уровень – это собственно данные, хранящиеся на внешних носителях информации и расположенные в файлах или страничных структурах. Этот уровень контролируется операционной системой, но под управлением СУБД.
Здесь требуется определить, как устройства физического хранения, так и методы доступа, необходимые для извлечения данных с физического носителя. База данных, создаваемая на этом уровне, имеет самый низкий уровень абстракции и характеризуется аппаратной и программной зависимостью.
Архитектура ANSI/SPARС позволяет обеспечить логическую и физическую независимость при работе с данными.
Логическая независимость предполагает возможность изменения одного приложения без корректировки других, работающих с этой же базой данных. Действительно, одно и тоже приложение, часто может взаимодействовать с различными СУБД (SQL серверами).
Физическая независимость предполагает возможность переноса хранимой информации с одних носителей на другие при сохранении работоспособности всех приложений, работающих с конкретной базой ( не важно, какой тип винчестера установлен на ЭВМ, и какая файловая система на нем размечена).
Логическая независимость устанавливается между 1 и 2 уровнями, а физическая между 2 и 3. Именно этого не хватало при использовании файловых систем.
________________
В соответствии с трехуровневой архитектурой существует три различных типа схем базы данных.
На самом высоком уровне имеется несколько внешних схем данных, которые соответствуют разным представлениям пользователей (например, администратор БД, разработчик БД и т.д).
На концептуальном уровне описываются все элементы и связи между ними. Для каждой базы данных имеется только одна концептуальная схема (какие таблицы БД и связи между ними).
Внутренняя схема является полным описанием данных внутреннего уровня и содержит определение хранимых записей: методы представления, описание полей данных, сведения об индексах и схемах хеширования данных.
СУБД отвечает за установление соответствия между этими тремя типами схем, а также за проверку их непротиворечивости. Все три схемы вместе образуют базу метаданных.