
- •То, что выделено красным - не найдено Оглавление
- •Понятие базы данных. Модели данных
- •Элементы базы данных
- •Методы и способы доступа к данным
- •Механизм транзакций
- •Средства для работы с удаленными базами данных
- •Организация данных на машинных носителях
- •Физическое представление иерархических структур
- •Физическое представление сетевых структур
- •Архитектура файловой организации баз данных
- •Модели распределения данных по физическим носителям
- •Основные условия и требования к распределенной обработке данных
- •Базовые архитектуры распределенной обработки данных
- •Характеристика архитектуры «файловый сервер»
- •Характеристика архитектуры «выделенный сервер»
- •Характеристика архитектуры «активный сервер»
- •Характеристика архитектуры «сервер приложений»
- •Характеристика архитектуры «сервер базы данных»
- •Базовая технология сом
- •Организация доступа к данным
- •Характеристика технологий разработки многозвенных распределенных приложений
- •Характеристика технологии midas
- •Характеристика технологии corba
- •Общая характеристика серверов
- •Основные операции с таблицами баз данных
- •Навигационный доступ к данным
- •Доступ к данным с помощью запросов
- •Хранимые процедуры
- •Триггеры
- •Характеристика языка sql
- •Характеристика языка php
- •Характеристика сервера MySql
Физическое представление иерархических структур
Рассмотрим физическое представление древовидных структур на примере операции обновления дерева с использованием следующих методов.
1. Физически последовательное размещение.
2. Указатели.
3. Цепи и кольца.
На рис. 4.5 и 4.6 представлен пример иерархической структуры до и после обновления.
Записи, относящиеся к разным уровням дерева, обычно рассматриваются как главные и детальные. Поэтому при реализации
такого файла для любой пары уровней дерева есть возможность выбора вариантов включения сегментов нижнего уровня в сегменты верхнего уровня. Хотя, исходя из стремления к однородности массивов, обычно все сегменты нижнего уровня размещаются отдельно от сегментов верхнего уровня.
Физическое представление сетевых структур
Связи в сетевых структурах можно представить, используя физически последовательное размещение, указатели, кольца. Рассмотрим простую сетевую структуру, представленную на рис. 4.13.
Физически последовательное размещение
Если древовидные структуры можно представить без избыточности с помощью физически последовательного размещения, то для сетевых структур это обычно невозможно. Однако в некоторых случаях может оказаться удобным представить один набор связей типа «исходный — порожденный» путем физически последовательного размещения, а для остальных связей использовать другой метод. Например, можно использовать физически последовательное размещение для представления связей А и С (рис. 4.14).
В этом примере связи между В и С реализуются с помощью множественных указателей на порожденные записи, указателей на исходные записи и указателей на порожденные и подобные записи.
Для множественных указателей на порожденные записи требуются списки указателей переменной длины; для указателей на порожденные и подобные записи необходимы длинные цепочки.
Обычно для представления сетевых структур физически последовательное размещение не применяется.
Использование указателей
Если для реализации сетевых структур используются указатели, то они должны представлять все связи, причем какие-то записи должны называться исходными (например, верхние), а какие-то — порожденными (нижние записи).
На практике могут использоваться много различных вариантов конфигураций указателей. На рис. 4.15 показаны кольцевые структуры, в которых имеются указатели на исходные, порожденные и подобные записи.
Однако, если какая-нибудь связь между записями относится к типу «многие ко многим», то названные три метода физического представления сетевых структур оказываются непригодными. Более того, если в простых сетевых структурах на предыдущих рисунках для хранения указателей на исходные записи требовался один или два указателя в каждой записи, то здесь необходимы списки указателей переменной длины.
Основной проблемой, возникающей при организации встроенных списков указателей переменной длины, является сложность их ведения. При обновлении файла должна существовать возможность сокращения и удлинения списков, что обычно приводит к необходимости периодической реорганизации. Реорганизация является
сложной задачей, поскольку при перемещении записей должны быть изменены многие указатели.
Эта проблема частично. решается, если использовать символические указатели, которые не изменяются при перемещении записей. Однако их применение отражается на механизме адресации и при поиске записей в файле: система затрачивает на поиск записей больше времени, чем при использовании прямых указателей.