Сетевая модель данных имеет структуру. Сетевые бд

Связь между записью-владельцем и записью-членом также имеет вид 1:N.

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

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


Рис. 4.3.

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

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

  • произвольный,
  • хронологический /очередь/,
  • обратный хронологический /стек/,
  • сортированный.

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

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

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

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

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

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

Операции над данными в сетевой модели БД

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

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

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

Достоинства и недостатки ранних СУБД

Достоинства ранних СУБД:

  • развитые средства управления данными во внешней памяти на низком уровне;
  • возможность построения вручную эффективных прикладных систем;
  • возможность экономии памяти за счет разделения подобъектов (в сетевых системах)

Недостатки ранних СУБД:

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

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

Объектно-ориентированные СУБД

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

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

Мы знаем, что любая модель данных должна включать три аспекта: структурный, целостный и манипуляционный. Посмотрим, как они реализуются на основе объектно-ориентированная парадигмы программирования .

Структура

Структура объектной модели описывается с помощью трех ключевых понятий:

инкапсуляция - каждый объект обладает некоторым внутренним состоянием (хранит внутри себя запись данных), а также набором методов - процедур, с помощью которых (и только таким образом) можно получить доступ к данным, определяющим внутреннее состояние объекта, или изменить их. Таким образом, объекты можно рассматривать как самостоятельные сущности, отделенные от внешнего мира;
наследование - подразумевает возможность создавать из классов объектов новые классы объекты, которые наследуют структуру и методы своих предков, добавляя к ним черты, отражающие их собственную индивидуальность. Наследование может быть простым (один предок) и множественным (несколько предков);
полиморфизм - различные объекты могут по разному реагировать на одинаковые внешние события в зависимости от того, как реализованы их методы.

Целостность данных

Для поддержания целостности объектно-ориентированный подход предлагает использовать следующие средства:

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

Средства манипулирования данными

К сожалению, в объектно-ориентированном программировании отсутствуют общие средства манипулирования данными, такие как реляционная алгебра или реляционное счисление. Работа с данными ведется с помощью одного из объектно-ориентированных языков программирования общего назначения, обычно это SmallTalk, C++ или Java.

Подведем теперь некоторые итоги

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

В то же время, ОО - модели присущ и ряд недостатков :

  • отсутствуют мощные непроцедурные средства извлечения объектов из базы. Все запросы приходится писать на процедурных языках, проблема их оптимизации возлагается на программиста;
  • вместо чисто декларативных ограничений целостности (типа явного объявления первичных и внешних ключей реляционных таблиц с помощью ключевых слов PRIMARY KEY и REFERENCES ) или полудекларативных триггеров для обеспечения внутренней целостности приходится писать процедурный код.

Очевидно, что оба эти недостатка связаны с отсутствием развитых средств манипулирования данными. Эта задача решается двумя способами - расширение ОО-языков в сторону управления данными (стандарт ODMG), либо добавление объектных свойств в реляционные СУБД (SQL-3, а также так называемые объектно-реляционных СУБД).

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

Историческая справка

В 1971 группа DTBG (Database Task Group ) представила в американский национальный институт стандартов отчет, который послужил в дальнейшем основой для разработки сетевых систем управления базами данных. Стандарт сетевой модели был создан в 1975 году организацией CODASYL (Conference of Data System Languages ), которая определила базовые понятия модели и формальный язык описания.

Типичным представителем систем, основанных на сетевой модели данных, является СУБД IDMS (Integrated Database Management System ), разработанная компанией Cullinet Software, Inc. и изначально ориентированная на использования на мейнфреймах компании IBM. Архитектура системы основана на предложениях DBTG организации CODASYL. В настоящее время IDMS принадлежит компании Computer Associates .

