Индексы - это специальные объекты, которые позволяют упорядочивать (сортировать) информацию в базе данных. Сам факт упорядочивания (создание индексов) существенно влияет на производительность СУБД. Индексы строятся по одному или нескольким полям таблицы, по которым обычно производится выборка или поиск информации. У одной таблицы может быть несколько индексов.
В нашем случае под индексами будем понимать ключевые поля. Индексы будем строить по основным и внешним ключевым полям таблиц для создания отношений, которые, в свою очередь, будут обеспечивать целостность данных.
Как добавить индексы к таблице
1. Необходимо создать индексы для каждой таблицы с помощью метода CreateIndex объекта TableDef и установить их свойства. Количество создаваемых индексов будет соответствовать количеству ключевых полей.
Set StudIdx(0) = StudTd.CreateIndex("stud_key")
StudIdx(0).Primary = True
StudIdx(0).Unique=True
Set StudIdx(1) = StudTd.CreateIndex("key_town")
StudIdx(1).Primary = False
StudIdx(1).Unique=False
Set TownIdx = TownTd.CreateIndex("key_town")
TownIdx.Primary = True
|
|
TownIdx.Unique=True
2. Необходимо создать поле для каждого индексного объекта с помощью метода CreateField объекта Index
Set TempFlds(0)=StudIdx(0).CreateField("key_stud")
Set TempFlds(1)=StudIdx(1).CreateField("key_town")
Для TownIdx проделываем тоже самое
3.Необходимо присоединить поле к объекту Index и объект Index к объекту TableDef.
StudIdx(0).Fields.Append TempFlds(0)
StudIdx(1).Fields.Append TempFlds(1)
StudTd.Indexes.Append StudIdx(0)
StudTd.Indexes.Append StudIdx(1)
Для TownIdx проделываем тоже самое
Замечание. Поля, созданные методом CreateField объекта Index, не присоединяются к TableDef. Эти поля присоединяются к объекту Index причем с теми же именами, что и подлежащие индексированию поля TableDef.
Отношения и целостность ссылок.
Создание объектов TsbleDef с первичными и внешними ключами позволяет связывать записи в одной таблице с соответствующими записями в другой таблице, используя равенство значений первичного и внешнего ключе й. Чтобы эти отношения работали, необходимо поддерживать целостность ссылок при добавлении и удалении записей. Целостность ссылок означает, что внешний ключ в любой ссылающейся таблице всегда должен указывать на существующую запись в таблице, на которую производится ссылка.
Для поддержания целостности ссылок и предотвращения их повреждений в библиотеке Jet имеется объект Relation.