Организация веерного отношения в памяти ЭВМ
В структуру основного и зависимого отношений вводится дополнительный атрибут, называемый адресом связи. Значения адресов связи совместно обеспечивают в веерном отношении соответствие каждого значения зависимого отношения S с единственным значением основного отношения R (рис.3.14).
Рис. 3.14
Адрес связи некоторой записи основного отношения указывает на одну из записей зависимого отношения (значением адреса связи основного отношения является начальный адрес этой записи зависимого отношения), адрес связи указанной записи зависимого отношения - на следующую запись зависимого отношения, связанную с той же записью основного отношения и т.д. Последняя запись зависимого отношения в этой цепочке адресует названную выше запись основного отношения.
Получается кольцевая структура адресов связи, называемая веером, где роль "ручки" веера играет запись основного отношения.
Если существует веерное отношение, то ключ зависимого отношения функционально определяет ключ основного отношения, и наоборот.
Рассмотрим операции выборки для двухуровневой сетевой базы данных (рис.3.15). По условиям выборки находим запись в основном отношении. С помощью специальной команды получаем запись в зависимом отношении. При выборке в зависимом отношении текущей записью становится следующая запись зависимого отношения относительно той, которая раньше была текущей в зависимом отношении.
Пример сетевой базы данных для операций выборки
Рис. 3.15
Аналог операции проекции для сетевой СУБД не нужен, так как соответствующие функции выполняет описание подсхемы сетевой базы данных. Схемой сетевой БД называется описание всех отношений с указанием атрибутного состава и ключей каждого отношения, а также веерных отношений. В прикладной программе имеется возможность объявить часть отношений сетевой базы данных, в каждом отношении - некоторое подмножество атрибутов (с обязательным оставлением атрибутов-ключей) и лишь некоторые веерные отношения. Соответствующее описание данных называется подсхемой. Отношения, веерные отношения и атрибуты, не указанные в подсхеме, становятся недоступными прикладной программе. В отличие от операции проекции база данных, соответствующая подсхеме, не создается физически, а происходит ограничение доступа к исходной БД, которая определена в схеме.
Аналог операции соединения в сетевой СУБД также не нужен, но по другой причине. Дело в том, что результаты допустимых соединений фактически зафиксированы в сетевой СУБД с помощью цепочек адресов связи. Доступ к результатам возможного соединения начинается от некоторого основного отношения к вееру значений в соответствующем зависимом отношении, достигаемые при этом значения ключей в зависимом отношении запоминаются и используются для поиска в каком-то другом основном отношении, от этого основного отношения возможен переход к новому зависимому и т.д.
3.8 Иерархическая модель данных
Иерархическая модель данных имеет много общих черт с сетевой моделью данных, хронологически она появилась даже раньше, чем сетевая.
Иерархическая база данных для вуза:
а — исходная структура; б — с добавленными сведениями о группах дипломников
Рисунок 3.16.
Допустимыми информационными конструкциями в иерархической модели данных являются отношение, веерное отношение и иерархическая база данных.
Иерархической базой данных называется множество отношений и веерных отношений, для которых соблюдаются два ограничения:
1) Существует единственное отношение, называемое корневым, которое не является зависимым ни в одном веерном отношении.
2) Все остальные отношения (за исключением корневого) являются зависимыми отношениями только в одном веерном отношении
Необходимо отметить, что существуют различные возможности прохождения иерархически организованных значений в линейной последовательности. Принцип, применяемый для иерархических баз данных, называется концевым прохождением.
Правила концевого прохождения:
1) Начиная с первого значения корневого отношения, перечисляются первые значения соответствующих отношений на каждом уровне вплоть до последнего.
2) Перечисляются все значения в том веерном отношении, на котором остановился шаг 1.
3) Перечисляются значения всех вееров этого веерного отношения.
4) От достигнутого уровня происходит подъем на предыдущий уровень, и если возможно применить шаг 1, то процесс повторяется.
3.9 Сравнение моделей данных
Рассматривая преимущества и недостатки известных моделей данных, следует отметить ряд несомненных достоинств реляционного подхода:
- Простота. В реляционной модели всего одна информационная конструкция, которая формализует табличное представление данных, привычное для пользователей-экономистов.
- Теоретическое обоснование. Наличие теоретически обоснованных методов нормализации отношений и проверки ацикличности структуры позволяет получать базы данных с заданными характеристиками.
- Независимость данных. Когда необходимо изменить структуру реляционной БД, это, как правило, приводит к минимальным изменениям в прикладных программах.
Среди недостатков реляционной модели данных необходимо назвать следующее:
- Низкая скорость при выполнении операции соединения.
- Большой расход памяти для представления реляционной БД.
Достоинствами иерархической модели данных является следующее:
- Простота. Хотя модель использует три информационные конструкции, иерархический принцип соподчиненности понятий является естественным для многих экономических задач (например, организация статистической отчетности).
- Минимальный расход памяти. Для задач, допускающих реализацию с помощью любой из трех моделей данных, иерархическая модель позволяет получить представление с минимально требуемой памятью.
Недостатки иерархической модели:
- Неуниверсальность. Многие важные варианты взаимосвязи данных невозможно реализовать средствами иерархической модели, или реализация связана с повышением избыточности в базе данных.
- Допустимость только навигационного принципа доступа к данным.
- Доступ к данным производится только через корневое отношение.
Необходимо отметить следующие преимущества сетевой модели данных:
- Универсальность. Выразительные возможности сетевой модели данных являются наиболее обширными в сравнении с остальными моделями.
- Возможность доступа к данным через значения нескольких отношений (например, через любые основные отношения).
В качестве недостатков сетевой модели данных можно назвать:
- Сложность, т.е. обилие понятий, вариантов их взаимосвязей и особенностей реализации.
- Допустимость только навигационного принципа доступа к данным.
В последнее время реляционные СУБД заняли преимущественное положение как средство разработки ЭИС. Недостатки реляционной модели компенсируются ростом быстродействия и ресурсов памяти современных ЭВМ. Вследствие процессов децентрализации управления в экономике многие базы данных ЭИС имеют простую структуру, которая легко трансформируется в понятные системы таблиц (отношений).