Основные элементы сетевой модели данных

  • Элемент данных – минимальная информационная единица доступная пользователю.
  • Агрегат данных – именованная совокупность элементов данных внутри записи или другого агрегата, которую можно рассматривать как единое целое. Имя агрегата используется для его идентификации в схеме структуры данного более высокого уровня. Агрегат данных может быть простым, если состоит только из элементов данных, и составным, если включает в свой состав другие агрегаты.
  • Запись - совокупность агрегатов или элементов данных, отражающих некоторую сущность предметной области. Иными словами, запись - это агрегат, который не входит в состав никакого другого агрегата и может иметь сложную иерархическую структуру, поскольку допускается многократное применение агрегации. Имя записи используется для идентификации типа записи в схемах типов структур более высокого уровня.
  • Тип записей – эта совокупность подобных записей. Тип записей представляет некоторый класс реального мира.
  • Набор - именованная двухуровневая иерархическая структура, которая содержит запись владельца и запись (или записи) членов. Наборы отражают связи «один ко многим» и «один к одному» между двумя типами записей.
Наборы бывают нескольких видов :
  • С одними и теми же типами записей, но разными типами наборов.
  • Наборы из трех записей и более, в том числе с обратной связью.
  • Сингулярный набор (только один экземпляр). У такого набора нет естественного владельца и в качестве него выступает система. В дальнейшем такие наборы могут приобрести запись - владельца.

Особенности построения сетевой модели данных

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

Реализация групповых отношений в сетевой модели осуществляется с использованием указателей (адресов связи или ссылок), которые устанавливают связь между владельцем и членом группового отношения . Запись может состоять в отношениях разных типов (1:1, 1:N, M:N). Заметим, что если один из вариантов установления связи 1:1 очевиден (в запись – владелец отношения, поля которой соответствуют атрибутам сущности, включается дополнительное поле – указатель на запись – член отношения), то возможность представления связей 1:N и M:N таким же образом весьма проблематична. Поэтому наиболее распространенным способом организации связей в сетевых СУБД является введение дополнительного типа записей, полями которых являются указатели.

Преимущества

  1. Стандартизация . Появление стандарта CODASYL, который определил базовые понятия модели и формальный язык описания.
  2. Быстродействие . Быстродействие сетевых баз данных сравнимо с быстродействием иерархических баз данных.
  3. Гибкость . Множественные отношения предок/потомок позволяют сетевой базе данных хранить данные, структура которых была сложнее простой иерархии.
  4. Универсальность . Выразительные возможности сетевой модели данных являются наиболее обширными в сравнении с остальными моделями.
  5. Возможность доступа к данным через значения нескольких отношений (например, через любые основные отношения).

Недостатки

  1. Жесткость . Наборы отношений и структуру записей необходимо задавать наперёд. Изменение структуры базы данных ведет за собой перестройку всей базы данных.. Связи закреплены в записях в виде указателей. При появлении новых аспектов использования этих же данных может возникнуть необходимость установления новых связей между ними. Это требует введения в записи новых указателей, т.е. изменения структуры БД, и, соответственно, переформирования всей базы данных.
  2. Сложность . Сложная структура памяти.

Операции над данными сетевой модели

  • Операция ЗАПОМНИТЬ позволяет занести в БД новую запись и автоматически включить эту запись в групповые отношения, где она объявлена подчиненной с соответствующим режимом включения.
  • Операция ВКЛЮЧИТЬ В ГРУППОВОЕ ОТНОШЕНИЕ позволяет существующю запись связать с с записью-владельцем.
  • Операция ПЕРЕКЛЮЧИТЬ дает возможность подчиненную запись связать с записью-владельцем в том же групповом отношении.
  • Операция ОБНОВИТЬ изменять значения элементов записей, существующих в БД. Перед выполнением этого оператора соответствующая запись предварительно должна быть извлечена.
  • Операция ИЗВЛЕЧЬ позволяет последовательно (т.е. перебирая) извлечь запись. Запись можно извлечь по значению первичного ключа или используя групповые отношения, в которых они участвуют. Так, от владельца можно перейти к записям – членам, а от записи-члена перейти к владельцу группового отношения.
  • Операция УДАЛИТЬ дает возможность убрать из БД ненужную запись. Если удаляемая запись объявлена владельцем в групповом отношении, то анализируется класс членства подчиненных записей. Обязательные члены должны быть предварительно откреплены от этого владельца, т.е. удалены из группового отношения, фиксированные будут удалены вместе с ним, а необязательные останутся в БД.
  • Операция ИСКЛЮЧИТЬ ИЗ ГРУППОВОГО ОТНОШЕНИЯ позволяет разорвать связь между записью-владельцем и записью-членом группового отношения, сохранив обе в БД.

