Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5 Процесс программирования.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
79.87 Кб
Скачать

Отношения между таблицами.

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

  1. Один ко многим.

Одной записи из таблицы А соответствует несколько записей из таблицы Б, но каждой записи из таблицы Б соответствует не более чем одна запись из таблицы А. Для определения точного отношения, вам надо добавить поле первичного ключа из таблицы со стороны «один» в таблицу со стороны «многие».

  1. Многие ко многим.

В отношении «многие ко многим» одной записи из таблицы А может соответствовать несколько записей из таблицы Б, а одной из Б - несколько из А. Для решения такого типа отношений требуется изменить структуру полей обеих таблиц, чтобы получилось два отношения «один ко многим». Кроме того приходится создать дополнительную связующую таблицу, в которую помещают оба первичных ключа, которые объединенные вместе представляют собой уникальное значение.

  1. Один к одному.

В отношении один к одному каждая запись из таблицы А не может соответствовать более одной записи из таблицы Б, и верно обратное утверждение. Этот тип редко применяется, так как в таком случае проще объединить данные в одну таблицу, но если множество записей в сводной таблице будет пустыми, имеет смысл создать две отдельные таблицы. В Visual FoxPro такое отношение определяется командой Set Relation, а для создания отношения «один ко многим» необходимо дополнительно использовать команду Set Skip или свойство OneToMany.

Постоянные отношения.

Постоянные отношения отличаются от временных, тем что хранятся в словаре базы данных и автоматически используются каждый раз при открытии базы данных. Временные отношения создаются командой Set Relation, а при выходе из Visual FoxPro или при выполнении новой команды Set Relation эти отношения аннулируются.