Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД_лаб_1_2.doc
Скачиваний:
6
Добавлен:
25.09.2019
Размер:
465.41 Кб
Скачать

3. Индексирование баз данных

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

Для создания индекса по какому либо полю, необходимо в конструкторе таблиц указать необходимость введения индекса для этого поля. Индекс может быть введен двух типов – Ascending (по возрастанию) и Descending (по убыванию). Для создания более сложных индексов необходимо перейти к вкладке Indexes и там описать выражение индекса (таблица 2).

Таблица 2. Описание типов индекса

Тип индекса

Описание

Regular(Обычный)

Создается индекс, в котором для каждой записи таблицы хранится значение индексного выражения. Если несколько записей имеют одинаковое значение индексного выражения, то каждое значение хранится отдельно и содержит ссылку на связанную с ней запись

Unique(Уникальный)

Создается индекс, в котором хранятся только неповторяющиеся значения индексного выражения. Если две или более записей содержат одинаковое значение индексного выражения, то будет храниться только одно значение и ссылка на первую из записей с одинаковым значением индексного выражения. Таблица может иметь несколько уникальных индексов

Candidate(Кандидат)

Создается уникальный индекс, который не содержит полей с пустыми значениями. Этот индекс обладает всеми качествами первичного ключа и не является им только по той причине, что таблица не может содержать более одного первичного ключа

Primary(Первичный)

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

Проиндексируйте таблицу Workers по полю NAME, таблицу Sections по полю ID_SECTION.

4. Установка связей между таблицами.

Как правило, в Visual FoxPro при создании форм, отчетов и запросов используется несколько таблиц, между которыми установлены постоянные отношения. Такие таблицы называются связанными. Из двух связанных таблиц одна является главной, а другая — подчиненной. Главную таблицу называют родительской, а подчиненную — дочерней. При создании индексов для родительской таблицы должен быть определен ключ типа Primary (Первичный) или типаCandidate (Кандидат), а для дочерней таблицы — индекс для связи с родительской таблицей типа Regular (Обычный).

Для создания отношений между таблицами выполните следующие действия:

1. Откройте окно конструктора базы данных, в которой эти таблицы размещены.

2. Откройте таблицу одну из таблиц в конструкторе таблицы. Для этого щелкните на ней правой кнопкой мыши и в контекстном меню выберите команду Modify (Модифицировать).

3. На вкладке Indexes (Индексы) создайте первичный. Для этого в поле столбца Name (Имя) введите наименование индекса. Для простого индекса в качестве его имени удобно использовать наименование поля, по которому индекс создается.

4. В столбце Туре (Тип) выберите из списка значение Primary (Первичный).

5. Индекс для первой таблицы создан. Нажмите кнопку ОК для закрытия окна конструктора таблицы.

6. Откройте в конструкторе вторую (дочернюю) таблицу.

7. Перейдите на вкладку Indexes (Индексы) и создайте ключ типа Regular (Обычный) для поля по которому две таблицы будут связаны.

9. Нажмите кнопку ОК для закрытия окна конструктора таблицы.

10. Выберите родительскую таблицу.

11. Установите курсор мыши на первичный ключ первой таблицы

Замечание

Таблицы в конструкторе базы данных обозначаются прямоугольниками, в нижней части которых после надписи Indexes (Индексы) расположен список индексов, созданных для данной таблицы. Первичный ключ в этом списке выделяется значком ключа, расположенным с левой стороны от наименования индекса.

12. Нажмите кнопку мыши и, не отпуская ее, переместите курсор мыши на индекс дочерней таблицы, по которому устанавливается связь.

13. Отпустите кнопку мыши.

14. Открывается диалоговое окно Edit Relationship (Редактирование отношения) (рис. 4), в котором слева приведено наименование родительской таблицы и расположен раскрывающийся список индексов таблицы, а справа размещена аналогичная информация о дочерней таблице. Используя раскрывающиеся списки, можно изменять индексы, по которым связываются таблицы. В этом диалоговом окне указан также тип установленного отношения между таблицами. Для сохранения отношения нажмите кнопку ОК, а для отказа — кнопку Cancel (Отмена).

Рис. 4. Диалоговое окно Edit Relationship для установления отношений между таблицами

Диалоговое окно Edit Relationship (Редактирование отношения) закрывается, а в окне конструктора базы данных отображается в виде линии созданное отношение между таблицами (рис. 5).

Рис. 5. Отображение связи между таблицами

Установите курсор на линию, соединяющую связываемые таблицы. Толщина линии увеличивается. При щелчке по ней правой кнопкой мыши появляется контекстное меню, содержащее четыре команды (рис. 6). Команда Remove Relationship (Удалить отношение) удаляет установленное между таблицами отношение. При выборе команды Edit Relationship (Редактирование отношения) открывается диалоговое окно Edit Relationship (Редактирование отношения), позволяющее изменить установленное отношение. Команда Edit Referential Integrity (Редактирование целостности данных) открывает диалоговое окно Referential Integrity Builder (Построитель целостности данных).

Рис. 7. Контекстное меню