Л. Партыка, И. И. Попов системы управления базами данных



бет49/215
Дата29.01.2022
өлшемі4,64 Mb.
#115817
1   ...   45   46   47   48   49   50   51   52   ...   215
Байланысты:
Голицына О Л Партыка Т Л Попов И И Системы

Сетевая модель данных

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

В сетевой структуре любой элемент может быть связан с любым другим элементом. Основные принципы сетевой модели данных были разработаны в середине 60-х гг. XX в., эталонный вариант сетевой модели данных описан в отчетах (1971 г.) Data Base Task Group (DBTG) Комитета по языкам программирования, Conference on Data Systems Languages (CODASYL), — организации, ответственной за определение языка программирования Кобол [32].

Типичным представителем СУБД этого типа является Integrated Database Management System (IDMS) компании Cullinet Software, Inc., предназначенная для использования на машинах основного класса фирмы IBM под управлением большинства операционных систем.



Основные элементы модели. Сетевая схема состоит из множества записей, которые могут быть владельцами или членами групповых отношений. Связь между записью-владельцем и записью-членом также имеет вид \:N.

Основное различие этих моделей состоит в том, что в сетевой модели запись может быть членом более чем одного группового отношения. Согласно этой модели, каждое групповое отношение именуется и проводится различие между его типом и экземпляром. Тип группового отношения задается его именем и определяет свойства, общие для всех экземпляров данного типа. Экземпляр группового отношения представляется записью-владельцем и множеством (возможно, пустым) подчиненных записей. При этом имеется следующее ограничение: экземпляр записи не может быть членом двух экземпляров групповых отношений одного типа.

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

Тип связи определяется для двух типов записи — предка и потомка. Экземпляр типа связи состоит из одного экземпляра типа записи предка и упорядоченного набора экземпляров типа записи потомка. Для данного типа связи L с типом записи предка Р. и типом записи потомка С должны выполняться следующие два условия:



  • каждый экземпляр типа Р является предком только одного экземпляра L;

  • каждый экземпляр С является потомком не более чем одного экземпляра L.

На формирование типов связи не накладываются особые ограничения; возможны, например, следующие ситуации:

  • тип записи потомка в одном типе связи  L1  может быть типом записи предка в другом типе связи L2 (как в иерархии);

  • данный тип записи Р может быть типом записи предка в любом числе типов связи;

  • данный тип записи Р может быть типом записи потомка в любом числе типов связи;

  • может существовать любое число типов связи с одним и тем же типом записи предка и одним и тем же типом записи потомка; и если L1 и L2 — два типа связи с одним и тем же типом записи предка Р и одним и тем же типом записи потомка С, то правила, по которым образуется родство, в разных связях могут различаться;

  • типы записи X и Y могут быть предком и потомком в одной связи и потомком и предком — в другой;

  • предок и потомок могут быть одного типа записи. Иерархическая структура может быть преобразована в сетевую следующим образом (рис. 2.3):

Деревья а и б, показанные на рис. 2.2, заменяются одной сетевой структурой, в которой запись Сотрудник входит в
два групповых отношения;

Для   отображения   типа   M:N  вводится   запись   Сотрудник-Контракт, которая не имеет полей и служит только


для связи записей Контракт И Сотрудник (рис. 2.3). (Отметим, что в этой записи может храниться и полезная информация,  например доля данного сотрудника в общем вознаграждении по данному контракту.)

Каждый экземпляр группового отношения характеризуется следующими признаками:



  • способ упорядочения подчиненных записей:

  1. произвольный;

  2. хронологический (очередь);

  3. обратный хронологический (стек);

  4. сортированный.

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

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


  • режим включения подчиненных записей:

  1. автоматический — невозможно занести в БД запись без того, чтобы она была сразу же закреплена за неким владельцем;

  2. ручной — позволяет запомнить в БД подчиненную запись и не включать ее немедленно в экземпляр группового   отношения. Эта операция позже инициируется пользователем);

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

  1. фиксированное. Подчиненная запись жестко связана с записью владельцем, и ее можно исключить из группового отношения, только удалив. При удалении записи владельца  все подчиненные  записи   автоматически  тоже удаляются. В рассмотренном ранее примере фиксированное членство предполагает групповое отношение. Заключает между записями Контракт И Заказчик, ПОСКОЛЬКУ контракт не может существовать без заказчика;

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

  3. необязательное. Можно исключить запись из группового отношения, но сохранить ее в базе данных, не прикрепляя к другому владельцу. При удалении записи-владельца ее подчиненные записи — необязательные члены сохраняются в базе, не участвуя более в групповом отношении такого типа.  Примером такого группового отношения может служить  Выполняет  между  Сотрудник  И  Контракт, поскольку в организации могут существовать работники, чья деятельность не связана с выполнением каких-либо договорных обязательств перед заказчиками.



Достарыңызбен бөлісу:
1   ...   45   46   47   48   49   50   51   52   ...   215




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет