• Удаления записей из главной таблицы, если для нее существуют соответствующие записи
в подчиненных таблицах.
Вы можете использовать свои собственные триггеры и хранимые процедуры для поддержания
целостности ссылок. Однако Построитель ссылочной целостности Visual FoxPro позволяет
определить правила поддержания ссылок, таблицы, для которых необходимо поддерживать
целостность, и системные события, после совершения которых будет производиться проверка
целостности. Построитель ссылочной целостности управляет многоуровневыми цепочками
удалений или обновлений, и настоятельно рекомендуется в качестве инструмента для
поддержания ссылочной целостности.
Для работы с Построителем ссылочной целостности откройте Конструктор баз данных. В меню
Database выберите Referential Integrity.
Если вы используете Построитель ссылочной целостности, Visual FoxPro сохраняет
генерируемый код в качестве триггеров, которые ссылаются на хранимые процедуры. Вы можете
просмотреть код этих процедур, открыв с помощью текстового редактора хранимые процедуры
для базы данных, как это было описано выше, но будьте очень осторожны при попытке его
модернизации. Может, вы лучше не будете его редактировать?
Если вы изменили проект базы данных, например структуры таблиц, или переназначили
индексы, используемые для построения отношений между таблицами, перезапустите Построитель
ссылочной целостности, прежде чем начнете пользоваться базой данных. Построитель ссылочной
целостности настроит хранимые процедуры и табличные триггеры согласно внесенным
изменениям. Если не сделать этого, вы скорее всего получите непредсказуемые результаты,
поскольку внесенные в проект базы данных изменения никак не отразятся в ее внутренней
структуре.
Вы можете установить постоянные отношения между таблицами базы данных. Постоянные
отношения - это отношения, информация о которых хранится в файле базы данных. Постоянные
отношения дают возможность выполнять следующие действия:
• Автоматически использовать установленные условия объединения в Конструкторах
запросов и представлений.
• В Конструкторе баз данных визуально отображать связанные индексы таблиц.
• В Конструкторе среды окружения данных (Data Environment Designer) отображать
установленные по умолчанию связи для форм и отчетов.
• Использовать аппарат поддержки ссылочной целостности.
В отличие от временных отношений, устанавливаемых по команде SET RELATION, постоянные
отношения не нуждаются в переопределении при каждом открытии таблиц.
В Visual FoxPro для установки постоянных отношений используются индексы. То есть вы
создаете постоянные отношения на основе индексов таблиц, а не на основе связи полей, что
позволяет связывать таблицы на основе простых и сложных индексных выражений.
Как создать постоянные отношения между таблицами?
В Конструкторе баз данных выберите индекс, который вы хотите связать, и перетащите его на
индекс связываемой таблицы, или включите предложение FOREIGN KEY в команду CREATE
TABLE или команду ALTER TABLE.
Если после этого вы посмотрите на схему базы данных в Конструкторе БД, то увидите линию,
соединяющую две таблицы и обозначающую новую постоянную связь.
Тип индексного тега или ключа определяет тип устанавливаемого постоянного отношения. Вы
должны использовать первичный или индексный тег-кандидат или ключ со стороны "один" в
отношении "один ко многим"; со стороны "много" вы должны использовать обычный индексный
тег или ключ.
Для удаления постоянного отношения между таблицами в Конструкторе баз данных выделите
щелчком линию, соединяющую таблицы. Толщина линии увеличится, отмечая выбор отношения
между таблицами. После этого нажмите клавишу Del.
Каждая база данных Visual FoxPro содержит свойства Comment и Version. Вы всегда можете
узнать содержание этих свойств с помощью функции DBGETPROP().
В следующем примере на экран выводится номер версии базы данных Auto_Store:
? DBGETPROP('Auto_Store', 'DATABASE', 'VERSION')
Возвращаемое значение является номером версии файла DBC и доступно только для чтения.
Программно ввести комментарий в базу данных можно с помощью функции DBSETPROP().
Для этого используйте опцию COMMENT в функции DBSETPROP().
В следующем примере вводится новый комментарий для базы данных Auto_Store:
converted to PDF by HupBaH9I