3.6. Создание связей между таблицами

Подведем итоги. База данных имеется. Таблицы доведены до третьей нормальной формы и помещены в базу. Первичный ключ есть у каждой таблицы. Индексы созданы. Типы связей между таблицами определены. Настало время создания связей между таблицами непосредственно в базе данных. Связи между таблицами назначают и просматривают в окне базы данных (рис. 2.1). Открыть его можно следующим образом. В главном меню Visual FoxPro щелкните пункт File и выберите команду Open. В открывшемся окне в ячейке Тип файлов выберите пункт Database (*.dbc). Перейдите в папку DBF. Выберите нашу базу данных Real Estate.dbc. Обязательно поставьте флажок  в ячейке Open exclusive. Если этого не сделать, то вам будут доступны не все опции по работе с базой данных.

Из двух связанных таблиц одна является главной (родительской), а другая подчиненной (дочерней).  Для главной таблицы нужен индекс Primary (в окне базы данных он отмечен значком  и его имя выделено жирным шрифтом), а для подчиненной – Regular.

Установим связь между таблицами District (главная) и Building (подчиненная). Поместите указатель мы­ши на первичный ключ главной таблицы District. Нажмите левую кнопку мыши и, не отпуская ее, «перетащите» появившийся символ перечеркнутой окружности на обычный индекс District таблицы Building. Значок перечеркнутой окружности превратится в маленький прямоугольник с надписью внутри. Отпустите левую кнопку мыши. Связь установлена. Имейте ввиду, что попытка проделать эти действия начиная с подчиненной таблицы Building, закончится неудачей. Значок перечеркнутой окружности никогда не превратится в прямоугольник с надписью.