Контроль полей (Validity checks)
Можно задать
- флажок Required Field, означающий, что при вводе очередной записи в эти поля обязательно должны быть помещены значения — за этим будет следить BDE.
- минимальное и максимальное значения
- определить для них значения по умолчанию в строке Default value.
Рис. 4 Настройка ограничений для поля «Количество»
2) Таблица подстановки (Table LookUp)
Для какого-либо поля таблицы иногда требуется установить однозначную связь с полем другой таблицы. В этом случае BDE будет следить затем, чтобы значение вновь вводимой записи в поле первой таблицы было бы одним из значений указанного поля в другой таблице, которая в этом случае называется таблицей подстановки. Это аналог внешнего ключа.
Назначение переключателей:
- Just current field — проверяется соответствие только связанных нолей;
- All corresponding fields — проверяется соответствие всех полей обеих таблиц (в этом случае структуры обеих таблиц должны быть идентичными);
- Fill no help — при редактировании проверяемого поля таблица подстановки не показывается;
- Help and fill — при редактировании проверяемого поля показывается таблица подстановки.
3) Вторичные индексы (Secondary Index)
В таблицах Paradox вторичный индекс может быть создан только в том случае, если предварительно в ней создан первичный ключ. В свою очередь, первичный ключ может быть создан только для одного или нескольких первых полей.
Создадим индекс в таблице BOOK по полю «дата поставки» (DAT).
Для определения индекса (в терминологии таблиц Paradox он называется вторичным) необходимо выбрать пункт Secondary Indexes и щелкнуть на появившейся кнопке Define. В окне Define Secondary Index в списке полей таблицы необходимо выделить (щелчком) поле Dat и затем щелкнуть на кнопке со стрелкой вправо, чтобы перенести поле в список Indexed fields.
Рис.5 Создание дополнительного индекса
Дополнительные параметры индексов:
- Maintained - индексные поля сортируются по возрастанию значений:
- Case sensitive — индекс чувствителен к регистру букв в текстовых полях;
- Descending - индексные поля сортируются по убыванию значений.
В нашем случае оставим эти флажки без изменений и щелкнем на кнопке ОК.
DBD запросит имя индекса (в таблицах Paradox, как и в большинстве серверов БД, индексы именуются) — введите строку Book_dat и щелкните на кнопке ОК.
4)Ссылочная целостность (Referential Integrity)
Ссылочная целостность — это особый механизм, способствующий поддержанию непротиворечивых сведений в таблицах БД, связанных реляционными отношениями. В демонстрационной БД таблица BOOK содержит данные о накладных, а таблица FIRM — о связанных с ними поставщиках. Если таблицы связаны механизмом ссылочной целостности, BDE будет автоматически блокировать попытки изменения поля связи в родительской таблице, пока соответствующим образом не изменены связанные с ней записи в дочерней таблице. Для установления ссылочной целостности нужно выбрать пункт Referential Integrity в списке Table properties и щелкнуть на кнопке Define. Откроется окно Referential Integrity, показанное на рис. 6.
В списке Fields выбирается поле связи редактируемой таблицы (она должна быть дочерней), а в списке Table — нужная родительская таблица. После щелчков на кнопках со стрелками имена полей связи переносятся в строки Child fields и Parent's key. Далее нужно щелкнуть на кнопке ОК.
Рис.6 Определение связей между таблицами
С помощью переключателей в группе Update rule определяются правила поддержания ссылочной целостности:
- Prohibit — BDE отвергает любые изменения в связанном поле родительской таблицы без соответствующего изменения записей в дочерней таблице; удаление записи родительской таблицы блокируется до удаления связанных с ней записей в дочерней таблице;
- Cascade - BDE автоматически производит каскадные изменения в дочерней таблице при изменениях родительской таблицы1.
DBD запросит имя вновь создаваемой ссылочной целостности и затем создаст ее. После этого попытка удаления информации о любом поставщике будет отвергаться до тех пор, пока не удалены данные обо всех связанных с ним поставках.