Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по ИС.docx
Скачиваний:
26
Добавлен:
16.11.2019
Размер:
330.27 Кб
Скачать

3.4.3. Методы физического проектирования для сетевых моделей

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

3.4.3.1. Множественные ссылки на порожденные записи

Пусть исходная сеть имеет вид:

Этой абстрактной сети соответствует конкретизированная данными структура:

СУиВТ

239

ТАМ

145

Иванов И.И.

к.т.н.

доцент

234567

Петров П.П.

к.т.н.

нет

456789

С идоров С.С.

нет

нет

123456

Я ковлев Я.Я.

д.т.н.

профессор

345678

ассистент

высшее

доцент

высшее

профессор

высшее

Здесь два дерева: кафедра – сотрудник и должность – сотрудник. Они «сцеплены» своими терминальными вершинами – сотрудниками, которые являются вершинами максимального уровня иерархии для обоих деревьев.

Описание этой сети задано в таблицах (формируются по аналогии с деревьями):

сотрудник

п/п

ФИО

ученая степень

научное звание

контактные данные

1

Иванов И.И.

к.т.н.

доцент

234567

2

Петров П.П.

к.т.н.

нет

456789

3

Сидоров С.С.

нет

нет

123456

4

Яковлев Я.Я.

д.т.н.

профессор

345678

Кафедра должность

п/п

название

шифр в вузе

ссылки

п/п

название

образование

ссылки

1

СУиВТ

239

1, 3

1

ассистент

высшее

3

2

ТАМ

145

2, 4

2

доцент

высшее

1, 2

3

профессор

высшее

4

Выполнение поисковых задач осуществляется аналогично иерархическим структурам. Однако некоторые задачи могут быть оптимизированы.

Пусть, например, надо определить сотрудников, работающих в должности доцента на кафедре СУиВТ, т.е. Кдоступ=<название (кафедры)=СУиВТ&должность=доцент>. Задача решается следующим образом:

  1. по таблице (файлу) кафедра находим строку (запись) со значением ключевого поля СУиВТ – это запись 1. Ее поле ссылки дает множество {1,3};

  2. по таблице (файлу) должность находим строку (запись) со значением ключевого поля доцент – это запись 2. Ее поле ссылки дает множество {1,2};

  3. применяем операцию пересечения двух множеств: {1,3}{1,2}={1};

  4. по таблице (файлу) сотрудник считываем запись с номером 1 – это Иванов И.И. Алгоритм заканчивает работу.