Главная страница
Навигация по странице:

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

  • ВКЛЮЧИТЬ В ГРУППОВОЕ ОТНОШЕНИЕ

  • ОБНОВИТЬ

  • База данных-понятия. Классификация по


    Скачать 0.55 Mb.
    НазваниеКлассификация по
    АнкорБаза данных-понятия.docx
    Дата17.07.2018
    Размер0.55 Mb.
    Формат файлаdocx
    Имя файлаБаза данных-понятия.docx
    ТипДокументы
    #21614
    страница7 из 23
    1   2   3   4   5   6   7   8   9   10   ...   23

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

    3.2.1.Структура данных.


    На разработку этого стандарта большое влияние оказал американский ученый Ч.Бахман. Основные принципы сетевой модели данных были разработны в середине 60-х годов, эталонный вариант сетевой модели данных описан в отчетах рабочей группы по языкам баз данных (COnference on DAta SYstem Languages) CODASYL (1971 г.).

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

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

    Иерархическая структура из п.3.1. преобразовывается в сетевую следующим образом (см. рис. 3.2):

    • древья (a) и (b), показанные на рис. 3.1, заменяются одной сетевой структурой, в которой запись СОТРУДНИК входит в два групповых отношения;

    • для отображения типа M:N вводится запись СОТРУДНИК_КОНТРАКТ, которая не имеет полей и служит только для связи записей КОНТРАКТ и СОТРУДНИК, см. рис. 3.2.(Отметим, что в этой записи может храниться и полезная информация, например, доля данного сотрудника в общем вознаграждении по данному контракту.)

    http://www.mstu.edu.ru/study/materials/zelenkov/network.gif

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

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

      • произвольный,

      • хронологический /очередь/,

      • обратный хронологический /стек/,

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

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

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

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

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

     

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

      • Фиксированное. Подчиненная запись жестко связана с записью владельцем и ее можно исключить из группового отношения только удалив. При удалении записи-владельца все подчиненные записи автоматически тоже удаляются. В рассмотренном выше примере фиксированное членство предполагает групповое отношение "ЗАКЛЮЧАЕТ" между записями "КОНТРАКТ" и "ЗАКАЗЧИК", поскольку контракт не может существовать без заказчика.

      • Обязательное. Допускается переключение подчиненной записи на другого владельца, но невозможно ее существование без владельца. Для удаления записи-владельца необходимо, чтобы она не имела подчиненных записей с обязательным членством. Таким отношением связаны записи "СОТРУДНИК" и "ОТДЕЛ". Если отдел расформировывается, все его сорудники должны быть либо переведены в другие отделы, либо уволены.

      • Необязательное. Можно исключить запись из группового отношения, но сохранить ее в базе данных не прикрепляя к другому владельцу. При удалении записи-владельца ее подчиненные записи - необязательные члены сохраняются в базе, не участвуя более в групповом отношении такого типа. Примером такого группового отношения может служить "ВЫПОЛНЯЕТ" между "СОТРУДНИКИ" и "КОНТРАКТ", поскольку в организации могут существовать работники, чья деятельность не связана с выполненинем каких-либо договорных обязательств перед заказчиками.



    3.2.2.Операции над данными.


    • ДОБАВИТЬ - внести запись в БД и, в зависимости от режима включения, либо включить ее в групповое отношение, где она объявлена подчиненной, либо не включать ни в какое групповое отношение.

    • ВКЛЮЧИТЬ В ГРУППОВОЕ ОТНОШЕНИЕ - связать существующую подчиненную запись с записью-владельцем.

    • ПЕРЕКЛЮЧИТЬ - связать существующую подчиненную запись с другой записью-владельцем в том же групповом отношении.

    • ОБНОВИТЬ - изменить значение элементов предварительно извлеченной записи.

    • ИЗВЛЕЧЬ - извлечь записи последовательно по значению ключа, а также используя групповые отношения - от владельца можно перейти к записям - членам, а от подчиненной записи к владельцу набора.

    • УДАЛИТЬ - убрать из БД запись. Если эта запись является владельцем группового отношения, то анализируется класс членства подчиненных записей. Обязательные члены должны быть предварительно исключены из группового отношения, фиксированные удалены вместе с владельцем, необязательные останутся в БД.


    ИСКЛЮЧИТЬ ИЗ ГРУППОВОГО ОТНОШЕНИЯ - разорвать связь между записью-владельцем и записью-членом.

    3.2.3.Ограничения целостности.


    Как и в иерархической модели обеспечивается только поддержание целостности по ссылкам (владелец отношения - член отношения).
    1   2   3   4   5   6   7   8   9   10   ...   23


    написать администратору сайта