Ограниченные возможности файловых систем с чисто последовательным доступом не помешали им быть эффективным средством для составления раз или два раза в месяц счетов, платежных ведомостей и других отчетов. Однако для выполнения большого количества рутинной работы требуется произвольный доступ - возможность напрямую обращаться к конкретной записи без предварительной сортировки файла или последовательного чтения всех записей.
Для того чтобы программа расчета причитающихся сумм обрабатывала продажи вместе с файлом CUSTOMER, файл SALE должен быть упорядочен по индексу клиента. Поскольку продажи, скорее всего, вводились как попало, нам придется упорядочивать файл SALE, прежде чем использовать его в качестве исходных данных для программы. Это показано на рис. 1.3. Однако, если файл SALE упорядочен по индексу клиента, он наверняка находится в полном беспорядке относительно индекса товара. Таким образом, общую сумму продажи невозможно посчитать, обратившись к файлу PRODUCT. Из-за этого служащие вынуждены вводить лишние данные, что требует дополнительной затраты ручного труда и увеличивает количество ошибок.
Необходимость последовательного доступа к файлам иным образом вынуждает пользователей выполнять лишнюю работу. Например, другая программа IPD подсчитывает комиссионные со сделок и составляет счета на оплату работы агентов. Для того чтобы подсчитать комиссионные, причитающиеся агенту, мы снова должны упорядочить файл SALE, на сей раз по SALREP-ID. И только после этого мы можем обрабатывать файлы SALE и SALES-REPRESENTATIVE вместе, чтобы составить счета на оплату работы агентов (рис. 1.4).
Приведенная ситуация иллюстрирует наиболее серьезные ограничения, которые накладывает требование чисто последовательного доступа к файлам. Эти проблемы были частично решены с появлением файлов произвольного доступа и, особенно, индексно-последовательных (ИП) файлов, которые широко распространились в шестидесятые годы. Файлы произвольного доступа, в отличие от файлов последовательного доступа, позволяют извлекать записи в произвольном порядке.