Иерархический способ организации информации

IT-блог о веб-технологиях, серверах, протоколах, базах данных, СУБД, SQL, компьютерных сетях, языках программирования и создание сайтов.

Иерархическая база данных. Иерархическая модель данных

Здравствуйте, уважаемые посетители моего скромного блога для начинающих вебразработчиков и web мастеров ZametkiNaPolyah.ru. Продолжаем рубрику Заметки о MySQL, в которой уже были публикации: Нормальные формы и транзитивная зависимость, избыточность данных в базе данных, типы и виды баз данных, настройка MySQL сервера и файл my.ini, MySQL сервер, установка и настройка, Архитектура СУБД и архитектура баз данных, Сетевая база данных, сетевая модель данных. Я продолжаю рассматривать различные модели данных, и сегодня мы поговорим про иерархическую модель данных или иначе – иерархическую базу данных.

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

Иерархическая модель данных

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

Читайте также:  Эффективные способы лечения кашля у детей

Иерархическая база данных. Иерархическая модель данных.

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

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

Точно такие же особенности присуще иерархической СУБД, то есть базы данных, имеющие иерархическую структуру, умеют очень быстро находить и выбирать информацию и отдавать ее пользователю. Но структура иерархической модели данных не позволяет столь же быстро перебирать информацию. Ну, это видно из рисунка, представленного выше. Допустим, что нам необходимо найти все записи, содержащие слово «сотрудник». Как будет поступать иерархическая СУБД в этом случае? А поступать она будет следующим образом: свой поиск она начнет с корневого элемента иерархической модели данных, проверив его, она начнет проверять его связи, если связей будет несколько, то она пойдет проверять в крайний левый дочерний элемент, расположенный на уровень ниже.

Читайте также:  Тыквенная каша способы приготовления

Затем иерархическая СУБД проверит содержимое этого элемента и его связи, если связей опять будет несколько, то она отправится опять-таки в крайний левый дочерний элемент, чтобы проверить его содержимое, проверив его содержимое она увидит, что у этого узла нет дочерних элементов и вернется в родительский узел этого узла, чтобы проверить, есть ли у него еще дочерние элементы. И так постепенно, узел за узлом, спуская и поднимаясь по иерархии узлов СУБД переберет все узлы и выдаст нам все записи, в которых есть слово «сотрудник». Ну, думаю, что с иерархической моделью данных мы более-менее разобрались (если не разобрались, то пишите в комментарии), можно приступить к рассмотрению структуры иерархической базы данных.

Структура иерархической базы данных

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

Иерархическая база данных. Иерархическая модель данных.

Экземпляр сегмента образуется из конкретных значений полей данных. Тип сегмента – это именованная совокупность всех типов полей данных, входящих в данный сегмент. Если ориентироваться по рисунку выше, то тип сегмента – это родительский элемент и все его дочерние элементы. Как я уже говорил: иерархическая модель данных базируется на теории графов, но если структура сетевой БД описывается ориентированным графом (графом со стрелочками), то структура иерархической базы данных описывается неориентированным графом. Характерной особенностью структуры иерархической модели данных является то, что у любого потомка или дочернего элемента может быть только один предок или родительский элемент.

Каждый узел иерархического дерева или каждый элемент иерархической базы данных является сегментом данных. Линии, соединяющие сегменты – это связи между информационными объектами иерархической базы данных. Рисунок должен внести дополнительную ясность:

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

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

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

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

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

Управление иерархическими данными

У иерархической модели данных существует два средства управления данными: языковые средства описания данных (ЯОД) и языковые средства манипулирования данными (ЯМД). Физическая структура иерархической базы данных описывает: логическую структуру иерархической модели данных и саму структуру хранения базы данных.

При этом способ доступа устанавливает способ организации взаимосвязи физических записей. Определены следующие способы доступа:

  • иерархически последовательный;
  • иерархически индексно-последовательный;
  • иерархически прямой;
  • иерархически индексно-прямой;
  • индексный.

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

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

  • найти указанное дерево БД;
  • перейти от одного дерева к другому;
  • найти экземпляр сегмента, удовлетворяющий условию поиска;
  • перейти от одного сегмента к другому внутри дерева;
  • перейти от одного сегмента к другому в порядке обхода иерархии.

