Cтраница 2
В последовательных файлах записи расположены в порядке их поступления. Последней является запись конец файла. На магнитных лентах такой записью служит ленточная марка ( ТМ), а на дисках - запись с нулевой длиной данных. Если во время выполнения оператора READ считывается эта запись, возникает ситуация конец файла. Записи в файле могут быть фиксированной ( F), переменной ( V) или неопределенной ( U) длины. К последовательным файлам применим последовательный доступ. Если файлы состоят из записей фиксированной длины, можно использовать также прямой доступ. [16]
Журнал - последовательный файл с записями переменной длины, копию каждой страницы сопровождают: имя файла базы данных, имя задания, дата ГГММДД и время ЧЧММСС вывода копии в журнал. [17]
Каталог представляет собой последовательный файл данных, предназначенный для занесения в него информации о файлах данных. Если в каталоге имеется информация о файле данных, то такой файл данных называется каталогизированным. В каталог заносятся файлы, расположенные на магнитных лентах и дисках, а также помещаются имя файла данных и все его основные характеристики. [18]
Если данные последовательного файла передаются с помощью операторов ввода-вывода без формата, то логические записи, составляющие файл, передаются без каких-либо ограничений. Если при занесении какой-либо записи ее размер, определяемый списком вывода, превосходит физический разме записи данного носителя, то логическая запись автоматически разбивается на несколько физических записей. Таким образом, текущая запись файла при бесформатном обмене может быть произвольной длины. [19]
При обработке последовательных файлов обычно требуется, чтобы записи файлов были упорядочены по одному или нескольким полям. При нарушении упорядоченности могут быть получены неверные результаты. В РПГ имеются средства только для проверки записей файла на упорядоченность; выполнить саму сортировку записей в РПГ нельзя. Сортировка последовательных файлов может быть осуществлена с помощью системных программ сортировки до обработки этих файлов программой на РПГ. [20]
При сортировке последовательного файла на дисках с помощью программы сортировки на магнитных лентах и дисках можно указать специальный операнд ADDROUT, который позволяет получить вместо рассортированного файла записей файл адресов. При такой обработке в программе РПГ файл данных описывается как файл с произвольной организацией. Так как этот файл адресов содержит истинные адреса дисковых записей, то подпрограмма преобразования, не нужна. [21]
При создании последовательных файлов следует стремиться к сокращению избыточности данных на магнитных носителях. Описанная выше технология, обобщенная на рис. 2.15 и 2.16, практически исключает риск потери данных, но приводит к значительному дублированию информации. Один из способов экономии места на носителях состоит в том, что промежуточные файлы, получаемые после контроля и редактирования, размещаются на рабочих носителях, высвобождаются для других работ после выполнения операции. Другой способ заключается в объединении нескольких операций в одной программе, выполняющей за один просмотр файла несколько функций. Критерием качества технологии обработки данных является стоимость ее при заданном цикле создания или корректировки. [22]
К записям последовательного файла возможен только после довательный доступ, в том порядке, в котором они размещаются в файле. Хотя обычно имеются ограниченные средства для продвижения указателя текущей записи вперед и назад, они, как правило, обходятся недешево. Когда требуется произвольный доступ к записям, необходима другая организация файла. [23]
Доступ к последовательному файлу может быть только последовательным. Доступ к прямому, относительному и индексно-последова-тельному файлам может быть последовательным или произвольным. [24]
ВХФАЙЛ - это последовательный файл, содержащий один или несколько объектных модулей. БИБПРОГ - некоторый файл с индексным или библиотечным методом доступа, в котором объектные модули хранятся раздельно. Каждая запись СВИМ содержит некоторое символическое имя, его тип ( имя модуля, имя входа или ссылка на внешнее имя) и относительное смещение внутри модуля. Первая запись ТКСТ содержит размер объектного модуля. Каждая следующая запись содержит размер объектного кода и поле, указывающее его длину в этой записи. Адресным константам, указывающим на области внутри модуля, соответствует запись СВИМ для имени входа. Адресным константам, указывающим на другие модули, соответствуют записи СВИМ для ссылок на внешние имена других модулей. [25]
Третий параметр именует последовательный файл на МЛ; это имя должно задаваться в операторе / / LjTLBL для шага задания. [26]
Напомним, что последовательные файлы представляют собой, как правило, текстовые файлы - а именно, наборы строк с ASCII символами. [27]
Индексно-последовательный файл представляет собой последовательный файл, снабженный индексами, содержащими информацию о расположении записей на диске. Каждая запись файла содержит ключ и при создании файла записи располагаются в последовательности ключей. Используя индексы, можно быстро получить доступ к отдельным записям или также быстро произвести последовательную обработку этого файла. [28]
ПРОГРАММЫ ПЕРЕЗАПИСИ перемещают любые последовательные файлы с одних носителей на другие, выполняя при этом типичные для обработки файлов функции: копирование, перекомпоновку, печать. [29]
При передаче данных последовательного файла операторами с форматом, с помощью одного оператора ввода или вывода можно осуществить передачу нескольких записей файла, однако, размер каждой записи не может превышать физический размер-записи для данного устройства. Например, при печати нельзя вывести запись, количество символов в которой превышает количество символов в строке печатающего устройства. [30]