Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базы данных.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
77.59 Кб
Скачать

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

Отдел

сотрудник

сотрудник

Заказчик

Контракт

Контракт

Сотр-контр

Сотр-контр

Сотр-контр

Сотр-контр

Сетевая модель данных – модель, состоящая из записей, элементов данных и связей типа 1 ко многим установленных между записями. На разработку стандартов большое влияние оказал ученый Чарльз Бахман. Основные принципы сетевой модели данных были разработаны в середине 60х годов, а эталонный вариант сетевой модели данных описан в отчетах группы CODASYL в 1971.

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

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

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

  1. Способ упорядочивания подчиненных записей. Варианты:

А) произвольный Б) хронологический В) обратный хронологический Г) сортированный

  1. Режим включения:

А) автоматический – невозможно добавить запись в БД без того, чтобы она не была сразу же закреплена за неким владельцем

Б) ручной – позволяет запомнить в БД подчиненную запись и не включать ее немедленно в экземпляр группового отношения

  1. Режим исключения:

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

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

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

Языки

Язык SDDL – язык определения структуры БД. При помощи него описываются все типы записей и все типы наборов.

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

Операции над данными:

  1. Добавить запись, в зависимости от режима включения: то есть либо включить ее в групповые отношения, либо не включать ни в какое

  2. Включить в групповое отношение

  3. Переключить – связать существующую подчиненную запись с другой записью владельцом в том же групповом отношении. Например, перевести сотрудника в другой отдел

  4. Обновить – значение элемента в предварительно извлеченной записи

  5. Извлечь – извлечь по значению ключа а также использую групповые отношения переходить от владельца записи к потомком и наоборот

  6. Удалить – убрать запись из БД в зависимости от режима исключения

  7. Исключить из группового отношения, ну то есть о5 сделать запись непривязанной ни к какому предку

Как и в иерархической модели обеспечивается только целостность по ссылкам (владелец отношения – член отношения).