Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
62
Добавлен:
01.05.2014
Размер:
669.7 Кб
Скачать

2.5. Индексы

По определениям ключей (первичных или вторичных, см. п. 2.2) СУБД автоматиче­ски строит индексы, которые представляют собой механизмы быстрого доступа к хранящимся в таблицах данным.

Сущность индексов состоит в том, что они хранят отсортированные значения ин­дексных полей (т.е. полей, по которым построен индекс) и указатель на запись в таб­лице. Например, пусть имеется таблица, показанная на рис. 2.11.

Порядковый

№ записи

Дата прихода

товара

Наименование

товара

Количество,

кг

1

10.12.1999

Сахар

10

2

12.12.1999

Картофель

50

3

12.12.1999

Свекла

20

4

14.12.1999

Сахар

50

5

14.12.1999

Свекла

10

6

16.12.1999

Сливы

4

Рис. 2.11 Физическая структура таблицы

С логической точки зрения ее индексы выглядит так, как показано на рис. 2.12.

Индекс по дате прихода товара

Индекс по наименованию товара

Индекс по количе­ству

Дата прихода

№ за­писи

Наименование товара

№ записи

Количе­ство

№ записи

10.12.99

1

Картофель

2

4

6

12.12.99

2

Сахар

1

10

1

12.12.99

3

Сахар

4

10

5

14.12.99

4

Свекла

3

20

3

14.12.99

5

Свекла

5

50

2

16.12.99

6

Сливы

6

50

4

Рис. 2.12. Логическая структура индексов

Обратите внимание: значения полей в индексе («Дата прихода», «Наименование товара», «Количество») сортируются по возрастанию, что существенно ускоряет поиск нужных значений. Если, например, нужно выбрать все записи с наименованием товара «Свекла», нет нужды просматривать всю таблицу. Достаточно найти в индексе, построенном по столбцу «Наименование товара», первый указатель на запись, содер­жащую товар «Свекла», и считать из таблицы эту запись, а затем повторить то же для всех иных указателей в индексе на записи с товаром «Свекла». Поскольку значения полей отсортированы, поиск первого указателя осуществляется специальными мето­дами быстрого поиска и реализуется значительно быстрее, чем если бы поиск шел по неотсортированным полям таблицы. Такой метод доступа к записям таблицы называ­ется индексно-последовательным, потому что:

 поиск ведется по индексу, а не по таблице;

 доступ начинается с первой строки, удовлетворяющей условию запроса или его части;

 строки в индексе, начиная с первой найденной записи, просматриваются после­довательно.

В том случае, если в условия запроса входят поля, по которым не построено индексов, ищется иной пригодный индекс, а если такого индекса нет, производится последователь­ный перебор записей таблицы БД (в некоторых СУБД, например, использующих техно­логию ADO, в этом случае может быть построен вспомогательный индекс).

Упражнения и задачи

Для заданных предметных областей определить:

  • объекты;

  • атрибуты.

  1. ПРЕДМЕТНАЯ ОБЛАСТЬ (ПО) «ВЫСШЕЕ ОБРАЗОВАНИЕ ГОРОДА».

  2. ПРЕДМЕТНАЯ ОБЛАСТЬ «СРЕДНЕЕ ОБРАЗОВАНИЕ».

  3. ПРЕДМЕТНАЯ ОБЛАСТЬ «УЧЕБНЫЙ ПРОЦЕСС В ВУЗЕ».

  4. ПРЕДМЕТНАЯ ОБЛАСТЬ «ПРОМЫШЛЕННЫЕ ПРЕДПРИЯТИЯ ГОРОДА».

  5. ПРЕДМЕТНАЯ ОБЛАСТЬ «СБЫТ ГОТОВЫХ ИЗДЕЛИЙ».

  6. ПРЕДМЕТНАЯ ОБЛАСТЬ «БОЛЬНИЦЫ ГОРОДА».

  7. ПРЕДМЕТНАЯ ОБЛАСТЬ «ТЕАТРЫ ГОРОДА».

  8. ПРЕДМЕТНАЯ ОБЛАСТЬ «ЦЕНТР КРАСОТЫ».

  9. ПРЕДМЕТНАЯ ОБЛАСТЬ «КАДРЫ».

  10. ПРЕДМЕТНАЯ ОБЛАСТЬ «АБОНЕМЕНТ ТЕХНИЧЕСКОЙ ЛИТЕРАТУРЫ».

Соседние файлы в папке Базы данных1