Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД(Карпова Т.С.).doc
Скачиваний:
8
Добавлен:
25.09.2019
Размер:
1.83 Mб
Скачать

Моделирование отношений «один-ко-многим» на файловых структурах

Отношение иерархии является типичным для баз данных, поэтому моделиро­вание иерархических связей является типичным для физических моделей баз данных.

Для моделирования отношений 1:М (один-ко-многим) и М:М (многие-ко-многим) на файловых структурах используется принцип организации цепочек за­писей внутри файла и ссылки на номера записей для нескольких взаимосвязан­ных файлов.

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

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

Рис. 9.10. Иерархическая связь между файлами

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

«Основной файл» F1.

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

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

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

Структура записи «подчиненного» файла.

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

В качестве примера рассмотрим связь между преподавателями и занятиями, ко­торые эти преподаватели проводят. В файле 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

-

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

7

-

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

Аналогично могут быть расшифрованы и остальные взаимосвязанные записи.