Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shp.doc
Скачиваний:
17
Добавлен:
18.09.2019
Размер:
5.46 Mб
Скачать

8. Файловые структуры. Файлы прямого доступа. Файлы последовательного доступа.

Файл – это линейная последовательность записей => всегда в файле можно определить текущую, предшествующую и следующую за ней запись. Различают устройства с последовательной записью и уст-во с произвольной адресацией.

Файлы с постоян. длиной записи располагаются на устройствах прямого доступа и являются файлами прямого доступа. В них физ-кий адрес может быть вычислен по № записи. Для каждого файла в системе хранятся следующая информация: имя, тип, размер записи, кол-во занятых физ-ких блоков, базовый начальный адрес, ссылка на сегмент расширения, способ доступа (код защиты).

Файлы прямого доступа обеспечивают наиболее быстрый доступ к произвольным записям, их использование наиболее перспективно в БД. На устройствах с последовательным доступом могут быть организованы файлы только с последовательным доступом.

Файлы последовательного доступа – это файлы с переменной длиной записи.

Могут быть организованы:

1) Конец записи отмечается специальным маркером;

2) В начале записи указывается ее длина.

Неупорядоченные последовательные файлы назыв кучей или грудой являются простейшим типом структуры файла. Записи различаются в том порядке в котором они записываются в файле. Т.к. записи не упорядочены к ним применяется только линейный поиск. Упорядоченные последовательные файлы – это файлы в кот записи можно отсортировать по значению одного или нескольких полей. Такие файлы редко используются для хранения информации БД за исключением случая когда в файлах создан первичный индекс.

Не всегда эффективно выполнять поиск записи по ее номеру, гораздо эффективнее выполнять поиск по первичному или другому ключу задавая значение ключа, а не номер записи.

С последов. файлах очень часто строится спец. функция которая по значению ключа однозначно определяет № записи. NZ=F(k) NZ - №записи; F – хеш функция; k - № ключа.

Хеш функция должна быть линейная чтобы обеспечивать однозначность соответствия номера ключа, номеру записи, но это удается не всегда.

Сут метода хеширования.

Берем значение ключа и вычисляем хеш ф-цию F(k), полученное значение берем в качестве адреса начала поиска. Не всегда одному значению ключа соответствует единственное значение ключа, такие ситуации назыв колизиями.

Существует статические и динамические хеш ф-ции. При построении хеш ф-ции необходимо: 1) Выбрать математический метод; 2) Выбрать метод разрешения колизий.

В хешированном файле записи не обязательно должны располагаться последовательно. Аргументами хеш ф-ции явл. значения одного или нескольких полей – эти поля назыв полями перемешивания. Если это поле явл ключевым, то оно назыв хеш-ключем. Записи в хешированном файле распределяются произвольным образом по всему файловому пространству. Хешированные файлы назыв файлами с произвольной структурой или файлы прямого доступа.

Одним из методов построения хеш ы-ции назыв сверткой. Он основан на выполнении нескольких арифметических действий над частями поле перемешивания. Это не оптимальный способ построения хеш ф-ции. Более результативный метод нахождения остатка от деления

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]