Сравнение моделей данных

 

Достоинство реляционной модели данных заключается в простоте, понятности и удобстве физической реализации на ЭВМ. Именно простота и понятность для пользователя явились основной причиной их широкого использования. Проблемы же эффективности обработки данных этого типа оказались технически вполне разрешимыми.

Основными недостатками реляционной модели являются следующие: отсутствие стандартных средств идентификации отдельных записей и сложность описания иерархических и сетевых связей.

Реляционная модель данных (РМД) отличается от сетевой и иерархической следующими положениями:

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

2. Логическими ключевыми указателями. РМД использует первичные ключи для представления отношений между двумя записями, так как данная модель отличается независимостью исполнения. Однако, предполагается, что физическая БД (полностью скрытая от пользователя) может использовать адреса указателей и т.д.

3. Высокоуровневыми языками программирования (ЯП). Эти языки манипулируют данными как файлом, а не только одной записью.

Выводы: Таким образом, иерархическая, сетевая и реляционная модели данных различаются в основном способами информационного отображения объектов и их взаимосвязей.

Реляционная и иерархическая модели данных реализуют только линейную структуру таблиц, тогда как сетевая и объектно-ориентированная модели позволяют использовать и нелинейную структуру.

По сути, понятия «исходный» и «порожденный» элемент в иерархических и сетевых моделях, «первичный» и «внешний» ключ в реляционной модели передают одно и то же явление – наличие связи «один – ко – многим» между записями соответствующих файлов.

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

Вопросы для самоконтроля

1. Дайте определение модели данных.

2. Какие основные группы моделей данных Вам известны?

3. Какие структуры данных Вам известны? Какова роль различных структур данных в базах данных?

4. Дате определение линейной и нелинейной структуры данных. Приведите примеры.

5. Расскажите об иерархической модели данных. Приведите пример базы данных с иерархической структурой.

6. Приведите примеры систем баз данных на основе иерархической модели данных.

7. Каковы недостатки иерархической модели данных?

8. Расскажите о сетевой модели данных. Приведите пример базы данных с сетевой структурой.

9. Приведите примеры систем баз данных на основе сетевой модели данных.

10. Каковы недостатки сетевой модели данных?

11. Какая модель данных называется реляционной и почему?

12. Дайте определения основных понятий реляционной модели данных.

13. Дайте определение внешнего ключа. Как его можно указать на схеме?

14. Проведите сравнение моделей данных на основе записей.


Тема 5. Технология проектирования баз данных. Уровни проектирования.

1. Трехуровневая архитектура ANSI/SPARC

Трехуровневая архитектура была впервые предложена в 1975 году Комитетом планирования стандартов и норм SPARC (Standards Planning and Requirements Committee) национального Института Стандартизации США (American National Standard Institute – ANSI). Поэтому модель стала называться ANSI/SPARC.

Цель трехуровневой архитектуры заключается в отделении пользовательского представления БД от ее физического представления. Рассмотрим причины, по которым необходимо выполнить такое разделение:

1. Каждый пользователь должен иметь возможность обращаться к одним и тем же данным, используя свое собственное представление о них. Каждый пользователь должен иметь возможность изменять свое представление о данных, причем это изменение не должно оказывать влияния на других пользователей.

2. Взаимодействие пользователя с БД не должно зависеть от особенностей хранения в ней данных.

3. Администратор БД должен иметь возможность изменять структуру хранения данных в БД, не оказывая влияния на пользовательские представления.

4. Логическая структура БД не должна зависеть от таких изменений физических аспектов хранения информации, как переключение на новое устройство хранения.

5. Администратор БД должен иметь возможность изменять концептуальную или логическую структуру БД без какого-либо влияния на всех пользователей.

Таким образом, в модели ANSI/SPARC отражение предметной области представлено моделями данных трех архитектурных уровней:

- внешнего;

- концептуального;

- внутреннего.

 

 

рис. 5.1. Трехуровневая архитектура ANSI-SPARC.

 

Уровень, на котором воспринимают данные пользователи, называется внешним уровнем (external level). СУБД и ОС воспринимают данные на внутреннем уровне (internal level).Концептуальный уровень представления данных предназначен для отображения внешнего уровня на внутренний и обеспечения необходимой независимости друг от друга.

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

Помимо этого, различные представления могут по-разному отображать одни и те же данные. (Например, формат даты).

На внешнем уровне имеется несколько внешних схем или подсхем, которые соответствуют разным представлениям данных.

Концептуальный уровень представляет обобщающее представление БД. Этот уровень описывает то, какие данные хранятся в БД, а также связи, существующие между ними.

Концептуальный уровень в трехуровневой архитектуре является промежуточным. Этот уровень содержит логическую структуру всей БД (с точки зрения АБД). Однако этот уровень не содержит никаких сведений о методах хранения данных.

Концептуальная схема является «сердцем» БД. Она поддерживает все внешние представления, а сама поддерживается средствами внутренней схемы. Однако внутренняя схема является всего лишь физическим воплощением концептуальной схемы.

Внутренний уровень содержит физическое представление БД в компьютере. Этот уровень описывает, как информация хранится в БД.

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

Ниже внутреннего уровня находится физический уровень (physical level), который контролируется ОС, но под руководством СУБД.

Трехуровневая архитектура СУБД ANSI-SPARC, включающая внешний, концептуальный и внутренний уровни, позволяет обеспечить независимость хранимых данных от использующих их программ: внешний уровень экранирован от приложений системой управления БД, физический уровень экранирован от СУБД операционной системой (ОС) – в согласии с принципом независимости БД как «сверху» (от прикладных программ), так и «снизу» (от вычислительной аппаратуры).

На рис. 5.2 показано место типов независимости от данных в трехуровневой архитектуре ANSI-SPARC.

Информационные данные любого пользователя в БД должны быть независимы от всех других пользователей. Однако, т.к. информационная модель рассчитана на развитие концептуальной модели, то вносимые в нее изменения не должны оказывать влияния на существующие внешние модели. Это первый уровень независимости данных - логическая независимость.

С другой стороны, внешние модели пользователей никак не связаны с типом физической памяти, в которой будут храниться данные, и с физическими методами доступа к этим данным. Это положение отражает второй уровень независимости данных - физическая независимость.

 

 

рис. 5.2. Реализация независимости от данных
в трехуровневой архитектуре ANSI-SPARC.