- •Введение в базы данных
- •Типы субд
- •Таблицы бд и связи между ними
- •Связи между таблицами базы данных
- •Первичные ключи и индексы
- •Механизм bde
- •Проектирование бд
- •Имена таблиц и полей
- •Создание таблиц
- •Свойства таблиц Paradox 7
- •Типы полей
- •Контроль за содержимым полей
- •Ссылочная целостность
- •Парольная защита
- •Пример простой программы
- •Разработка главной формы
- •Создание псевдонима бд
- •Модуль данных
- •3. Модули данных
- •4. Компоненты для работы с базой данных
- •1. Таблица с источником данных
- •2. Компонент dbGrid для табличного просмотра и редактирования данных
- •Определение вторичных индексов для сортировки полей бд
- •Порядок создания приложения для работы с базами данных
- •1. Создание псевдонима базы данных
- •2. Создание таблиц базы данных.
- •3. Создание приложения
Свойства таблиц 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 |
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.
Рис. 1.7. Установление связи с таблицей подстановки Назначение переключателей:
Just current field — проверяется соответствие только связанных полей;
All corresponding fields — проверяется соответствие всех полей обеих таблиц (в этом случае структуры обеих таблиц должны быть идентичными);
Fill no help — при редактировании проверяемого поля таблица подстановки не показывается;
Help and fill — при редактировании проверяемого поля показывается таблица подстановки.