Как правило, в Visual FoxPro при создании форм, отчетов и запросов используется несколько таблиц, между которыми установлены постоянные отношения. Такие таблицы называются связанными. Из двух связанных таблиц одна является главной, а другая — подчиненной. Главную таблицу называют родительской, а подчиненную — дочерней. При создании индексов для родительской таблицы должен быть определен ключ типа Primary (Первичный) или типа Candidate (Кандидат), а для дочерней таблицы — индекс для связи с родительской таблицей типа Regular (Обычный).
Рассмотрим, например, отношения между таблицей customer, содержащей список клиентов, и таблицей Phoncust, в которой размещены данные о телефонах, по которым можно связываться с клиентами. Таблица customer является родительской по отношению к таблице Phoncust. В свою очередь, таблица Phoncust является дочерней по отношению к таблице customer. При создании отношений между этими таблицами для customer должен быть определен первичный ключ, а для таблицы phoncust — создан индекс по полю, содержащему код клиента, по которому осуществляется связь между таблицами.
Для создания отношений между таблицами customer и Phoncust выполните следующие действия:
Замечание
Таблицы в конструкторе базы данных обозначаются прямоугольниками, в нижней части которых после надписи Indexes (Индексы) расположен список индексов, созданных для данной таблицы. Первичный ключ в этом списке выделяется значком ключа, расположенным с левой стороны от наименования индекса.
Рис. 4.20. Отображение связи между таблицами
Рис. 4.21. Диалоговое окно Edit Relationship для установления отношений между таблицами
Рис. 4.22. Контекстное меню
Установите курсор на линию, соединяющую связываемые таблицы. Толщина линии увеличится. Не сдвигая курсора нажмите правую кнопку мыши, появится контекстное меню, содержащее четыре команды (рис. 4.22). Команда Remove Relationship (Удалить отношение) удаляет установленное между таблицами отношение. При выборе команды Edit Relationship (Редактирование отношения) открывается диалоговое окно Edit Relationship (Редактирование отношения), позволяющее изменить установленное отношение. Команда Edit Referential Integrity (Редактирование целостности данных) открывает диалоговое окно Referential Integrity Builder (Построитель целостности данных). Об этом окне речь пойдет в следующем разделе.