Установка отношений между базами данных
Цели работы:
Краткие сведения из теории
Установка отношений между базами данных
Преимущество системы управления реляционными базами данных FoxPro, состоит в том, что базы данных можно связать друг с другом, используя общее поле. Последнее (если это возможно) должно быть полем главного индекса.
Поле, с помощью которого осуществляется связывание таблиц, в главной (родительской) базе данных называется главным (первичным) ключом, а в подчиненной (дочерней) – внешним. Требования к ключам (индексам):
Задание
Технология работы
Перед тем, как строить отношения между базами данных, необходимо установить в проекте, какая база данных является главной. Проверить соблюдены ли все требования к ключам.
Для установки отношения между базами данных нужно открыть диалоговое окно Вид (команда Окноñ Вид). В рабочих областях, начиная с первой, нужно открыть базы данных, начиная с главной, и по очереди все второстепенные. Родительскую базу данных надо проиндексировать по главному ключу и объявить его активным. Второстепенные базы данных нужно проиндексировать по внешним ключам и их тоже сделать активными (рис. 4.1), т.е. в диалоговом окне Настройка базы эти индексы следует отметить пиктограммой ключа.
Рис. 4.1. Диалоговое окно Вид
Далее в диалоговом окне Вид нужно установить курсор на родительскую базу данных и нажать командную кнопку Отношения. В правом, до сих пор пустом списке, появляется имя маркированной базы данных с "хвостиком" связи (рис. 4.2).
Рис. 4.2. Диалоговое окно Вид
Рис. 4.3. Проектирование отношения
Затем выберите в списке рабочих областей базу данных, которая должна быть подчинена первой таблице. FoxPro откроет диалоговое окно Конструктор выражений, которое предназначено не только для установки отношения между таблицами, но и для решения других задач (рис. 4.3). В этом диалоговом окне нужно в поле Когда отношение установлено во Вид-окне (в правой его части), этот факт иллюстрируется соединительной линией между обеими базами данных. Имя базы данных набранное с небольшим отступом вправо обозначает, что эта таблица подчинена первой базе данных (рис. 4.4).
Рис.4.4. Связь 1:1 в окне Вид FoxPro по умолчанию создает отношение 1:1, т.е. одной записи В этом диалоговом окне FoxPro оперирует понятиями Родительский алиас (псевдоним) и Наследующий алиас
Рис. 4.5. Объявление 1:
Доступ к дочерним таблицам осуществляется с помощью наследующего алиаса. Для установления связи выбирается командная кнопка Добавить все и с помощью ОК закрывается диалог. 1:
Рис. 4.6. Связь 1:
Отношение между базами данных существует лишь до конца текущего сеанса работы FoxPro.
Рис. 4.7. Диалоговое окно сохранения связи между файлами в виде файла Чтобы проверить, правильно ли установлено отношение между базами данных, нужно все таблицы одновременно вывести на просмотр, расположив их в рабочей зоне FoxPro, и установить курсор мыши на записи главной базы данных. Перемещая курсор по записям родительской таблицы, в дочерних таблицах должны выводиться на просмотр соответствующие записи по одинаковым полям.
Отчет по работе должен содержать:
Контрольные вопросы