Иерархическая и сетевая модели

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

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

 

Иерархия моделей данных

В настоящее время сформировалась идея создания трехуровневой схемы, которая имеет следующие преимущества:

1. Для абстрагирования предметной области лучше быть специалистом в этой области и необязательно быть специалистом по ЭВМ.

Функции создания концептуальной схемы называются функцией управления информацией и находятся в руках администрации предметной области.

2. Лица, связанные с ЭВМ, не беспокоятся о корректности отображения предметной области и могут сосредоточиться на работе с ЭВМ.

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

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

Функции создания внешней схемы с учетом потребностей пользователя называют функцией управления применением и выполняются администрацией предметной области.

4. Администрация предметной области и пользователь не вмешиваются во внутреннее представление данных в памяти ЭВМ.

Это исключительно важно и лежит в основе эффективного разделения труда.

Пользователь должен оперировать логическими данными и не должен осознавать физического представления данных. Такую точку зрения называют независимостью данных.

Каждую из функций, связанных с

- управлением информацией

- управлением применением

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

Для общего названия этих трех функций применяется термин администрация данных.

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

 

Модели данных

Иерархическая и сетевая модели

 

 

Иерархическая структура является наиболее давно используемой, т.е. классической.

Служащий
Служащий
Специальность
Сем. полож.
Служащий
Отдел
Если рассматривать данную предметную область, то для ее объектов будут иметь место общие свойства. Удобно рассматривать иерархию объектов, выделяя эти свойства. Если иерархическую структуру представить в виде

отношений, то получим картину:

 

 

В иерархической структуре подчиненный элемент всегда связан только с одним исходным. Однако, в предметной области существуют объекты, для которых это не выполняется, например:

 

 
 

 

 


Тогда получаем сетевую структуру.

 

Модель сущность-связь

 

ER-модель следует традициям иерархической и сетевой структур. Сущность изображается в виде прямоугольника, связь – в виде ромба. Числа обозначают кардинальность двух сущностей.

Преимущества ER-модели

1. Семантика выражена естественным способом.

2. Модель приемлема для проектирования БД.

3. Если связь соответствует функции, а объект –аргументу, то это увязывается с программой функционального типа.

4. Разделение сущностей и связей является временным.

5. Управление данными не определено.

 

 

 


Рассмотрим предложения: “служащий А принадлежит отделу В” и “служащий А имеет на иждивении семью С”. Очевидно, что в ER-модели существительные служащий А, отдел В, семья С соответствуют сущностям, а глаголы принадлежать, иметь на иждивении, соответствуют связям. В модели сущности представляются в виде E-отношений, а связи – в виде R-отношений.