Особенности навигационных моделей. Достоинства и недостатки Особенности:
· Навигационные модели активно использовались в течение многих лет, дольше, чем какая-либо из реляционных СУБД. На самом деле некоторые из ранних систем используются даже в наше время, накоплены громадные базы данных, и одной из актуальных проблем информационных систем является использование их совместно с современными системами.
· Все ранние системы не основывались на каких-либо абстрактных моделях. Понятие модели данных фактически вошло в обиход специалистов в области БД только вместе с реляционным подходом. Абстрактные представления ранних систем появились позже на основе анализа и выявления общих признаков у конкретных систем.
· В ранних системах доступ к БД производился на уровне записей. Пользователи этих систем осуществляли явную навигацию в БД, используя языки программирования, расширенные функциями СУБД. Интерактивный доступ к БД поддерживался только путем создания соответствующих прикладных программ с собственным интерфейсом.
· Навигационная природа ранних систем и доступ к данным на уровне записей заставляли производить всю оптимизацию доступа к БД самого пользователя, без какой-либо поддержки системы.
· После появления реляционных систем большинство ранних систем было оснащено "реляционными" интерфейсами. Однако в большинстве случаев это не сделало их по-настоящему реляционными системами, поскольку оставалась возможность манипулировать данными в естественном для них режиме.
Достоинства:
· Иерархическая модель естественным образом реализует отображение 1:N между исходным и порожденными типами записей. Это отображение полностью функционально, так как дерево не может содержать порожденный узел без исходного.
· Большая выразительность сетевой модели, достигаемая, прежде всего, возможностью установления между сущностями отношений любого типа.
· Развитые средства управления данными во внешней памяти на низком уровне.
· Возможность построения вручную эффективных прикладных систем.
· Возможность экономии памяти за счет разделения подобъектов (в сетевых системах).
Недостатки:
· Для представления отображения типа M:N в иерархических системах необходимо дублирование деревьев.
Пример. Связь
должна быть реализована двумя схемами:
(а) (б)
Пусть загрузочная база данных по схеме (а) включает экземпляры:
Тогда загрузочная база данных по схеме (б) должна включать экземпляры:
Очевидно, что расплатой за необходимость такой реализации отношений M:N выступает высокая степень дублирования данных в базе.
· Моделью слишком сложно пользоваться. Фактически необходимы знания о физической организации.
· Прикладные системы зависят от физической организации. Их логика перегружена деталями организации доступа к БД.
· Разработчик приложения должен детально знать логическую структуру БД, поскольку ему необходимо осуществлять навигацию среди различных экземпляров наборов и типов записей, то есть, программист должен представлять текущее состояние в экземплярах наборов при "продвижении" по БД.
· Проблемой поддержки иерархической модели является невозможность хранения в базе данных порожденных узлов без соответствующих исходных. Следует заметить, что в процессе проектирования такая ситуация встречается достаточно часто (например, когда о родительском узле нет достоверной информации). В этом случае необходимо ввести пустой исходный узел. Наличие пустых узлов создает дополнительные трудности при проектировании некоторых приложений.
· Определенная сложность операций включения информации о новых объектах в иерархическую базу данных и удаления устаревшей (проблема сохранения целостности базы данных: при удалении узла в общем случае удаляется целое поддерево, что может привести к потере информации). В более общей формулировке: возможность потери независимости данных при реорганизации БД (разрушение целостности БД).
· Произвольность структуры сети приводит к принципиальным сложностям в реализации такой модели, поскольку в ней отсутствуют ограничения на способы соединения типов записей в схеме БД.
КОНТРОЛЬНЫЕ ВОПРОСЫ ПО РАЗДЕЛУ 5.2.
1. Сформулируйте основные понятия иерархической модели. Перечислите ее основные.
2. Каково представление концептуального и внешнего уровней иерархической модели.
3. Опишите принципы организации физического хранения записей в иерархической модели.
4. Особенности навигации в иерархических моделях.
5. Сформулируйте основные понятия сетевой модели.
6. Каково представление концептуального и внешнего уровней сетевой модели.
7. Особенности навигации в сетевых моделях.
8. Достоинства и недостатки навигационных моделей.
|