Свойства таблиц Paradox 7

Как уже говорилось, тип таблиц Paradox 7 предпочтителен при создании файл-серверных БД. Таблицы Paradox 7 по сравнению с другими поддерживают самый богатый набор разных типов полей, что позволяет автоматически следить за пра­вильностью вводимых в поля данных (пункт Validity Checks в списке Table properties), выбирать данные из другой таблицы (Lookup Table), строить вторичные индексы, в том числе составные (Secondary Indexes), следить за ссылочной целостностью БД (Referential Integrity), защищать таблицу от несанкционированного доступа (Password Security), выбирать языковый драйвер (Table Language).

Типы полей

Типы полей, которые могут использоваться в таблицах Paradox. В этой таблице в колонках Туре и Size указаны соответственно услов­ный символ типа и его длина, то есть те данные, которые помещаются в одноимен­ные колонки таблицы Field roster DBD.

Таблица 1.1. Типы данных в таблицах Paradox

Type Size Тип Описание
А 1-255 Alpha Текстовое поле указанной длины
N   Number Числа с плавающей запятой в диапазоне от -10307 до +10307 с 15 значащими десятичными разрядами
$   Money Денежное поле. Содержит вещественные числа с фиксированной запятой, 6 знаками целой части и 2 знаками дробной
s   Short Целые числа в диапазоне от -32 768 до +32 767
I   Long Integer Целые числа в диапазоне от -2 147 483 648 до +2 147 483 647
» 0-32 BCD Двоично-десятичные вещественные числа. Size — количество разрядов после запятой
D   Date Дата в диапазоне от 1.01.0000 до 31.12.9999
T   Time Время с точностью до миллисекунд
@   Times tamp Дата и время
M 1-240 Мемо Мемо-поледля размещения произвольных текстовых строк неограниченной длины. Первые Size символов хранятся в основной таблице, остальные — в файле с расширением .MB
F 0-240 Formatted Memo Мемо-поле для размещения форматированного текста в формате RTF
G 0-240 Graphic Графическое изображение в формате TIF. Size байтов этого поля хранится в основной таблице, остальные — в отдельном файле
0-240 OLE Объект OLE
L   Logical Логическое поле. Содержит значение True или False
+   Autoincrement Автоинкрементное поле
B 0-240 Binary Набор байтов произвольной длины. Первые Size байтов хранятся в основной таблице, остальные — в отдельном файле
Y 1-255 Bytes Набор из Size байтов (целиком хранится в таблице)
         

Контроль за содержимым полей

По умолчанию сразу после открытия окна редактирования структуры таблицы в списке Table properties выбран пункт Validity Checks (см. рис. 1.5), что позволяет кон­тролировать содержимое полей.

С помощью флажка Required Field вы можете потребовать обязательного заполне­ния поля при вводе новой записи — за этим будет следить BDE. Также на BDE можно возложить контроль за минимальным и максимальным значениями число­вого поля (строки Minimum Value и Maximum Value). В строке Default Value можно ука­зать значение поля по умолчанию — при вводе новой записи значение в это поле поместит BDE. С помощью строки Picture можно задать шаблон для автоматическо­го форматирования значения поля.

Таблица подстановки

Для какого-либо поля таблицы иногда требуется установить однозначную связь с по­лем другой таблицы. В этом случае BDE будет следить за тем, чтобы значение вновь вводимой записи в поле первой таблицы было бы одним из значений указанного поля в другой таблице, которая в этом случае называется таблицей подстановки.

Для установления связи нужно выбрать пункт Table Lookup в списке Table properties и щелкнуть на кнопке Define. В появившемся окне (рис. 1.7) в списке Fields выбирается поле, за значениями которого нужно следить, и щелчком на кнопке со стрелкой вправо имя этого поля переносится в строку Field name. Затем в списке Lookup table выбирается нужная таблица и щелчком на кнопке со стрелкой влево имя первичного ключевого поля этой таблицы переносится в строку Lookup field.

