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