Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект_АКОБМИ.pdf
Скачиваний:
176
Добавлен:
17.05.2015
Размер:
1.95 Mб
Скачать

Руссиянова

 

 

Никифорова

 

 

Шугаева

 

 

Урученская

 

 

 

 

 

 

 

 

 

 

 

 

У1

 

 

 

У4

 

 

 

У6

 

 

 

У8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

У2

 

 

 

У5

 

 

У7

 

 

У9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

У3

Рис.2.13. Схема реализации связей между сегментами «Улица» и «Участок»

Каждая запись сегмента «улица» связана с группой записей сегмента «участок». В данной конкретной реализации запись из сегмента «улица» ссылается на первую запись из сегмента «участок». Сами же записи сегмента «участок» объединены с помощью указателей в списки. Поиск с такой БД осуществляется по составленному ключу. Например, составляют ключ: «Руссиянова.У1» - позволяет найти сведения об участке номер 1, расположенный на улице Руссиянова. По организации связей между уровнями «участок – посещение» возникает проблема избыточности, которая заключается в необходимости повторения записей «ФИО пациента» и «вид заболевания». В конкретной реализации возможно избежать многократность повторения записи «ФИО пациента» и «вид заболевания» введением указателя на эти записи, хранящиеся отдельно. Однако значение указателя на запись «ФИО пациента» и «вид заболевания» должно быть разрознено, что усложняет решение проблемы целостности БД.

Трудности в иерархической БД возникают при изменении запроса. Так если появился запрос: «найти номера участков, на которых имело бы место то или иное заболевание», то пропадают преимущества предыдущего упорядочения. Для выполнения данного запроса необходимо просмотреть записи участков и связанные с ними записи вида заболевания. Для реализации такого запроса было бы целесообразно переупорядочить БД и построить новую иерархию.

2.4.2 Сетевой подход.

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

121

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

Набор – основная конструкция сетевых моделей, представляющая собой поименованное двухуровневое дерево. Каждое такое дерево состоит из одного "корневого" (предок) и упорядоченного набора из нуля или более связанных с ним поддеревьев (потомки). С помощью двухуровневых деревьев могут быть построены многоуровневые деревья и большинство сетевых структур. Если рассматривать логическую схему, то набор может интерпретироваться как имя связи между двумя сегментами записей типа «один ко многим». Экземпляр набора – конкретная реализация такой связи. На рис. 2.14 приведен пример набора и его двух экземпляров. Каждый экземпляр набора содержит одного владельца и нескольких членов набора. Например, на рис. 2.14 владельцем 1-го экземпляра набора является запись а1, а членами набора – записи b1, …, b3.

Рис.2.14. Пример набора (а) и экземпляра набора (б)

А, В-сегменты; а1, а2-записи сегмента А; b1, b2, …, b7-записи сегмента В; F-имя набора .

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

Влогической схеме сетевых БД не разрешены связи типа «многие ко многим». Однако с помощью вышеуказанных свойств набора можно описать такую связь введением дополнительного сегмента записей, задающих взаимоотношение между исходными сегментам, и определить на них два набора так, как это показано на рис.2.16. Сегмент С содержит записи в форме адресных таблиц. Записи сегмента С входят в различные наборы для сегментов А и В. Если необходимо найти записи в В, связанные с данной записью из А, то с помощью набора F1 находят указатели на записи в сегменте С, а затем по набору F2 нахо-

122

дят искомые записи в В. Если же требуется выполнить обратный поиск из В в А, то необходимо воспользоваться сначала набором F2, а затем набором F1.

Рис.2.15 Допустимые варианты построения наборов.

Рис.2.16. Представление отношения «многие ко многим».

Пример логической схемы сетевой БД приведен на рис. 2.16.

Рис. 2.16. Пример логической схемы сетевой БД

Таким образом, в БД с сетевой структурой данных, в отличие от иерархической, поддеревья (потомки) могут иметь любое число корневых деревьев (предков). Фактически сетевая БД состоит из набора записей и множества связей

123