Связь будет установлена только в том случае, если поле, за значением которого нужно следить, имеет такой же тип, как и первое индексное поле в таблице подстановки. Так как в таблицах Paradox вторичный индекс можно создать только при наличии в табли­це первичного ключа, который можно создать только в первом поле, подстановочное поле должно быть ключевым и первым в списке полей таблицы подстановки. В пока­занном на рис. 1.7 примере таблица NAKLS имеет первичный ключ по полю автоинкре­ментного типа, поэтому поле MNakl имеет совместимый с этим типом тип Long Integer. Если бы мы захотели создать подстановочную связь для любого другого поля, это бы не удалось, так как типы Short и Money несовместимы с типом Autoincrement.

Свойства таблиц Paradox 7 - student2.ru

Рис. 1.7. Установление связи с таблицей подстановки Назначение переключателей:

  • Justcurrentfield— проверяется соответствие только связанных полей;
  • All corresponding fields — проверяется соответствие всех полей обеих таблиц (в этом случае структуры обеих таблиц должны быть идентичными);
  • Fill no help — при редактировании проверяемого поля таблица подстановки не показывается;
  • Help and fill — при редактировании проверяемого поля показывается таблица подстановки.

Ссылочная целостность

Ссылочная целостность — это особый механизм, способствующий поддержанию непротиворечивых сведений в таблицах БД, связанных реляционными отношени­ями. В демонстрационной БД таблица NAKLS содержит данные о накладных, а таб­лица MOVEBOOK — о связанных с ними книгах. Перед удалением данных о наклад­ной нужно предварительно удалить связанный с ней список книг, иначе таблица MOVEBOOK будет содержать записи о «ничейных» книгах. Другой пример. Если мы захотим удалить запись в таблице MOVEBOOK (удалить из накладной данные о ка­кой-либо книге), нам следует соответствующим образом изменить количество книг на складе (таблица BOOKS) и сальдо партнера (таблица FIRMS). Если таблицы свя­заны механизмом ссылочной целостности, BDE будет автоматически блокировать попытки изменения поля связи в родительской таблице, пока соответствующим образом не изменены связанные с ней записи в дочерней таблице.

Для установления ссылочной целостности нужно выбрать пункт Referential Integrity в списке Table properties и щелкнуть на кнопке Define (см. рис. 1.5). Откроется окно Referential Integrity, показанное на рис. 1.8.

Свойства таблиц Paradox 7 - student2.ru

Рис. 1.8. Установление ссылочной целостности

В списке Fields выбирается поле связи редактируемой таблицы (она должна быть дочерней), а в списке Table — нужная родительская таблица. После щелчков на кнопках со стрелками имена полей связи переносятся в строки Child fields и Parent's key. Далее нужно щелкнуть на кнопке ОК. DBD запросит имя вновь создаваемой ссылочной целостности и затем создаст ее. После этого попытка удаления инфор­мации о любой накладной будет отвергаться до тех пор, пока не удалены данные обо всех связанных с ней книгах.

С помощью переключателей в группе Update rule определяются правила поддержа­ния ссылочной целостности:

  • Prohibit — BDE отвергает любые изменения в связанном поле родительской таб­лицы без соответствующего изменения записей в дочерней таблице; удаление записи родительской таблицы блокируется до удаления связанных с ней запи­сей в дочерней таблице;
  • Cascade — BDE автоматически производит каскадные изменения в дочерней таблице при изменениях родительской таблицы1.

Парольная защита

Любая таблица Paradox может быть полностью или частично защищена от несанк­ционированного доступа. Для этого (см. рис. 1.5) в списке Table properties выбира­ется пункт Password Security и щелчком на кнопке Define открывается соответству­ющее диалоговое окно (рис. 1.9).

Свойства таблиц Paradox 7 - student2.ru

Рис. 1.9. Окно определения пароля

Пароль может содержать от 1 до 15 любых символов, в том числе и пробелы. Он чувствителен к регистру букв. С помощью кнопки Auxiliary Passwords вызывается дополнительное окно, в котором можно уточнить, какие поля и как защищаются2.

Наши рекомендации