Использования сетевой модели

Сетевые модели также создавались для мало ресурсных ЭВМ. Это достаточно сложные структуры, состоящие из "наборов" – поименованных двухуровневых деревьев. "Наборы" соединяются с помощью "записей-связок", образуя цепочки и т.д. При разработке сетевых моделей было выдумано множество "маленьких хитростей", позволяющих увеличить производительность СУБД, но существенно усложнивших последние. Прикладной программист должен знать массу терминов, изучить несколько внутренних языков СУБД, детально представлять логическую структуру базы данных для осуществления навигации среди различных экземпляров, наборов, записей и т.п. Один из разработчиков операционной системы UNIX сказал "Сетевая база – это самый верный способ потерять данные".

На этом рисунке показаны три типа записи: Отдел , Служащие и Руководитель и три типа связи: Состоит из служащих , Имеет руководителя и Является служащим .

В типе связи Состоит из служащих Отдел , а типом записи-потомком – Служащие Отдел со многими экземплярами типа записи Служащие , соответствующими всем служащим данного отдела).

В типе связи Имеет руководителя типом записи-предком является Отдел , а типом записи-потомком – Руководитель (экземпляр этого типа связи связывает экземпляр типа записи Отдел Руководитель , соответствующим руководителю данного отдела).

Наконец, в типе связи Является служащим типом записи-предком является Руководитель , а типом записи-потомком – Служащие (экземпляр этого типа связи связывает экземпляр типа записи Руководитель с одним экземпляром типа записи Служащие , соответствующим тому служащему, которым является данный руководитель).

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru

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

2. Структуризация данных в СМД

3. Основные операции

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

5. Достоинства и недостатки СМД

Список использованных источников

1. СЕТЕВАЯ МОДЕЛЬ ДАННЫХ

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

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

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

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

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

Каждый экземпляр типа записи C является потомком не более чем в одном экземпляре типа связи L.

ИСТОРИЧЕСКАЯ СПРАВКА

В 1971 группа DTBG (Database Task Group) представила в американский национальный институт стандартов отчет, который послужил в дальнейшем основой для разработки сетевых систем управления базами данных. Стандарт сетевой модели был создан в 1975 году организацией CODASYL (Conference of Data System Languages), которая определила базовые понятия модели и формальный язык описания.

Типичным представителем систем, основанных на сетевой модели данных, является СУБД IDMS (Integrated Database Management System), разработанная компанией Cullinet Software, Inc. и изначально ориентированная на использования на мейнфреймах компании IBM. Архитектура системы основана на предложениях DBTG организации CODASYL. В настоящее время IDMS принадлежит компании Computer Associates.

2. СТРУКТУРИЗАЦИЯ ДАННЫХ В СЕТЕВЫХ МОДЕЛЯХ ДАННЫХ

Структуризация данных базируется на использовании концепций "агрегации" и "обобщения". Один из первых вариантов структуризации данных был предложен Ассоциацией по языкам обработки данных (Conference on Data Systems Languages, CODASYL):

Элемент данных - минимальная информационная единица доступная пользователю.

Агрегат данных - именованная совокупность элементов данных внутри записи или другого агрегата, которую можно рассматривать как единое целое. Имя агрегата используется для его идентификации в схеме структуры данного более высокого уровня. Агрегат данных может быть простым, если состоит только из элементов данных, и составным, если включает в свой состав другие агрегаты.

Запись - совокупность агрегатов или элементов данных, отражающих некоторую сущность предметной области. Иными словами, запись - это агрегат, который не входит в состав никакого другого агрегата и может иметь сложную иерархическую структуру, поскольку допускается многократное применение агрегации. Имя записи используется для идентификации типа записи в схемах типов структур более высокого уровня.

