Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД 1.Таблицы.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
852.2 Кб
Скачать

Упражнение 7. Индекс

Для ускорения поиска данных о конкретном человеке в таблице Контакт удобно рассортировать записи по алфавиту. Чтобы назначить сортировку по полю Фами­лия, выполните следующие шаги.

1. В области переходов выделите таблицу Контакт (рис.18).

2. Чтобы открыть таблицу в режиме ввода данных, щелкните на ней правой кнопкой мыши и выберите в контекстном меню команду Открыть (Open).

3. В окне таблицы щелкните на заголовке Фамилия, чтобы выделить столбец

Рис. 16.18. Сортировка фамилий по алфавиту

4. Щелчком на кнопке По возрастанию (Ascending) в группе Сортировка и фильтр (Sort & Filter) вкладки Главная (Ноте) упорядочите записи столбца фамилий таблицы по алфавиту.

5. Вставьте в таблицу еще несколько человек с фамилией Суханов. Например, введите в указанном порядке записи Николай Суханов, Анатолий Суханов и Виктор Суханов.

6. Чтобы повторить сортировку, закройте окно таблицы Контакт и вновь от­кройте таблицу. Записи окажутся расположенными так, как показано на рис. 19.

Рис.19. Несколько человек с одинаковыми фамилиями

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

7. Щелчком на кнопке Режим (View) переключитесь в режим конструктора.

8. Чтобы открыть окно индексов таблицы Контакт (рис. 20), щелкните на кноп­ке Индексы (Indexes) в группе Показать или скрыть (Show/Hide) вкладки Конст­руктор (Design).

В окне индексов есть список со столбцами названия индекса, имени поля, по которому выполняется индексация, и режима сортировки (по возрастанию или убыванию). Индекс PrimaryKey является ключом таблицы, однозначно идентифицирующим ее записи. Данный индекс простой, то есть он назначает сортировку только по одному полю Код. Чтобы записи с одинаковыми фами­лиями располагались по алфавиту имен, следует создать индекс Фамилия с ус­ловием сортировки по полям Фамилия и Имя.

Рис.20. Индексы

9. Введите в поле названия индекса текст Фамилия.

10. Нажмите клавишу Tab и выберите пункт Фамилия в раскрывающемся списке ячейки Имя поля (Field Name). В столбце Порядок сортировки (Sort Order) авто­матически появится вариант По возрастанию (Ascending).

И. Щелкните правой кнопкой мыши в той строке, которая расположена ниже строки индекса Фамилия.

12. Выберите в контекстном меню команду Вставить строки (Insert Rows), чтобы добавить одну пустую строку.

13. В новой строке столбца Имя поля (Field Name) щелкните на кнопке раскрываю­щегося списка.

14. Выберите пункт Имя. В столбце Порядок сортировки (Sort Order) автоматически появится вариант По возрастанию (Ascending).

В окне настройки индексов имена полей, по которым происходит упорядочи­вание в данном индексе, располагаются в строке с именем индекса и ниже ее в строках с пустой ячейкой Индекс (Index Name) в порядке убывания влияния поля. То есть первой выполняется сортировка по тому полю, которое в данном индексе расположено выше. В одном индексе можно использовать до 10 по­лей. Таким образом, теперь индекс Фамилия упорядочивает записи по алфави­ту сначала по фамилиям, а потом по именам.

15. Закройте окно индексов.

16. Щелкните на кнопке Режим (View), чтобы переключиться в режим редактиро­вания таблицы.

17. Ответьте Да (Yes) на запрос о необходимости сохранения таблицы. В резуль­тате имена окажутся выстроенными по алфавиту (рис.21).

Рис. 21. Сортировка по двум полям