- •Введение
- •Введение в системы управления базами данных
- •Основные понятия баз данных
- •Некоторые правила построения баз данных
- •Реляционные отношения между таблицами. Целостность данных
- •Отношение «один-к-одному»
- •Отношение «один-ко-многим»
- •Отношение «многие-ко-многим»
- •Нормализация
- •Индексирование
- •Использование языка sql ms access
- •Общие сведения о ms access
- •Запуск ms Access
- •Порядок работы при создании объектов Объект Таблица.
- •Объект Форма.
- •Объект Запрос.
- •Объект Отчёт.
- •Объект Макрос.
- •Автоматический запуск макроса.
- •Регистрация дат создания и изменения записей с помощью макроса.
- •Объект Модуль.
- •Использование субд Microsoft Access на примере создания базы данных по учету товаров
- •Использование суБд access на примере задачи об открытии фирмы по продаже жилья
- •Использование суБд access на примере ведения карточки студента
- •Практические задания для самостоятельной работы
- •База «Жители» состоит из 3-х следующих таблиц: «Район», «Здание», «Жильцы».
- •Вариант 2. "Жильё"
- •Вариант 3. "Население"
- •Вариант 4. "Вакансии"
- •Вариант 5. "Автомагазины"
- •Вариант 6. "Реализация"
- •Вариант 7. "Поставщики-детали"
- •Вариант 8. "Покупатели"
- •Вариант 9. "Станции техобслуживания"
- •Вариант 10. "Магазины запчастей"
- •Вариант 11. "Больница"
- •Вариант 12. "Служащие"
- •Контрольные вопросы по теме
- •Список литературы
-
Индексирование
По заданным в таблицах ключам СУБД автоматически строит индексы, которые представляют собой механизмы быстрого доступа к хранящимся в таблицах данных. Индексирование записей файла позволяет заменить физическую реорганизацию файла (перестановки записей и др.) изменением индексов. Используя индекс, можно реорганизовывать индекс без реорганизации самого файла. Это значительно увеличивает скорость обработки больших объемов информации.
Чтобы создать индекс, вначале задается массив целых чисел, в котором каждый элемент содержит один (свой) номер записи файла прямого доступа. Этот массив используется для определения номера записи, к которой нужно обратиться. Такая организация хранения записи файла называется индексированием записи. Записи одного файла могут иметь несколько разных индексов для организации различных алгоритмов работы с одним и тем же файлом. Сущность индексов состоит в том, что они хранят отсортированные значения индексных полей и указатель на запись в таблице.
Пример. Рассмотрим таблицу товаров на складе, фрагмент которой приведен на рисунке 1.6. Ее таблицы индексов выглядят так, как показано на рисунке 1.7.
Порядковый номер записи |
Товар |
Дата |
Кол-во (ед) |
1 |
Сахар |
10.01.03 |
10 |
2 |
Картофель |
15.01.03 |
20 |
3 |
Свекла |
12.02.03 |
50 |
4 |
Сахар |
20.02.03 |
10 |
5 |
Свекла |
10.03.03 |
50 |
6 |
Сливы |
19.03.03 |
4 |
Рис. 1.6. Таблица товаров на складе
Индекс по дате прихода товара |
Индекс по наименованию товара |
Индекс по количеству |
|||
Дата |
Порядко-вый номер записи |
Товар |
Порядко-вый номер записи |
Кол-во (ед) |
Порядко-вый номер записи |
10.01.03 |
1 |
Картофель |
2 |
50 |
3 |
15.01.03 |
2 |
Сахар |
1 |
50 |
5 |
12.02.03 |
3 |
Сахар |
4 |
20 |
2 |
20.02.03 |
4 |
Свекла |
3 |
10 |
1 |
10.03.03 |
5 |
Свекла |
5 |
10 |
4 |
19.03.03 |
6 |
Сливы |
6 |
4 |
6 |
Рис. 1.7. Таблицы индексов для таблицы товаров на складе
Рассмотрим правила индексирования.
-
Индекс по первичному ключу позволяет быстро найти нужную запись. Это, пожалуй, самый быстрый способ перейти к нужной записи. Кроме того, он не заменим при связывании таблиц. Есть и другие достоинства у индексов по первичным ключам. Так что первое правило - каждой таблице по первичному ключу.
-
Существует следующее правило - поля, по которым часто приходится искать, должны быть проиндексированы.
-
При каждом обновлении таблицы индексы также модифицируются. Если их слишком много, это займет много времени. Понятие "слишком" сильно зависит от СУБД, но обычно считается, что 5 индексов на таблицу - нормально. Правило - не загромождайте таблицу лишними индексами.
-
При связывании таблиц нам нужно, чтобы при перемещении по главной таблице записи в подчиненной искались как можно быстрее. Поле, по которому мы связываем таблицы, называется внешним ключем. Итак, следующее правило - индексы для внешних ключей, как правило, не нужны.
Приведенные таблицы являются исходными (базовыми) для задания данных и связей между ними. Такие таблицы физически существуют в памяти ЭВМ, хотя их вид необязательно соответствует приведенному. Физическое представление данных, т.е. то, как данные реально хранятся на носителях, отличается от их логического представления, т.е. в виде рассмотренных ранее таблиц, и зависит от типа ЭВМ и носителя данных.
Важное дополнение к таблицам представляют запросы. В результате информационного запроса (query) к реляционной базе данных также получается некоторая таблица, которая является представлением существующих данных. Заложенные в исходных таблицах отношения позволяют конструировать различные логические представления данных. Результат выполнения запроса не хранится, хранятся только таблицы.
Дадим еще одно определение баз данных: под базой данных мы будем теперь понимать совокупность таблиц, ключей, индексов, форм, запросов и т.д.