Тип записей - эта совокупность подобных записей. Тип записей представляет некоторый класс реального мира.

Набор - именованная двухуровневая иерархическая структура, которая содержит запись владельца и запись (или записи) членов. Наборы отражают связи «один ко многим» и «один к одному» между двумя типами записей.

Наборы бывают нескольких видов:

1. С одними и теми же типами записей, но разными типами наборов.

2. Наборы из трех записей и более, в том числе с обратной связью.

3. Сингулярный набор (только один экземпляр). У такого набора нет естественного владельца и в качестве него выступает система.
В дальнейшем такие наборы могут приобрести запись - владельца.

Рисунок 1 - Структуризация данных

Особенности построения сетевой модели данных

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

Связь между двумя записями может выражаться произвольным количеством наборов.

В любом наборе может быть только один владелец.

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

Тип записи может не входить ни в какой тип наборов.

Допускается добавление новой записи в качестве экземпляра владельца, если экземпляр-член отсутствует.

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

Реализация групповых отношений в сетевой модели осуществляется
с использованием указателей (адресов связи или ссылок), которые устанавливают связь между владельцем и членом группового отношения. Запись может состоять в отношениях разных типов (1:1, 1:M, M:M). Заметим, что если один из вариантов установления связи 1:1 очевиден (в запись - владелец отношения, поля которой соответствуют атрибутам сущности, включается дополнительное поле - указатель на запись - член отношения), то возможность представления связей 1:M и M:M таким же образом весьма проблематична. Поэтому наиболее распространенным способом организации связей в сетевых СУБД является введение дополнительного типа записей, полями которых являются указатели.

3. ОСНОВНЫЕ ОПЕРАЦИИ

сетевая модель данный

Операция ЗАПОМНИТЬ позволяет занести в БД новую запись
и автоматически включить эту запись в групповые отношения, где она объявлена подчиненной с соответствующим режимом включения.

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

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

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

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

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

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

Использования сетевой модели

Сетевые модели также создавались для мало ресурсных ЭВМ. Это достаточно сложные структуры, состоящие из "наборов" - поименованных двухуровневых деревьев. "Наборы" соединяются с помощью "записей-связок", образуя цепочки и т.д. При разработке сетевых моделей было выдумано множество "маленьких хитростей", позволяющих увеличить производительность СУБД, но существенно усложнивших последние. Прикладной программист должен знать массу терминов, изучить несколько внутренних языков СУБД, детально представлять логическую структуру базы данных для осуществления навигации среди различных экземпляров, наборов, записей и т.п. Один из разработчиков операционной системы UNIX сказал "Сетевая база - это самый верный способ потерять данные".

СУБД, поддерживающие сетевую модель, широко использовались на вычислительных системах серии IBM 360/370 (ЕС ЭВМ). В качестве примеров таких систем можно указать IDMS, UNIBAD (БАНК), аналоги СЕДАН, СЕТОР. На персональных компьютерах сетевые СУБД не получили широкого распространения. Примером сетевой СУБД для персонального компьютера является db_VISTA III. Отметим, что система db_VISTA реализована на языке С и поэтому является переносимой. Система может эксплуатироваться на ПЭВМ типа IBM PC, SUN, Macintosh.

4. ОГРАНИЧЕНИЯ ЦЕЛОСТНОСТИ

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

* явные (включаются в структуру базы данных с помощью средств языка контроля данных (DCL, Data Control Language))

*неявные (определяются самой структурой данных).

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

5. ДОСТОИНСТВА И НЕДОСТАТКИ СМД

Преимущества:

1.Стандартизация. Появление стандарта CODASYL, который определил базовые понятия модели и формальный язык описания.

2.Быстродействие. Быстродействие сетевых баз данных сравнимо
с быстродействием иерархических баз данных.

3.Гибкость. Множественные отношения предок/потомок позволяют сетевой базе данных хранить данные, структура которых была сложнее простой иерархии.

