7. Иерархическая и сетевая модели данных: составы моделей, преимущества и недостатки
Иерархическая модель
Существует только 2 типа связи:
A Kind Of
/A Part Of
Компоненты иерархической модели
Поле данных (аттрибут) - минимальная неделимая, уникально адресуемая единица хранения данных
Сегмент данных (запись/record/экземпляр данных) - совокупность полей данных, имеющая уникальную идентификацию (сущность в модели ER).
Экземпляр сегмента — конкретные значения полей
Дерево — совокупность сегментов, связанных с помощью связи родитель-потомок
Плюсы:
Более эффективное использование памяти, относительно простого хранения данных без какой-либо структуры
Более быстрое время выполнения CRUD операций, относительно простого хранения данных без какой-либо структуры
Проблемы:
- Требуется много памяти для хранения (производительность)
- Сложно контролировать целостность данных
- Дублирование данных
- Скорость операций записи
- Огромные трудности при реорганизации структуры (иерархии)
- Невозможна связь
Many-to-many
Сетевая модель
- Можно ссылаться много раз на один и тот же объект
- Разделяем хранение связей от хранения данных
Агрегаты — так называют сегменты
Плюсы:
- Обеспечивает атрибутивную целостность
Проблемы:
- Храним сущности и связи отдельно
- Появилась проблема ссылочной целостности