- •Организации БД
- •Система физического доступа к БД
- •Основные дидактические единицы
- •Основные методы организации БД
- •Основные методы организации БД
- •Основные методы организации БД
- •Основные методы организации данных
- •1 вариант: Создание таблицы с первичным ключом.
- •1 вариант: Создание таблицы с первичным ключом.
- •2 вариант: Факторизация (по полю CITY)
- •2 вариант: Факторизация (по полю CITY)
- •3 вариант: Индексирование по определенному полю
- •3 вариант: Индексирование по определенному полю
- •Механизм индексирования
- •4 вариант: Сочетание факторизации и индексирования
- •5 вариант: Использование цепочек указателей
- •6 вариант: Иерархическая организация
- •7 вариант: Инвертированная организация
- •7 вариант: Инвертированная организация
- •8 вариант: Хеш - адресация
- •8 вариант: Хеш - адресация
- •Вопросы по теме лекции
1 вариант: Создание таблицы с первичным ключом.
Существует единственный хранимый файл, который содержит 5 записей по одной на каждого поставщика.
Преимущества:
простота и очевидность.
Недостатки:
1) медленный поиск (кроме запроса «найти все сведения о поставщике»);
2) нет экономии памяти.
2 вариант: Факторизация (по полю CITY)
Файл SUPLIER
S# |
SNAME |
STATUS |
CITY |
S1 |
Главснаб |
20 |
|
S2 |
Металснаб |
20 |
|
S3 |
Химснаб |
20 |
|
S4 |
Завод ЭВМ |
10 |
|
S5 |
Примснаб |
20 |
|
|
|
|
|
Файл CITY
CITY
Москва
Артем
Владивосток
2 вариант: Факторизация (по полю CITY)
В случае факторизации данные размещаются по 2-м файлам, причем с указателями из исходного на дополнительный.
Это основной принцип организации справочника.
Преимущества: экономия памяти в том случае,
если количество записей в исходной файле (SUPLIER) велико, а в факторизованном файле (CITY) мало.
Недостатки: с т.з. поиска данная структура не является достаточно оптимальной
особенно для запросов «найти все сведения о поставщике» и «найти всех поставщиков в одном городе».
3 вариант: Индексирование по определенному полю
Файл CITY
CITY Suplier
Москва
Артем
Владивосток
Файл SUPLIER
S# |
SNAME |
STATUS |
S1 |
Главснаб |
20 |
S2 |
Металснаб |
20 |
S3 |
Химснаб |
20 |
S4 |
Завод ЭВМ |
10 |
S5 |
Примснаб |
20 |
3 вариант: Индексирование по определенному полю
В данном случае указатели направлены из индексного файла в основной.
Данный метод с точки зрения памяти аналогичен предыдущему, с точки зрения поиска он обеспечивает
лучшие характеристики для запроса
«найти всех поставщиков в одном городе»
и худшее для запроса
«все сведения о поставщике», «статус поставщика».
Данный индексированный файл (CITY) можно считать
плотным вторичным индексом,
что означает: индекс таблицы CITY содержит отдельную запись для каждого экземпляра хранимой записи исходного файла
(SUPLIER).
Механизм индексирования
Один из механизмов индексирования предполагает,
что записи в исходном файле имеют ключи со значениями из натурального ряда и перед выполнением
индексирования эти ключи упорядочены по возрастанию.
Записи загружаются в файл, плотно заполняя блоки (без пробелов) и
после чего система формирует строку в таблице младших индексов, ставя в соответствие № блока и мах-ый ключ в этом
блоке (такая таблица формируется на определенное кол-во блоков).
После заполнения таблицы формируется строка
в таблице старшего индекса,
где ставится в соответствие № таблицы младшего индекса и мах-го ключа.
4 вариант: Сочетание факторизации и индексирования
Москва |
Артем |
Владивосток
S1 Главснаб |
20 |
S2 Металснаб |
20 |
|
|
|
S5 Примснаб 20 |
S4 Завод |
30 |
S3 Химснаб |
20 |
5 вариант: Использование цепочек указателей
Владивосток |
Артем |
Москва |
S1 Главснаб 20 |
S3 Химснаб 20 |
S5 Примснаб 20 |
|
|
S2 Металснаб 20 |
S4 Завод |
30 |
6 вариант: Иерархическая организация
А
В1
|
Москва |
|
|
|
|
С1 S1 |
Главснаб |
30 |
В2 |
|
|
С2 S4 |
Завод |
10 |
|
|
|
|
Артем |
|
|||
|
|
|
|
|
|
|
|
|
С3 S2 |
Металлоснаб |
20 |
|
|
|
С4 S3 |
Химический |
20 |
В3
|
|
Вл-к |
|
|
|
|
|
|
|
|
|
С5 |
S4 Приморский |
20 |
Блок 1 |
Блок 2
А1 |
В1 |
С1 |
С2 |
В2 |
|
|
|
|
|
|
|
С3 С4 В3 С5
7 вариант: Инвертированная организация
Индекс SNAME
SNAME |
Ук-ли |
|
Главснаб |
|
S1 |
|
||
Металснаб |
|
S2 |
|
||
|
||
Химснаб |
|
S3 |
|
||
|
||
Завод ЭВМ |
|
S4 |
|
||
|
||
Примснаб |
|
S5 |
|
Индекс STATUS
SNAME Ук-ли
10 |
|
S4 |
20 |
S2 |
S3 |
|
S5 |
|
|
|
|
|
|
|
30 |
|
S1 |