4.Универсальность. Выразительные возможности сетевой модели данных являются наиболее обширными в сравнении с остальными моделями.

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

Недостатки:

1. Жесткость. Наборы отношений и структуру записей необходимо задавать наперёд. Изменение структуры базы данных ведет за собой перестройку всей базы данных. Связи закреплены в записях в виде указателей. При появлении новых аспектов использования этих же данных может возникнуть необходимость установления новых связей между ними. Это требует введения в записи новых указателей, т.е. изменения структуры БД, и, соответственно, переформирования всей базы данных.

2. Сложность. Сложная структура памяти.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Сетевая модель данных [электронный ресурс] - Режим доступа http://ru.wikipedia.org/wiki/Сетевая _модель_данных

2. Кузнецов С.Д. Базы данных. Вводный курс. - М.: Майор,2008. - 176с.

Размещено на Allbest.ru

Подобные документы

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

    реферат , добавлен 28.11.2011

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

    реферат , добавлен 16.02.2012

    Характеристика реляционной, иерархической и сетевой моделей баз данных. Анализ методов проектирования (декомпозиция, синтез, объектная связь), организации, обновления, восстановления, ограничений, поддержания целостности данных на примере СУБД Ms Access.

    дипломная работа , добавлен 13.02.2010

    Преимущества и недостатки иерархической модели данных. Целостная часть реляционной модели данных. Базовые требования целостности сущностей и по ссылкам. Ограничения целостности сущности и по ссылкам. Аксиомы Армстронга, аномалии обновления и их виды.

    контрольная работа , добавлен 05.02.2011

    Сущность и характеристика типов моделей данных: иерархическая, сетевая и реляционная. Базовые понятия реляционной модели данных. Атрибуты, схема отношения базы данных. Условия целостности данных. Связи между таблицами. Общие представления о модели данных.

    курсовая работа , добавлен 29.01.2011

    Сущность и предназначение сетевой модели данных TCP/IP. Уровень приложений TCP/IP. Схема работы веб-браузера. Транспортный уровень TCP/IP. Схема использования служб Ethernet протоколом IP. Этапы передачи данных узлом в реальной физической среде сети.

    доклад , добавлен 02.04.2012

    Базы данных и их использование в вычислительной технике. Особенности и основная конструктивная единица сетевой модели данных. Иерархическая модель, объекты предметной области. Реляционная модель, ее наглядность, представление данных в табличной форме.

    реферат , добавлен 19.12.2011

    Инфологическая модель предметной области. Схемы простых объектов и их свойства. Построение реляционных отношений на основе инфологической модели базы данных. Сетевая и иерархическая даталогическая модели БД. Структура таблиц, реализованных в СУБД Oracle.

    курсовая работа , добавлен 10.06.2014

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

    курсовая работа , добавлен 08.02.2012

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

Страница 1
Тема 7
Лекция № 7
СЕТЕВАЯ МОДЕЛЬ ДАННЫХ


  1. Сетевые базы данных

Информационными конструкциями в сетевой модели данных являются отношения и веерные отношения. Понятие "отношения" уже рассматривалось применительно к реляционной модели данных и будет использоваться здесь без изменений, хотя в некоторых сетевых СУБД допускаются отношения с многоуровневой (три и более) структурой.

Сетевая БД представляется как множество отношений и веерных отношений. Отношения разделяются на основные и зависимые.

Веерным отношением W(R,S) называется пара отношений, состоящая из одного основного R, одного зависимого отношения S и связи между ними при условии, что каждое значение зависимого отношения связано с единственным значением основного отношения.

Названное условие является ограничением, характерным для сетевой модели данных в целом. Способ реализации этого ограничения в памяти ЭВМ неодинаков у различных сетевых СУБД.

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

Сетевые базы данных в зависимости от ограничений на вхождение отношений в веерные отношения разделяются на многоуровневые сети и двухуровневые сети.

Ограничение двухуровневых сетей состоит в том, что каждое отношение может существовать в одной из перечисленных ниже ролей:

Вне каких-либо веерных отношений,

