На этом шаге мы рассмотрим формирование связи между таблицами.
Таблицы "Наименование" и "Наличие" находятся в отношении "один-ко-многим", то есть с одной записью в таблице NAIM может быть связано несколько записей по тому же наименованию, что и в таблице NALICH. В качестве поля связи выступает поле Naim, присутствующее в обеих таблицах.
Откроем таблицу NALICH (элемент меню File | Open | Table) и затем войдем в режим изменения структуры таблицы (Table | Restructure). В выпадающем списке Table Properties выберем элемент Refrential Integrity и нажмем кнопку Define....
Рис.1. Таблица NALICH
В появившемся диалоговом окне (рисунок 2) в списке Fields показаны поля таблицы NALICH, а в списке Table - таблицы базы данных FIRMA.
Рис.2. Окно Referential Integrity
Выберем в списке Fields поле Naim и нажмем кнопку с изображением стрелки вправо. Название Naim будет записано в поле Child Fields (поле внешнего ключа дочерней таблицы).
Рис.3. Определение полей, по которым устанавливается связь
Выберем в списке Table таблицу NAIM и нажмем кнопку с изображением стрелки влево. В поле Parents Key (ключ родительской таблицы) будут показаны поля из первичного ключа таблицы NAIM. В данном случае это поле Naim (рисунок 3).
Переключатели Update rules определяют вид каскадных воздействий на таблицу NALICH при изменении значения поля связи в таблице NAIM или при удалении записи в таблице NAIM:
Выберем Cascade и нажмем кнопку OK. Будет запрошено имя - в Paradox ссылочные целостности именуются. Введем имя, например NAIM_NALICH, и нажмем кнопку OK.
Рис.4. Задание имени ссылочной целостности
Теперь имя созданной ссылочной целостности будет помещено в список.
Созданную базу можно взять здесь.
Запомним изменения в таблице (кнопка Save) и заново войдем в режим реструктуризации таблицы NALICH (Table | Restructure). В выпадающем списке Table properties выберем элемент Secondary Indexes (индексы таблицы, кроме индекса, построенного по определению первичного ключа). В списке индексов увидим, что появился новый индекс с именем Naim (по полю Naim).
Рис.5. Индекс Naim
Этот индекс построен автоматически по неявному определению внешнего ключа при создании ссылочной целостности.
На следующем шаге мы рассмотрим создание индексов.