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

3.4.2.2. Ссылки на подобные и порожденные записи

Аналогично предыдущему методу подобные записи описываются в реляционных структурах. Для указания связей применяют два вида ссылок: одна фиксирует связь с первой порожденной записью, вторая – с подобной. Причем с помощью подобия показывается, каким родительским записям принадлежат порожденные. Для записей, соответствующих максимальному уровню иерархии, поддерживается только одна ссылка (на подобные записи), поскольку они не имеют порожденных записей; для записей первого уровня иерархии также поддерживается одна ссылка (на порожденные записи), поскольку все они имеют одного родителя – корень. Для остальных записей поддерживается две ссылки.

Рассмотрим данную организацию хранения элементов для дерева:

СУиВТ

239

ТАМ

145

Иванов И.И.

к.т.н.

доцент

234567

Петров П.П.

к.т.н.

нет

456789

Сидоров С.С.

нет

нет

123456

Яковлев Я.Я.

д.т.н.

профессор

345678

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

сотрудник кафедра

п/п

ФИО

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

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

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

ссылки

п/п

название

шифр в вузе

ссылки

1

Иванов И.И.

к.т.н.

доцент

234567

3

1

СУиВТ

239

1

2

Петров П.П.

к.т.н.

нет

456789

4

2

ТАМ

145

2

3

Сидоров С.С.

нет

нет

123456

-

4

Яковлев Я.Я.

д.т.н.

профессор

345678

-

Преимущество этого метода организации хранения иерархических моделей состоит в однотипности списков ссылок: они всегда содержат по одной ссылке (пустой, если цепочка закончена или нет порожденных записей).

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

  1. по таблице (файлу) кафедра находят требуемую кафедру – это запись с номером 1;

  2. выбирают значение поля ссылки – это 1;

  3. по таблице (файлу) сотрудник обращаются к строке (записи) с номером 1 и выводят значение поля ФИО – это Иванов И.И.;

  4. анализируют поле ссылки: оно содержит 3: это значит, что под номером 3 в этой таблице (файле) имеются данные о сотруднике, также работающем на данной кафедре;

  5. обращаются к строке (записи) с номером 3 и выводят значение поля ФИО – это Сидоров С.С.,

  6. поскольку в поле ссылки записи 3 находится символ «-», алгоритм заканчивает работу.