Организация данных и структуры данных
Метод обменной сортировки с выбором
Метод турнирной сортировки
Методом квадратичной сортировки
Метод вставки
Методы Замещения
Слияние рассортированных подфайлов
Осциллирующей сортировки
Многофазная сортировка
Сравнение методов внешней сортировки
Генераторы программ сортировки слияния
Информация и ее представление в вычислительных машинах
Ассоциативная структура
Последовательная структура
Связанный список
Простые операции над списками
Иерархические структуры
Древовидная структура
Линейное представление древовидной структуры
Преобразование арифметических выражений в списковые структуры
Сетевая структура
Системы управления базами данных
Инвертированные файлы
Пример инвертированного файла
Поиск по нескольким ключам
Элементы системы управления базой данных
Работа системы управления базой данных
Роль администратора базы данных
Определения
Организация в записи
Компоненты записи
Блоки
Форматы блоков и записей
Организация и методы доступа
Последовательная организация
Метод доступа с очередями
Библиотечная организация
Оглавление тома
Метки оглавления тома
Метки тома магнитной ленты
Прямая организация
Прямая адресация
Методы рандомизации
Сравнение методов рандомизации
Индексно-последовательная организация
Область основных данных
Области переполнения
Области индексов
Произвольный поиск
Режимы обработки
Добавление новых записей
Статистика
Общее про методы сортировки
Сортировка в основной памяти
Метод сортировки посредством выбора

Прямая организация

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

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

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

Доступ к данным можно осуществить либо путем непосредственного указания адреса, либо с помощью ключа. Как правило, некоторым алгоритмом (разд. 9.3).ключ преобразуется в точный адрес или в координаты небольшой области (цилиндра или дорожки), в которой затем последовательным поиском отыскивается запись с требуемым значением ключа.

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

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

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

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

Как отмечалось ранее, для того чтобы иметь возможность непосредственно указывать элемент данных на устройстве прямого доступа, необходимо установить связи между значением ключа и адресом элемента данных. Этого можно добиться многими различными способами, некоторые из них ($дут подробно обсуждаться в разд. 9.3.

Четвертый основной метод организации и доступа — индексно последовательный, который сочетает преимущества как последовательного, так и прямого методов организации и доступа, будет отдельно рассмотрен в разд. 9.4.

Hosted by uCoz