Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Материалы по БД / БД / организацияБД_.ppt
Скачиваний:
34
Добавлен:
13.02.2016
Размер:
2.64 Mб
Скачать

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

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