Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 3000259.doc
Скачиваний:
27
Добавлен:
30.04.2022
Размер:
1.27 Mб
Скачать

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

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

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

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

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

Ключ

Запись

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

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

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

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

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

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

F1

Номер записи

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

Указатель

1

Ганцева Е.А.

1

2

Холопкина Л.В.

3

3

Тюрин С.В.

2

F2

Номер записи

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

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

1

4

ВМ-011 Технология программирования

2

-

ВМ-001 Теория автоматов

3

5

ВМ-021 Программирование

4

-

ВМ-003 Программирование на Си

5

-

ВМ-011 Математическая логика

В этом случае содержимое двух взаимосвязанных файлов F1 и F2 может быть расшифровано следующим образом: первая запись в файле F1 связана с цепочкой записей файла F2, которая начинается с записи номер1, следующая запись номер 4 (данная запись в цепочке – последняя, потому что запись 4 не имеет ссылки на следующую запись в цепочке). Аналогично можно расшифровать и остальные связи. Если провести интерпретацию связей на уровне предметной области, то можно утверждать, что преподаватель Е.А. Ганцева ведет предметы «Технология программирования» в группе ВМ-011, «Программирование на Си» в группе ВМ-011. Аналогично могут быть расшифрованы и остальные взаимосвязанные записи.