Примеры типичных операторов поиска данных с возможностью модификации:

  • найти и удержать для дальнейшей модификации единственный экземпляр сегмента, удовлетворяющий условию поиска;
  • найти и удержать для дальнейшей модификации следующий экземпляр сегмента с теми же условиями поиска;
  • найти и удержать для дальнейшей модификации следующий экземпляр для того же родителя.

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

  • вставить новый экземпляр сегмента в указанную позицию;
  • обновить текущий экземпляр сегмента;
  • удалить текущий экземпляр сегмента.

Источник

Иерархический способ организации информации

Виды иерархии информации

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

При анализе процесса управления ввиду сложности объекта осуществляют его расчленение на части по различным признакам. Одним из главных признаков является вид иерархии. Характерны следующие виды иерархии: временная, пространственная, функ­циональная, ситуационная и информационная. Следует отметить, что деление какой-либо системы на части не может быть однознач­ным, так как выделение границ между частями является всегда в какой-либо мере субъективным. Выбор того или иного принципа выделения составных частей должен удовлетворять следующим ос­новным условиям: обеспечивать их максимальную автономность; учитывать необходимость координации их действий для достиже­ния общей цели функционирования, а также совместимость от­дельных частей.

  • Временная иерархия. Признаком деления здесь является интер­вал времени от момента поступления информации о состоянии объекта управления до момента выдачи управляющего воздействия. Чем больше интервал, тем выше уровень (ранг) элемента. Управле­ние может осуществляться в реальном времени с интервалом, рав­ным суткам, декаде, месяцу, кварталу и т.д. Причем управляющий интервал выбирается не произвольно, а исходя из критериев, опре­деляющих устойчивость и эффективность функционирования всей системы.
  • Пространственная иерархия. Признаком деления здесь является площадь, занимаемая объектом управления. Чем больше площадь объекта, тем выше его ранг. Данный признак является субъективным, так как не всегда площадь, занимаемая объектом, соответст­вует ее значимости, и ее можно использовать в случае аналогично­сти параметров элементов одного уровня.
  • Функциональная иерархия. В ее основе лежит функциональная зависимость (подчиненность) элементов системы. Такое разделе­ние также является субъективным, так как в этом случае трудно выделить границы между элементами системы.
  • Ситуационная иерархия. Деление на уровни в данном случае осуществляется в зависимости от эффекта, вызываемого той или иной ситуацией, например, от ущерба, возникающего в результате аварии или выхода из строя оборудования.
  • Информационная иеррхия. В настоящее время этот вид иерар­хии является очень существенным в связи с возросшим значением информации для управления. В основе деления на уровни лежит оперативность и обновляемость информации. Именно через эти характеристики прослеживается иерархия информации по уровням управления предприятием.

На первом уровне хранится и обрабатывается повторяющаяся, часто обновляющаяся информация, необходимая для повседневной деятельности, т.е. для оперативного управления. Следующий уро­вень составляет информация более обобщенная, чем оперативная, и используемая не так часто. Информация группируется по функ­циональным областям и применяется для поддержки принятия ре­шения по управлению производством. На верхнем уровне хранится и обрабатывается стратегическая информация для долгосрочного планирования. Для нее характерны высокая степень обобщенно­сти, неповторяемость, непредсказуемость и редкое использование.

В общем виде функциональная модель процесса управления представлена на рис. 1.1. Учет информации об объекте управления состоит в регистрации, классификации и идентификации. На ос­нове разнообразных математических моделей, описывающих ре­альное и требуемое состояние объекта, и критериев оптимальности анализируют информацию о состоянии объекта управления. Окон­чательная модель прогнозируемого состояния объекта управления формируется в виде плана.

Рис. 1.1. Функциональная модель процесса управления

Возникающие за счет внешних воздействий отклонения от плана корректируют путем сравнения учетной и плановой информации, нового анализа и формирования управ­ляющих воздействий (регулирования).

В большинстве случаев при информационном анализе процесса управления обычно рассматривают пассивную форму проявления информации, отражающую свойства внешней среды, объекта управления и самой управляющей системы. Однако не менее важ­ное значение имеет и активная форма информации, являющаяся причиной изменения состояния управляемого объекта.

Принято выделять следующие качественно различимые формы проявления информации: осведомляющую Iос, преобразующую Iп, принятия решения Iпр и управляющую Iу.

К осведомляющей относят информацию о состоянии внешней среды, объекта управления и управляющей системы. Преобразую­щая включает информацию, содержащуюся в алгоритмах управле­ния. Информация принятия решения является отражением образов и целей на конечное множество принимаемых решений. Управляющей является информация, вызывающая целенаправлен­ное изменение состояния объекта управления.

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

Источник

Оцените статью
Разные способы