Сетевые модели баз данных

Как было сказано выше, сетевая модель данных реализует связи типа "многие ко многим". Сетевые базы данных разрабатывались Ассоциацией по языкам систем обработки данных КОДАСИЛ1) и ее рабочей группой DBTG. Первые исследования этой группы были направлены на создание языков программирования задач обработки данных, в частности, языка КОБОЛ. В дальнейшем были разработаны специальные предложения DBTG для систем управления сетевыми базами данных.

Наибольшее развитие получили две группы языков: языки описания данных (ЯОД КОДАСИЛ) и языки манипулирования данными (ЯМД КОДАСИЛ). Первые служат для описания сетевой базы данных, предназначенной для коллективного использования программами, написанными на различных языках. Вторые — для включения, удаления и модификации данных в сетевой БД.

Сформулируем основные определения ЯОД КОДАСИЛ и укажем на соответствие определений в сетевых и реляционных БД. Пример структуры сетевой базы данных приведен на рис. 11.1. Там же условно показаны основные термины сетевой БД.

Элемент данных — наименьшая единица поименованных данных, представляемых в БД значением, — соответствует значению атрибута в реляционной БД (РБД).

Агрегат данных — совокупность элементов данных внутри одной записи — соответствует домену в РБД.

Рис. 11.1. Структура сетевой базы данных

Запись — совокупность элементов данных, состоящая из элементов или агрегатов данных — соответствует кортежу в РБД. Она характеризуется типом записи, которому соответствует произвольное число ее экземпляров.

Набор — совокупность записей — соответствует отношению в РБД; характеризуется типом набора (имя отношения в РБД). Каждый экземпляр набора должен содержать один экземпляр объявленного для него типа записи — владельца — и один или несколько типов записей — членов набора. Например, если тип набора ТРАНЗИСТОРЫ СВЧ, то тип записи для владельца набора — ТРАНЗИСТОРЫ; тип записей членов набора — марки транзисторов СВЧ (рис. 11.1).

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

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

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

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

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

Последовательные структуры данных являются простейшими из них и представлены в БД одним набором, члены которого упорядочены определенным образом. В древовидных структурах — иерархических — каждая запись (кроме одной, называемой корневой) связана с нулем или несколькими различными записями, расположенными ниже ее по иерархии, и с одной записью, расположенной выше. Корнем дерева служит запись наивысшего уровня, например, ТРАНЗИСТОРЫ на рис. 11.1. Так как каждый набор может иметь произвольное число записей (членов этого набора) и допускается произвольное число типов наборов, дерево может быть любой ширины и глубины.

Циклы — замкнутые структуры в БД. Различают однотипные и многотипные циклы. В однотипных циклах один и тот же тип записи объявляется и владельцем, и членом одного и того же типа набора. Например, тип набора СОСТОИТ ИЗ (рис. 11.1), означает, что каждый прибор может, в свою очередь, состоять из других приборов. В многотипных циклах владелец одного типа набора является членом предыдущего.

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

Разработан синтаксис ЯОД КОДАСИЛ, включающий в себя различные типы сетей описания данных, схемы, области, записи и набора.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: