- Сетевая модель данных
- Основные элементы сетевой модели данных
- Особенности построения сетевой модели данных
- 22. Сетевая модель данных. Язык описания данных (ddl) в сетевой модели.
- 20. Реляционная модель данных. Операции реляционной алгебры, выполняемые над отношениями.
- Сетевые базы данных
- Управление данными в сетевой базе данных
- Достоинства и недостатки модели
- Использование сетевой модели в современных информационных технология
Сетевая модель данных
Сетевая модель данных — это логическая модель данных, представляющая их сетевыми структурами типов записей и связанные отношениями мощности один-к-одному или один-ко-многим.
В отличие от реалиционной модели, связи в ней моделируются наборами, которые реализуются с помощью указателей. Сетевые модели данных являются расширенной версией ерархической модели, однако основным отличием является то, что в сетевых моделях данных имеются указатели в обоих направлениях, которые соединяют родственную информацию. Сетевую модель можно представить как граф узлами, которого является запись, а ребрами — набор. Сегменты данных в сетевых БД могут иметь множественные связи с сегментами старшего уровня. При этом направление и характер связи в сетевых БД не являются столь очевидными, как в случае иерархических БД. Поэтому имена и направление связей должны идентифицироваться при описании БД.
Основные элементы сетевой модели данных
- Элемент данных – минимальная информационная единица доступная пользователю.
- Агрегат данных – именованная совокупность элементов данных внутри записи или другого агрегата, которую можно рассматривать как единое целое. Имя агрегата используется для его идентификации в схеме структуры данного более высокого уровня. Агрегат данных может быть простым, если состоит только из элементов данных, и составным, если включает в свой состав другие агрегаты.
- Запись — совокупность агрегатов или элементов данных, отражающих некоторую сущность предметной области. Иными словами, запись — это агрегат, который не входит в состав никакого другого агрегата и может иметь сложную иерархическую структуру, поскольку допускается многократное применение агрегации. Имя записи используется для идентификации типа записи в схемах типов структур более высокого уровня.
- Тип записей – эта совокупность подобных записей. Тип записей представляет некоторый класс реального мира.
- Набор — именованная двухуровневая иерархическая структура, которая содержит запись владельца и запись (или записи) членов. Наборы отражают связи «один ко многим» и «один к одному» между двумя типами записей.
Наборы бывают нескольких видов:
- С одними и теми же типами записей, но разными типами наборов.
- Наборы из трех записей и более, в том числе с обратной связью.
- Сингулярный набор (только один экземпляр). У такого набора нет естественного владельца и в качестве него выступает система. В дальнейшем такие наборы могут приобрести запись — владельца.
Особенности построения сетевой модели данных
- База данных может состоять из произвольного количества записей и наборов различных типов.
- Связь между двумя записями может выражаться произвольным количеством наборов.
- В любом наборе может быть только один владелец.
- Тип записи может быть владельцем в одних типах наборов и членом в других типах наборов.
- Тип записи может не входить ни в какой тип наборов.
- Допускается добавление новой записи в качестве экземпляра владельца, если экземпляр-член отсутствует.
- При удалении записи-владельца удаляются соответствующие указатели на экземпляры-члены, но сами записи-члены не уничтожаются (сингулярный набор).
Реализация групповых отношений в сетевой модели осуществляется с использованием указателей (адресов связи или ссылок), которые устанавливают связь между владельцем и членом группового отношения. Запись может состоять в отношениях разных типов (1:1, 1:N, M:N). Заметим, что если один из вариантов установления связи 1:1 очевиден (в запись – владелец отношения, поля которой соответствуют атрибутам сущности, включается дополнительное поле – указатель на запись – член отношения), то возможность представления связей 1:N и M:N таким же образом весьма проблематична. Поэтому наиболее распространенным способом организации связей в сетевых СУБД является введение дополнительного типа записей, полями которых являются указатели.
22. Сетевая модель данных. Язык описания данных (ddl) в сетевой модели.
Сетевые модели данных базируется на использование графовой формы представления данных. Вершины графа используется для интерпретации типов сущностей. При реализации вершины графа представляются совокупностью описаний экземпляров сущностей соответствующего типа.
Язык, используемый для определения такой структуры, называется языком определения данных (data definition language, DDL). В текстовом DDL-файле перечисляются названия таблиц, указаны названия столбцов этих таблиц и описано их содержимое, определены индексы.
Структура БД может быть определена не только с помощью DDL в текстовом формате. Это может быть и графический способ задания структуры базы данных. На серверах и больших ЭВМ применяются как текстовые, так и графические средства. Например, в Oracle и SQL Server для определения данных могут применяться оба способа.
Во многих СУБД разработчик может устанавливать пароли и использовать другие средства контроля и безопасности. Существует множество различных стратегий обеспечения безопасности. В одних стратегиях объектами контроля являются структуры данных (например, таблица защищается паролем), в других – пользователи (ограничения на действия с таблицами).
20. Реляционная модель данных. Операции реляционной алгебры, выполняемые над отношениями.
В основе реляционной модели лежит реляционнное отношение. Отношение – это некоторое подмножество декартова произведения одного или более доменов. Домен – это множество (набор) однородных значений. Декартовым произведением доменов D1, D 2, …, D n называется множество всех кортежей (d1, d2,…,dn) длины n, то есть состоящих из n элементов – по одному элементу из каждого домена. Отношение степени 1 называется унарным, степени 2 – бинарным, степени 3 — тернарное, а степени n – арным. Число кортежей в этом подмножестве называется кардинальным числом отношения. Арность кортежа определяет арность отношения. Отношение имеет простую графическую интерпретацию, оно может быть представлено в виде таблицы, столбцы которой соответствуют вхождениям доменов в отношение, а строки – наборам из n значений, взятых из исходных доменов. Тогда можно дать следующее определение отношению. Отношение (relation) – это двумерная таблица. Каждая строка в таблице содержит данные, относящиеся к некоторому объекту или его части. Каждый столбец таблицы описывает какой-либо атрибут этого объекта. Иногда строки называются кортежами (tuples), а столбцы – атрибутами (attributes).
Объединением отношений называется отношение, содержащее множество кортежей принадлежащих либо первому, либо второму исходным отношениям, либо обоим одновременно: R1 = ; R2 =
Разностью отношений R1, R2 (R=R1\R2) называется множество кортежей принадлежащих R1, но не принадлежащих R2. Формат операции разности имеет следующий вид: R1 = ; R2 =
Пересечением отношений R1 и R2 называется отношение R той же арности, что и R1, R2 состоящее из кортежей принадлежащих одновременно как R1, так и R2. Формат операции пересечения имеет следующий вид: R=R1?R2=.
Операция произведения. Эту операцию можно реализовывать над отношениями разной арности.
Операция соединения используется для связывания данных между таблицами. Это, наиболее важная функция любого языка баз данных. У нее есть несколько версий: естественное соединение, тета-соединение, внешнее соединение. Наиболее важным из них является естественное соединение.
Операция проекции позволяет получить из некоторого отношения R новое отношение, в которое выбираются отдельные столбцы отношения R и компонуются в указанном порядке.
Сетевые базы данных
Базы данных являются моделью реального мира, потому в них находят свое представление объекты реального мира и связи между ними. Основой для сетевой модели данных является понятие ориентированного графа. В математике графом называется модель, состоящая из узлов и ребер.
Узлами являются объекты сетевой базы данных, а ребрами – связи между объектами. В реальном мире связи между объектами делятся на три типа:
Сетевая модель поддерживает только два из этих типов: «один-к-одному» и «один-ко-многим». Ребра направленного графа показывают не только саму связь, то и тип связи.
Сетевая модель данных состоит из следующих структурных элементов:
- Атрибут – минимальная информационная единица данных, к которой пользователь может обратиться по имени. Аналогом атрибута является поле в реляционной модели данных.
- Агрегат данных – именованная совокупность данных, объединенная логикой содержимого и относящаяся к одному объекту. Например, если имеется атрибут «серия паспорта» и «номер паспорта», то их можно объединить в агрегат данных «паспортные данные». Это будет выглядеть как таблица с иерархическим заголовком.
В реляционной модели данных аналогичное понятие отсутствует.
- Запись – совокупность атрибутов и/или агрегатов, соответствующая какому-либо объекту реального мира. Можно сказать, что запись – это агрегат, который не входит в другие агрегаты. В реляционной модели данных этому понятию соответствует таблица.
- Тип записи – совокупность записей с одинаковыми атрибутами.
- Набор записей – структура, моделирующая связь между двумя типами записей. Если набор реализует отношение «один-ко-многим», то один тип записей в наборе называется «владельцем», другой – «подчиненным». Отношение «один-ко-многим» реализуется от владельца к подчиненным. Например, между типами «Специальность» и «Студент» нужно установить связь типа «один-ко-многим», потому что на одной специальности учится много студентов. Тогда набор будет выглядеть, как показано на рисунке. Тип записей «Специальность» является владельцем, тип записей «Студент» — подчиненным. Одной записи типа «Специальность» может соответствовать ноль или несколько записей типа «Студент». Связи устанавливаются за счет добавления в запись указателей на другие записи.
- Сетевая база данных — это совокупность всех записей и наборов, которые достаточны для полного описания какой-либо предметной области.
Сетевая база данных может состоять из любого количества записей и наборов разных типов. Две записи могут быть связаны любым количеством наборов, но в каждом наборе может быть только одна запись-владелец. Один и тот же тип записей может быть владельцем в одном наборе и подчиненным в другом наборе. Типа записи может вообще не входить ни в один набор.
Управление данными в сетевой базе данных
Все операции в сетевых базах производятся с записью, которая является текущей. Текущая запись выбирается путем навигационных операций. Навигационными являются следующие операции:
- Выбрать конкретную запись из совокупности однотипных записей.
- Перейти от записи-владельца к подчиненной записи в определенном наборе.
- Перейти к следующей записи.
- Перейти от подчиненной записи к записи-владельцу.
После выбора текущей записи становятся возможными следующие операции:
- Добавление новой записи с автоматическим включением ее в набор.
- Включение записи в набор, то есть связывание уже существующей записи с записью – владельцем.
- Переключение — связывание подчиненной записи с другим владельцем в том же наборе.
- Обновление – изменение атрибутов существующей записи.
- Исключение из набора позволяет разорвать связь между записью- владельцем и подчиненными записями.
- Удаление позволяет исключить запись из базы данных. Удаление требует предварительного анализа целостности данных. Если удаляется запись-владелец, то все подчиненные записи должны быть исключены из набора.
Достоинства и недостатки модели
Сетевая модель данных достаточно хорошо стандартизирована. В 1969 году консорциум CODASYL предложил спецификацию формального языка для описания сетевой модели. Модель обладает высокой выразительной способностью, так как позволяет устанавливать сложные отношения между данными. Сетевые базы данных отличаются высоким быстродействием и универсальностью.
С другой стороны пользователи сетевых баз данных ограничены использованием той структуры данных, которую определил для них разработчик. Поэтому сетевые базы данных лишены гибкости – любое изменение структуры базы данных влечет перестройку всех записей путем введения новых указателей. Сетевые базы данных требуют сложной структуры памяти. В сетевых базах данных довольно трудно контролировать целостность данных.
Использование сетевой модели в современных информационных технология
Сетевая модель данных предшествовала реляционной и потому долгое время считалась устаревшей. Однако, практика показала, что для структурирования больших объемов трудноформализуемых данных сетевая модель подходит лучше реляционной. Например, сетевая организация данных лежит в основе глобальной сети Интернет, а реляционную модель с этой целью использовать невозможно.
В последние годы на рынке ИТ стали появляться новые программные продукты, основанные на сетевой модели данных. Среди них инструментальная система управления базами данных CronosPRO, сетевая объектно-ориентированная база знаний Cerebrum. Cистема управления базами данных GT.M поддерживает несколько моделей данных одновременно, в том числе и сетевую.