- •Материалы по субд Лекция 1
- •Введение в системы управления базами данных
- •Основные понятия баз данных
- •Некоторые правила построения баз данных
- •Реляционные отношения между таблицами. Целостность данных
- •Отношение «один-к-одному»
- •Отношение «один-ко-многим»
- •Отношение «многие-ко-многим»
- •Нормализация
- •Индексирование
- •Лекция 2
- •Использование языка sql ms access
- •Лекция 3
- •Общие сведения о ms access
- •Запуск ms Access
- •Порядок работы при создании объекта:
- •Практическое занятие 1 – 2
- •Использование субд Microsoft Access на примере создания базы данных по учету товаров
- •Практическое занятие 3
- •Использование суБд access на примере ведения карточки студента
- •Практическое занятие 4
- •Практические задания для самостоятельной работы Вариант 1. "Жители"
- •2. База "Жители" состоит из 3-х следующих таблиц: "Район", "Здание", "Жильцы".
- •Вариант 2. "Жители-2"
- •Вариант 3. "Жильё"
- •Вариант 4. "Население"
- •Вариант 5. "Вакансии"
- •Вариант 6. "Автомагазины"
- •База "Магазины запчастей" состоит из 3-х следующих таблиц:
- •Вариант 7. "Реализация"
- •Вариант 8. "Поставщики-детали"
- •База "Поставщики-детали" состоит из 3-х следующих таблиц:
- •Вариант 9. "Покупатели"
- •Вариант 10. "Станции техобслуживания"
- •База "Станции техобслуживания" состоит из 4-х следующих таблиц: "Станции", "Автомобили", "Услуги", "Стоимость".
- •Вариант 11. "Магазины запчастей"
- •2. База "Магазины запчастей" состоит из 4-х следующих таблиц:
- •Вариант 12. "Больница"
- •Вариант 13. "Служащие"
- •Вариант 13. "Жилье-2"
- •1.2. Спланировать и описать структуру базы данных (смотри п.2).
- •Контрольные вопросы по теме
Индексирование
По заданным в таблицах ключам СУБД автоматически строит индексы, которые представляют собой механизмы быстрого доступа к хранящимся в таблицах данных. Индексирование записей файла позволяет заменить физическую реорганизацию файла (перестановки записей и др.) изменением индексов. Используя индекс, можно реорганизовывать индекс без реорганизации самого файла. Это значительно увеличивает скорость обработки больших объемов информации.
Чтобы создать индекс, вначале задается массив целых чисел, в котором каждый элемент содержит один (свой) номер записи файла прямого доступа. Этот массив используется для определения номера записи, к которой нужно обратиться. Такая организация хранения записи файла называется индексированием записи. Записи одного файла могут иметь несколько разных индексов для организации различных алгоритмов работы с одним и тем же файлом. Сущность индексов состоит в том, что они хранят отсортированные значения индексных полей и указатель на запись в таблице.
Пример:
Порядковый номер записи |
Товар |
Дата |
Кол-во (ед) |
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 |
С логической точки зрения ее индексы выглядят так:
Индекс по дате прихода товара |
Индекс по наименованию товара |
Индекс по количеству |
|||
Дата |
Порядко-вый номер записи |
Товар |
Порядко-вый номер записи |
Кол-во (ед) |
Порядко-вый номер записи |
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 |
-
Индекс по наименованию товара будет выглядеть следующим образом
Индекс по количеству будет выглядеть следующим образом
Index(1)=2
Index(2)=1
Index(3)=4
Index(4)=3
Index(5)=5
Index(6)=6
Index(1)=3
Index(2)=5
Index(3)=2
Index(4)=1
Index(5)=4
Index(6)=6
Рассмотрим правила индексирования.
Индекс по первичному ключу позволяет быстро найти нужную запись. Это пожалуй самый быстрый способ перейти к нужной записи. Кроме того, он не заменим при связывании таблиц. Есть и другие достоинства у индексов по первичным ключам. Так что первое правило - каждой таблице по первичному ключу.
Существует следующее правило - поля, по которым часто приходится искать, должны быть проиндексированы
При каждом обновлении таблицы индексы также модифицируются. Если их слишком много, это займет много времени. Понятие "слишком" сильно зависит от СУБД, но обычно считается, что 5 индексов на таблицу - нормально. Правило - не загромождайте таблицу лишними индексами
При связывании таблиц нам нужно, чтобы при перемещении по главной таблице записи в подчиненной искались как можно быстрее. Поле, по которому мы связываем таблицы, называется внешним ключем. Итак, следующее правило - индексы для внешних ключей как правило не нужны.
Приведенные таблицы являются исходными (базовыми) для задания данных и связей между ними. Такие таблицы физически существуют в памяти ЭВМ, хотя их вид необязательно соответствует приведенному (физическое представление данных, т.е. то, как данные реально хранятся на носителях, отличается от их логического представления в виде рассмотренных таблиц и зависит от типа ЭВМ и носителя данных).
Важное дополнение к таблицам представляют запросы. В результате информационного запроса (query) к реляционной базе данных также получается некоторая таблица, которая является представлением существующих данных. Заложенные в исходных таблицах отношения позволяют конструировать различные логические представления данных. Результат выполнения запроса не хранится, хранятся только таблицы.
Дадим еще одно определение баз данных: под базой данных теперь мы будем понимать совокупность таблиц, ключей, индексов, форм, запросов и т.д.