Полная версия

Главная arrow Информатика arrow Базы данных: проектирование

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ   >>

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

Одной из первых моделей данных была иерархическая модель, предложенная компанией IBM в конце 1960-х гг. в СУБД IMS (Information Management System). Такая модель данных представляется набором деревьев, связанных друг с другом по принципу построения иерархических структур. В современных информационных системах такими иерархическими моделями данных пользуются при составлении структур в формате XML, применяя при передаче данных и работе с данными в интернет- системах.

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

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

Учитывая уникальность значений ключевых элементов в иерархической модели (рис. 1.10), для объекта данных некорневого уровня она содержит ключевой элемент, определяемый уникальностью значений в рамках группового отношения, что позволяет однозначно выделить уникальную запись дочернего объекта в пределах конкретной записи родительского объекта.

image10

Рис. 1.10. Пример иерархической модели


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

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

Наряду с существенными достоинствами иерархической модели выделяется несколько недостатков, среди которых отметим следующие:

  • — в реализации иерархической модели возникает дублирование сведений (создание парных записей[2]), при этом в модели не предусмотрена поддержка соответствия таких записей;
  • — в иерархической модели реализуется только связь типа 1:JV (один — ко — многим), причем только в направлении от родительского элемента к дочернему, не предоставляя возможности создания связей с указанием нескольких родительских элементов.

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

Сетевая модель данных

Сетевая модель, как и иерархическая, была разработана в 1960-х гг. Одним из первых вариантов ее реализации (начало 1970-х гг.) стала система CODASYL (Conference on Data System Languages).

Сетевая модель формулируется теми же терминами, что и иерархическая. Аналогично иерархической модели записи могут быть владельцами и членами групповых отношений. Также между записью-владельцем и записью-членом группового отношения организуется связь 1:Л (один — ко — многим), что накладывает ограничение на возможности связывания данных. Например, в сетевой модели один сотрудник, как и в иерархической модели, не может одновременно быть связанным с несколькими отделами.

В отличие от иерархической модели в сетевой модели (рис. 1.11) возможна организация отношений, где будут связаны несколько записей-владельцев. Зачастую такие записи-связки являются пустыми, отражая только взаимосвязь элементов данных, и обеспечивают возможность организации связи N:M (многие — ко многим). Отметим, что в рамках таких записей- связок могут храниться и функциональные данные (например, функциональные обязанности сотрудника но договору).

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

image11

Рис. 1.11. Пример сетевой модели

  • [1] Бойко Б. В., Савинков В. М. Проектирование баз данных информационных систем. М.: Финансы и статистика, 1989.
  • [2] Бойко В. В.. Савинков В. М. Проектирование баз ланных информационных систем.
 
<<   СОДЕРЖАНИЕ   >>