В качестве основного отношения в любом количестве веерных отношений,

В качестве зависимого отношения в любом количестве веерных отношений.

Запрещается существование отношения в качестве основного в одном контексте и одновременно в качестве зависимого в другом контексте.

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

Среди существующих в настоящее время сетевых СУБД наиболее распространены системы, поддерживающие двухуровневую сеть. Операция связывания отношений в реляционных СУБД также приводит к двухуровневым системам отношений. Двухуровневые сети обладают свойством ацикличности, о котором будет сказано ниже, и по этой причине очень часто применяются разработчиками ЭИС и прикладными программистами.

Для двухуровневых сетевых СУБД вводятся еще два ограничения (с теоретической точки зрения необязательные):

Первичный ключ основного отношения может быть только одноатрибутным,

Веерное отношение существует, если первичный ключ основного отношения является частью первичного ключа зависимого отношения.
2. Организация веерного отношения в памяти ЭВМ
В структуру основного и зависимого отношений вводится дополнительный атрибут, называемый адресом связи. Значения адресов связи совместно обеспечивают в веерном отношении соответствие каждого значения зависимого отношения S с единственным значением основного отношения R.

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

Связь значений зависимого отношения с единственным значением основного отношения в простейшем случае обеспечивается следующим образом. Адрес связи некоторой записи основного отношения указывает на одну из записей зависимого отношения (значением адреса связи основного отношения является начальный адрес этой записи зависимого отношения), адрес связи указанной записи зависимого отношения - на следующую запись зависимого отношения, связанную с той же записью основного отношения и т.д. Последняя запись зависимого отношения в этой цепочке адресует названную выше запись основного отношения. Получается кольцевая структура адресов связи, называемая веером, где роль "ручки" веера играет запись основного отношения. На графических иллюстрациях адрес связи изображается стрелкой, направленной от адреса связи данной записи к той записи, чей начальный адрес (номер) служит значением этого адреса связи. На рис. 2.2 показаны структуры и значения веерных отношений двух простых сетевых двухуровневых БД. Атрибуты первичного ключа во всех случаях помечены #.

Схема сетевой БД содержит следующие компоненты:

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

Из аналогии определений веерного отношения и функциональной зависимости следует утверждение: если существует веерное отношение, то ключ зависимого отношения функционально определяет ключ основного отношения, и наоборот, если ключ одного отношения функционально определяет ключ второго отношения, то первое отношение может быть зависимым, а второе - основным в некотором веерном отношении.

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

В схеме сетевой БД отношения и веерные отношения часто трактуются как файлы и связи, что позволяет рассматривать сетевую структуру как множество файлов

F = {Fl(Xl),F2(X2),...) Fi(Xi),...,Fn(Xn)}, где Xi - атрибуты ключа в файле Fi.

Дополнительно вводится граф сетевой структуры В с вершинами {Xl,X2,...,Xi,...,Xn}. Дуга в графе В существует, если Xi является частью Xj и Fj является подмножеством Fi. Последнее условие имеет тот же смысл, что и синтаксическое включение отношений в реляционной модели данных. Здесь предполагается, что ключ основного файла содержится в зависимом файле. Граф В аналогичен графу соединений для реляционной БД.

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

Для множества файлов F ациклической базы данных DBA вполне применима операция

m(DBA) = F1 & F2 & ... & Fi & ...& Fn,

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


3. Алгоритм формирования двухуровневой структуры сети
Рассмотрим алгоритм формирования структуры двухуровневой сетевой БД на основе известного множества атрибутов и функциональных зависимостей.

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

3. Алгоритм получения двухуровневой структуры сети

1. Для каждой функциональной зависимости вида А -» В создается файл Fi(A,B)- Каждый блок взаимно-однозначных соответствий также порождает файл с ключом, равным старшему по объему понятия атрибуту.

