Главная » Статьи » Delphi + БД

Урок 24: Определяем целостность ссылок

Определение индексов и ссылочной целостности

Для продолжения работы следует создать таблицу, содержащую данные об оценках студентов. Структура этой таблицы показана в табл. 3.2. Помимо информативных полей таблица содержит автоинкрементное поле, которое будет использоваться в качестве ключа.

Таблица 3.2. Таблица «Оценки»

Field Name

Type

Size

Key

Примечание

AUTO
+
*
Автоинкрементное поле

STUDENT

A

30

 

Поле типа Alfa

EXAM
A
30
Поле типа Alfa

GRADE

S

 

 

Поле типа Short

DATAEXAM

D

 

 

Поле типа Data

 

Для поля Grade, в котором будут храниться оценки, необходимо задать определенные ограничения. Следует выбрать параметр Required Field, для параметра Minimum Value установить значение, равное трем, а для Maximum Value — пяти.

Созданную таблицу нужно сохранить под именем GradeTab. В ней также потребуется создать индекс по полям STUDENT, GROUP и GRADE. Для этого в списке Table properties необходимо выбрать значение Secondary Indexes и нажать кнопку Define.

В результате будет активировано окно, показанное на рис. 3.6.

 

Рис. 3-6. Создание индекса.

Вторичный индекс может обладать дополнительными возможностями и ограничениями, которые налагаются на него при помощи флажков в диалоговом окне:
- Параметр Unique обязывает все значения, входящие в состав индекса, быть
уникальными.
- Case sensitive указывает, что индекс будет учитывать регистр символов.
- Параметр Maintained указывает, что индекс будет обновляться каждый раз, когда будет производиться модификация набора данных. Если этот флажок не установлен, индекс обновляется только при непосредственной работе с ним.
- Параметр Descending задает обратное направление сортировки значений, входящих в индекс. Если флажок не установлен, то сортировка производится в прямом направлении.

Созданный индекс нужно сохранить. Следует нажать кнопку ОК и ввести имя
индекса Somelndex. Впоследствии этот индекс можно изменить. Для этого
необходимо выбрать его в списке и нажать кнопку Modify.
Теперь нужно определить ссылочную целостность. Таблицы Students и GradeTab находятся в отношении «один-ко-многим». Один студент может сдать несколько экзаменов на разные оценки. Теперь эту связь надо жестко прописать в проекте.
Нужно открыть таблицу GradeTab и выбрать пункт меню Table > Restructure.
Таблица откроется для внесения изменений. В списке Table properties нужно выбрать элемент Referential Integrity и нажать кнопку Define. В результате будет активировано диалоговое окно, показанное на рис. 3.7.

 

Рис. З.7. Определение ссылочной целостности

В левой части окна показаны поля таблицы GradeTab. Необходимо создать связь по полям STUDENT и GROUP. Соответственно, их необходимо выбрать из дочерней таблицы двойным щелчком мыши. Поля будут помещены в список Child fields.
Далее необходимо выбрать таблицу Students, находящуюся в списке Table, который находится в правой части окна. Подходящие поля будут загружены в таблицу Parent's key и будет автоматически установлена связь.


Для созданной ссылочной целостности можно определить дополнительные параметры:

- Группа Update rule позволяет задавать правила модификации записей:
1) переключатель Cascade указывает, что обновления данных производятся каскадно;
2) переключатель Prohibit запрещает изменение значений, входящих в первичный ключ, пока есть связанные записи.

- Флажок Strict Referential Integrity в активизированном состоянии запрещает работать с таблицей Paradox из пакета Paradox for DOS.
Осталось лишь присвоить отношению имя TestRef и сохранить его, нажав на кнопку ОК.


Категория: Delphi + БД | Добавил: Шаке (27.02.2012)
Просмотров: 918 | Теги: TDBRichEdit, TDBImage
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
/>meta http-equiv=