Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базы Данных Теор. Экзамен.doc
Скачиваний:
82
Добавлен:
20.05.2015
Размер:
1.93 Mб
Скачать

Полученное b-дерево может быть представлено так, как изображено на рис. 11.5

  1. Как строятся взаимосвязанные файлы с однонаправленными цепочками? Разработать алгоритмы удаления записей и добавления записей в данные файлы.

Моделирование отношения 1:м с использованием однонаправленных указателей

В этом случае связываются два файла, например F1 и F2, причем предполагается, что одна запись в файле F1 может быть связана с несколькими записями в файле F2. При этом файл F1 в этом комплексе условно называется основным, а файл F2 — зависимым, или подчиненным. Структура основного файла может быть условно представлена в виде трех областей.

Основной файл f1

Ключ

Запись

Ссылка-указатель на первую запись в подчиненном файле, с которой начинается цепочка записей файла F2, связанных с данной записью

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

Структура подчиненного файла:

Указатель на следующую запись в цепочке

Содержимое записи

В качестве примера рассмотрим связь между преподавателями и занятиями, которые эти преподаватели проводят. В файле F1 приведен список преподавателей, а в файле F2 — список занятий, которые они ведут.

F1

Номер записи

Ключ и остальная запись

Указатель

1

Иванов И. Н. …

1

2

Петров А. А.

3

3

Сидоров П. А.

2

4

Яковлев В. В.

 

F2

Номер записи

Указатель на следующую запись в цепочке

Содержимое записи

1

4

4306 Вычислительные сети

2

4307 Контроль и диагностика

3

6

4308 Вычислительные сети

4

5

84305 Моделирование

5

4309 Вычислительные сети

6

884405 Техническая диагностика

7

 

В этом случае содержимое двух взаимосвязанных файлов F1 и F2 может быть расшифровано следующим образом: первая запись в файле F1 связана с цепочкой записей файла F2, которая начинается с записи номер 1, следующая запись номер 4 и последняя запись в цепочке — запись номер 5. Последняя — потому, что пятая запись не имеет ссылки на следующую запись в цепочке. Аналогично можно расшифровать и остальные связи. Если мы проведем интерпретацию данных связей на уровне предметной области, то можно утверждать, что преподаватель Иванов ведет предмет «Вычислительные сети» в группе 4306, «Моделирование» в группе 84305 и «Вычислительные сети» в группе 4309.