Сетевая модель данных
Базовые объекты модели: элемент данных, агрегат данных, запись, набор данных.
Элемент данных – это минимальная информационная единица, доступная пользователю. Аналог поля.
Агрегат данных – совокупность элементов данных, имеющих общее имя, которые могут рассматриваться как единое целое. В модели определены агрегаты двух типов: вектор и повторяющаяся группа.
Вектор – линейный набор элементов данных. Пример (Адрес: дом улица кварт. город)
Группа – совокупность векторов Пр: Стипендия – повторяющаяся группа с числом повторения 12.
Запись – совокупность агрегатов или элементов данных моделирующая некоторый класс объектов реального мира. Аналог сегмента или кортежа.
Существует понятие типа записи и экземпляра записи.
Набор – 2х уровневый граф, связывающий 2 типа записей видом 1:M. Набор отражает иерархическую связь между двумя типами записи. Родительский тип записи – владелец набора. Дочерний – член. Для любых 2-х типов записи м. б. задано любое количество наборов, которое их связывает. В рамках набора возможен последовательный просмотр экземпляров членов набора, связанных с одним экземпляром владельца набора. Ограничением набора является то, что один и тот же тип записи не может быть одновременно владельцем и членом набора.
Среди всех наборов определяется сингулярный набор, владелец которого – вся система. Обозначается входящей стрелкой. Он имеет имя набора и имя члена набора, но не определён тип записи: владелец набора. Сингулярные наборы позволяют обеспечить доступ к экземплярам отдельных типов данных.
В общем случае сетевая БД представляет совокупность взаимосвязанных наборов. Язык описания данных в сетевой модели содержит описание БД, описание записи, описание набора. Операции манипулирования данными делятся на навигационные и операции модификации.
(+)Высокие возможности по созданию сложных иерархических структур
Возможность эффективной реализации по затратам памяти и оперативности
(-) Высокая сложность и жесткость схемы БД
Сложность для понимания и обработки информации в БД
Ослаблен контроль целостности
Реляционная модель данных. Элементы модели
Определение. Элементы, информацию о которых сохраняем, называются объектами.
Определение. Совокупность однородных объектов называется набором объектов.
Определение. Свойства, характеризующие объект, называются атрибутами.
Определение. Описание логической структуры базы данных называется схемой.
Схема представляет собой таблицу типов используемых данных. Она содержит имена объектов и их атрибуты и указывает на существующую между ними связь.
Если схема содержит значения элементов данных, её называют экземпляром схемы. Запись — такая структура, в которую можно помещать конкретные значения данных. Экземпляр записи — запись с конкретным значением данных.
Термин схема используется для определения полной таблицы всех типов элементов данных и типов записей, хранимых в базе данных. Термином подсхема определяют описание данных, которое использует прикладной программист. На основе одной схемы можно составить много различных подсхем.
В основе РМД (реляционная модель данных) лежит математическая теория отношений.
Для представления данных математическое отношение используется двояко:
1). Для представления набора объектов,
2). Для представления связей между наборами объектов.
Для представления набора объектов атрибуты интерпретируются столбцами отношения. Множество допустимых значений атрибута интерпретируется соответствующим доменом. Каждый кортеж отношения выполняет роль описания отдельного объекта из набора. Само отношение выполняет роль описания всего набора объектов.
Массив данных, представленный набором реляционных структур, образует реляционную БД. Схема РБД(реляционная база данных) будет представлена набором схем отношений:
где Аi j — имя атрибута, R j — имя отношения.
Одним из основных типов зависимостей, рассматриваемых в РБД, являются функциональные зависимости.
Элементы реляционной модели
Сетевая модель данных
Сетевая модель данных — это логическая модель данных, представляющая их сетевыми структурами типов записей и связанные отношениями мощности один-к-одному или один-ко-многим.
В отличие от реалиционной модели, связи в ней моделируются наборами, которые реализуются с помощью указателей. Сетевые модели данных являются расширенной версией ерархической модели, однако основным отличием является то, что в сетевых моделях данных имеются указатели в обоих направлениях, которые соединяют родственную информацию. Сетевую модель можно представить как граф узлами, которого является запись, а ребрами — набор. Сегменты данных в сетевых БД могут иметь множественные связи с сегментами старшего уровня. При этом направление и характер связи в сетевых БД не являются столь очевидными, как в случае иерархических БД. Поэтому имена и направление связей должны идентифицироваться при описании БД.
Основные элементы сетевой модели данных
- Элемент данных – минимальная информационная единица доступная пользователю.
- Агрегат данных – именованная совокупность элементов данных внутри записи или другого агрегата, которую можно рассматривать как единое целое. Имя агрегата используется для его идентификации в схеме структуры данного более высокого уровня. Агрегат данных может быть простым, если состоит только из элементов данных, и составным, если включает в свой состав другие агрегаты.
- Запись — совокупность агрегатов или элементов данных, отражающих некоторую сущность предметной области. Иными словами, запись — это агрегат, который не входит в состав никакого другого агрегата и может иметь сложную иерархическую структуру, поскольку допускается многократное применение агрегации. Имя записи используется для идентификации типа записи в схемах типов структур более высокого уровня.
- Тип записей – эта совокупность подобных записей. Тип записей представляет некоторый класс реального мира.
- Набор — именованная двухуровневая иерархическая структура, которая содержит запись владельца и запись (или записи) членов. Наборы отражают связи «один ко многим» и «один к одному» между двумя типами записей.
Наборы бывают нескольких видов:
- С одними и теми же типами записей, но разными типами наборов.
- Наборы из трех записей и более, в том числе с обратной связью.
- Сингулярный набор (только один экземпляр). У такого набора нет естественного владельца и в качестве него выступает система. В дальнейшем такие наборы могут приобрести запись — владельца.
Особенности построения сетевой модели данных
- База данных может состоять из произвольного количества записей и наборов различных типов.
- Связь между двумя записями может выражаться произвольным количеством наборов.
- В любом наборе может быть только один владелец.
- Тип записи может быть владельцем в одних типах наборов и членом в других типах наборов.
- Тип записи может не входить ни в какой тип наборов.
- Допускается добавление новой записи в качестве экземпляра владельца, если экземпляр-член отсутствует.
- При удалении записи-владельца удаляются соответствующие указатели на экземпляры-члены, но сами записи-члены не уничтожаются (сингулярный набор).
Реализация групповых отношений в сетевой модели осуществляется с использованием указателей (адресов связи или ссылок), которые устанавливают связь между владельцем и членом группового отношения. Запись может состоять в отношениях разных типов (1:1, 1:N, M:N). Заметим, что если один из вариантов установления связи 1:1 очевиден (в запись – владелец отношения, поля которой соответствуют атрибутам сущности, включается дополнительное поле – указатель на запись – член отношения), то возможность представления связей 1:N и M:N таким же образом весьма проблематична. Поэтому наиболее распространенным способом организации связей в сетевых СУБД является введение дополнительного типа записей, полями которых являются указатели.
4.4.2 Основные элементы сетевой модели данных
Элемент данных – минимальная информационная единица доступная пользователю.
Агрегат данных – именованная совокупность элементов данных внутри записи или другого агрегата, которую можно рассматривать как единое целое. Имя агрегата используется для его идентификации в схеме структуры данного более высокого уровня. Агрегат данных может быть простым, если состоит только из элементов данных, и составным, если включает в свой состав другие агрегаты.
Запись — совокупность агрегатов или элементов данных, отражающих некоторую сущность предметной области. Иными словами, запись — это агрегат, который не входит в состав никакого другого агрегата и может иметь сложную иерархическую структуру, поскольку допускается многократное применение агрегации. Имя записи используется для идентификации типа записи в схемах типов структур более высокого уровня.
Тип записей – эта совокупность подобных записей. Тип записей представляет некоторый класс реального мира.
Набор — именованная двухуровневая иерархическая структура, которая содержит запись владельца и запись (или записи) членов. Наборы отражают связи «один ко многим» и «один к одному» между двумя типами записей.
Наборы бывают нескольких видов:
С одними и теми же типами записей, но разными типами наборов.
Наборы из трех записей и более, в том числе с обратной связью.
Сингулярный набор (только один экземпляр). У такого набора нет естественного владельца и в качестве него выступает система. В дальнейшем такие наборы могут приобрести запись — владельца.
4.4.3 Особенности построения сетевой модели данных
База данных может состоять из произвольного количества записей и наборов различных типов.
Связь между двумя записями может выражаться произвольным количеством наборов.
В любом наборе может быть только один владелец.
Тип записи может быть владельцем в одних типах наборов и членом в других типах наборов.
Тип записи может не входить ни в какой тип наборов.
Допускается добавление новой записи в качестве экземпляра владельца, если экземпляр-член отсутствует.
При удалении записи-владельца удаляются соответствующие указатели на экземпляры-члены, но сами записи-члены не уничтожаются (сингулярный набор).
Реализация групповых отношений в сетевой модели осуществляется с использованием указателей (адресов связи или ссылок), которые устанавливают связь между владельцем и членом группового отношения. Запись может состоять в отношениях разных типов (1:1, 1:N, M:N). Заметим, что если один из вариантов установления связи 1:1 очевиден (в запись – владелец отношения, поля которой соответствуют атрибутам сущности, включается дополнительное поле – указатель на запись – член отношения), то возможность представления связей 1:N и M:N таким же образом весьма проблематична. Поэтому наиболее распространенным способом организации связей в сетевых СУБД является введение дополнительного типа записей, полями которых являются указатели.
Стандартизация. Появление стандарта CODASYL, который определил базовые понятия модели и формальный язык описания.
Быстродействие. Быстродействие сетевых баз данных сравнимо с быстродействием иерархических баз данных.
Гибкость. Множественные отношения предок/потомок позволяют сетевой базе данных хранить данные, структура которых была сложнее простой иерархии.
Универсальность. Выразительные возможности сетевой модели данных являются наиболее обширными в сравнении с остальными моделями.
Возможность доступа к данным через значения нескольких отношений (например, через любые основные отношения).
Жесткость. Наборы отношений и структуру записей необходимо задавать наперёд. Изменение структуры базы данных ведет за собой перестройку всей базы данных.. Связи закреплены в записях в виде указателей. При появлении новых аспектов использования этих же данных может возникнуть необходимость установления новых связей между ними. Это требует введения в записи новых указателей, т.е. изменения структуры БД, и, соответственно, переформирования всей базы данных.
Сложность. Сложная структура памяти.