Реклама:
Кинг Д. Создание эффективного программного обеспечения

Рис. 2.18. Взгляд пассажира первого класса на пассажиров второго класса.

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

Кинг Д. Создание эффективного программного обеспечения

Рис. 2.19. Традиционная структура католической церкви (приближенно).

В средние века, если рядовой священник хотел поднять некий вопрос, ему надлежало сначала обсудить его со своим непосредственным начальником, например с епископом (эти священник и епископ обведены жирными ЛИНИЯМИ I на рис. 2.19).

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

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

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

Кинг Д. Создание эффективного программного обеспечения

Рис. 2.20. Простая сеть.

Впрочем, при обработке или «обозревании» сетевой структуры обычно один компонент считается основным, или «ключевым», иначе говоря, «узлом». Например, если на рис. 2.20 ОРГАНИЗАЦИЯ рассматривается как основной элемент, а фамилией можно пренебрег, то можно получить иерархический вид тех же дашых, показанный на рис. 2.21.

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

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

При реляционной структуре данние представляются в виде последовательностей таблиц. Kai показано на рис. 2.22, сами таблицы представляют coöoi простые иерархии.

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


⇐ Предыдущая страница| |Следующая страница ⇒