Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UP-TIPiS-Krasnova.doc
Скачиваний:
52
Добавлен:
17.12.2018
Размер:
2.07 Mб
Скачать

4.3.6. Способы организации данных

Возможны следующие способы организации данных:

  1. Последовательный, т.е. доступ к данным в порядке их следования.

Различают последовательные данные со следующей длиной записи:

  • фиксированной, т.е. все порции данных, считываемых или записываемых в файл, имеют одинаковую протяженность (поле, содержащее длину записи, может располагаться в управляющих структурах файла.);

  • переменной, т.е. данные содержат поле с указанием длины текущей записи непосредственно перед самой записью(это несколько увеличивает протяженность файла: если длина дополнительного поля равна четырем байтам, то накладные расходы есть учетверенное число записей; требуется дополнительное время на считывание или генерацию поля длины записи);

  • неопределенной, т.е. длина текущей записи задается в программе, в операторе или группе машинных команд, реализующих доступ к данным (данные не требуют пространственных накладных расходов).

  1. Прямой способ обеспечивает произвольную последовательность доступа к записям файла. Это становится возможным в результате нумерации записей. Доступ к некоторой записи осуществляется по номеру.

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

Файл, созданный как последовательный, в дальнейшем может рассматриваться как имеющий прямую организацию.

  1. Индексно-последовательный способ пытается совместить достоинства последовательного и прямого доступов к данным:

  • гибкость структуры записи, присущая последовательной организации;

  • быстрый доступ к произвольной записи, как в прямой организации;

  • возможна высокая скорость поиска информации, соответствующей заданному критерию (контекстный поиск);

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

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

Доступ к записи возможен в последовательном режиме, в индексно-последовательном, в прямом.

Для добавления новых записей требуется резервирование пространства под элементы индексной таблицы.

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

В файле поддерживается каталог – таблица, в которой именам разделов ставятся в соответствие относительные адреса начала разделов и их протяженности. Для ускорения поиска имена разделов в каталоге упорядочиваются. Переменная длина раздела в библиотеке не позволяет реализовать модификацию непосредственно в файле и обычно требует перезаписи всего файла с внесением изменений в каталог.

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