Читайте также:
|
|
В рамках этой модели данные организуются в форме древовидного графа (см. рис 3). Пользователь представляет данные в виде экземпляров иерархии, в данном случае – четыре отдельных дерева, соответствующих деталям. Каждый экземпляр записи поставщика включает соответствующую величину, характеризующую величину поставки. Записи в вершине дерева (детали) обычно называют «корнем». Заметим, что набор порожденных записей для данного экземпляра корневой записи может содержать любое количество записей, в том числе и нуль. Вообще, корень может иметь произвольное число подчиненных элементов, для каждого из которых, в свою очередь, возможно существование произвольного количества подчиненных элементов более низкого уровня, и т.д. для произвольного количества уровней.
В предыдущем примере мы уподобили реляционную модель набору отдельных файлов. По аналогии, можно уподобить иерархическую модель единственному файлу, содержащему наборы разнотипных записей, а также связи (ссылки) между записями разного уровня.
Принципиальным отличием между реляционным и иерархическим представлением данных являются более жесткие ограничения на доступ к информации. Доступ к любым данным возможен только через корень дерева, и для доступа к конкретной записи необходимо задать маршрут доступа. Это обеспечивает очень высокое быстродействие такой модели на так называемых прямых запросах, т.е. таких, при которых направление поиска совпадает с направлением ребер древовидного графа. В приведенной на рис.3 схеме примером прямого запроса может быть поиск количества болтов, закупленных у поставщика3. Теоретически, на реализации прямых запросов СУБД иерархического типа способны обеспечить максимальную скорость поиска по сравнению с сетевыми и реляционными. Однако, для ответа на вопрос типа «какие детали были закуплены у поставщика1?» понадобится гораздо большее количество поисковых операций. Такой запрос называется инверсным.
Болт | Сталь |
Поставщик1 | |||
Поставщик1 | |||
Поставщик1 | |||
Поставщик3 | |||
Поставщик3 |
Гайка | Бронза |
Поставщик3 |
Рис. 3. Пример данных в иерархической форме.
Дата добавления: 2015-07-19; просмотров: 116 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Реляционная модель данных. | | | Сетевая модель данных. |