На главную

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

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

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

Три категории модели данных:

  1. объектные модели данных;
  2. модели данных на основе записей;
  3. физические модели данных.

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

Иерархическая модель представляет собой связный неориентированный граф древовидной структуры, объединяющий сегменты. Иерархическая БД состоит из упорядоченного набора деревьев; более точно, из упорядоченного набора нескольких экземпляров одного типа дерева, а не произвольных графов. При этом граф-дерево обладает следующими свойствами (рис. 4.13):

  • 1. имеется только одна вершина графа — корень, в которую не заходит ни одно ребро;
  • 2. имеются вершины графа n-ого уровня, называемые исходными, куда заходит одно ребро (n-1) уровня; исходит из этого узла ноль, один или несколько порожденных узлов, которые называются потомками;
  • 3. единственный проход к порожденному узлу лежит через его исходный узел;
  • 4. каждый потомок может иметь только одного предка;
  • 5. нет замкнутых петель или циклов;
  • 6. сегмент, у которого нет потомков, называется листовым сегментом.

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

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

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

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

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

    Преобразование бинарной связи типа «многие ко многим» осуществляется по следующему правилу. Каждый объект, участвующий в такой связи, с его атрибутами становится логическим сегментом. Пусть это сегменты С1 и С2. В отражаемой структуре данных производят преобразования, которые сводятся к замене одного дерева двумя деревьями. Первое дерево включает оба сегмента, между которыми устанавливается связь типа «один ко многим», где С1 — предок, а С2 — потомок. Второе дерево включает опять оба этих сегмента, между которыми устанавливается связь типа «один ко многим», но только в этом случае С2 — предок, а С1 — потомок.


    На главную
    Hosted by uCoz