В нашем примере будут созданы следующие файлы (ключи помечены знаком #):

Р1(НИИ #, Директор, Адрес),

Р2(Отдел #, НИИ, Ксотр),

РЗ(Тема #, Датанач, Датакон, Приор),

Р4(ФИО #, Отдел),

Р5(Тема #, Работа #, ФИО #, Прод),

Р6(Тема #, Заказ #, Обфин).

2. У всех пар файлов, полученных на шаге 1, проверяется условие для ключей (Ki является частью Kj). Если оно соблюдаемся, то из соответствующих файлов создается веерное отношение Wij(Fi,Fj). В нашем примере получим W35(F3,F5), W45(F4,F5), W36(F3,F6).

3. Если на шаге 2 будут получены два веерных отношения Wij и Wjk, то все атрибуты файла Fi передаются в файл Fj, и Fi вместе с Wij уничтожаются. В нашем примере таких веерных отношений нет.

4. Атрибуты, не вошедшие в состав веерных отношений на шаге 2, добавляются в те файлы Fn (и содержащие Fn веерные отношения), где они будут неключевыми. При наличии нескольких подходящих файлов предпочтение отдается основным файлам. Если требуемые Fn отсутствуют, то создается новый файл из атрибутов первичного ключа, и повторяются шаги 2, 3,4.

В нашем примере F4 расширяется атрибутами НИИ, Директор, Адрес, Ксотр.

На рис.2.3 показана структура соответствующей двухуровневой БД.

Структуры основных отношений показаны в верхней части рисунка, а структуры зависимых отношений - внизу.

Перед рассмотрением операций в сетевой базе данных следует отметить, что существуют 2 различных подхода к обработке данных средствами СУБД.

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

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

При выборке в зависимом отношении текущей записью становится следующая запись зависимого отношения относительно той, которая раньше была текущей в зависимом отношении. Условие выборки содержит указание на текущую запись в основном отношении, а также на имя зависимого отношения и имя веерного отношения.

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

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

страница 1

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

Целью создания такой была реализация связей "многие ко многим" с одновременным исправлением всех имеющихся недостатков в иерархической модели, которые были выявлены со временем. Сетевая модель данных строится на применении С этой точки зрения ей соответствует произвольный граф. В такой модели у каждого потомка может иметься произвольное количество предков. Сетевая состоит из определенного набора записей, а также из указанного набора связей, присутствующих между данными записями. Два типа записей, то есть предок и потомок, определяют типы связей. Экземпляр типа связи обычно представляет собой один экземпляр типа записи предка с включением упорядоченного набора элементов, относящихся к типу записи потомка. Под набором принято понимать поименованную совокупность записей, где записи одного типа объявлены владельцем набора, а остальные записи - членами данного набора.

Сетевая модель данных обладает некоторыми особенностями. Все типы используемых связей в обязательном порядке должны быть функциональными, то есть "многие к одному", "один к множеству" или "один к одному". В модели такое внутреннее ограничение выражено тем утверждением, что для этого типа связи с определенным типом записи предка и типом записи потомка обязательно выполняются определенные условия. Для того чтобы определить связь "многие ко многим", был введен особый тип записей, а также пара функциональных "один к множеству" и "множество к одному". Если есть необходимость, то в запись, исполняющую роль связки, может быть добавлена дополнительная информация.

В сетевой модели групповые отношения обычно описывают связь вида "один к множеству", то есть владелец один, а у него много подчиненных. Можно привести в пример такое отношение, как «работать». Тут подразумевается, что каждый сотрудник работает в каком-то определенном отделе, но в каждом отделе вполне может работать несколько сотрудников. В сетевой модели вида "один к множеству" связь между разными сущностями реализована при помощи групповых отношений.

Сетевая модель подразумевает использование следующих операций над данными:

Запомнить, то есть внести информацию в нашу базу данных;

Включить в групповое отношение, то есть установить между данными определенные связи;

Переключить, то есть сделать переход одного члена набора к какому-то другому владельцу;

Обновить, то есть произвести какие-либо модификации данных;

Извлечь, то есть осуществить операции по чтению данных;

Удалить, то есть произвести логическое или физическое удаление данных;

Исключить какую-то запись из группового отношения, то есть осуществить разрыв связи между данными.

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


Top