Cтраница 2
Область хранения данных содержит только значащие данные полей. Пустые поля, лидирующие нули в числовых полях и пробелы в конце символьных полей не хранятся. [16]
Группирование данных файла БД представляет собой подбор записей с одинаковыми значениями полей в один блок. По умолчанию сгруппированные блоки данных располагаются по возрастанию чисел для числовых полей или ASCII-кодов для символьных полей. Этот порядок можно изменить на обратный, введя альтернативный оператор упорядочивания. Для выполнения группирования выбирается позиция Group by после предварительной установки курсора в соответствующую графу шаблона файла. [17]
Параметр, следующий за служебным словом USING, содержит явное или косвенное описание структуры выводной строки. Под явным описанием формата мы понимаем текстовую константу, заключенную в кавычки и содержащую характеристики числовых и символьных полей. Косвенное описание формата - это либо имя текстовой переменной, либо номер строки, в которых задается шаблон вывода. Наиболее развитые системы допускают все три способа описания формата, в других ( Дисп, Искра-226) применяется только ссылка на строку с соответствующим описанием. Большинство реализаций бейсика на ДВК и СМ-4 в качестве формата разрешают использование только текстовых констант или текстовых переменных. В этом случае отдельный оператор, предназначенный для описания формата выводной строки, в составе входного языка отсутствует. [18]
А потребность в таком смешении типов иногда возникает. Примером может служить обмен с использованием буферной области. Буфер предназначен для уменьшения числа физических обращений к внешнему устройству. Обычно буфер описывается в терминах символьных полей, на которых мы размещаем свою информацию в процессе ввода или вывода. Но не все данные задачи имеют текстовую природу. Вот и приходится маскировать числовые значения под текст, чтобы поместить их на символьные поля или извлечь оттуда. Аналогичные приемы хорошо известны программирующим на фортране, когда с помощью оператора EQUIVALENCE мы рассматриваем некоторый массив то как числовое поле, то как цепочку однобайтовых логических переменных. [19]
Двоичное поле отличается от символьного указанием литеры В после спецификации длины поля. В частности, имя структуры именует двоичное поле с длиной, равной сумме длин полей структуры. Максимальная длина структуры должна быть меньше 32768 байт. В пределах этого ограничения длины отдельных полей не лимитируются. Двоичные поля с длиной до 24 бит располагаются в памяти без промежутков. Более длинные двоич-лые поля ( а также символьные поля) распределяются всегда с границы байта. [20]
А потребность в таком смешении типов иногда возникает. Примером может служить обмен с использованием буферной области. Буфер предназначен для уменьшения числа физических обращений к внешнему устройству. Обычно буфер описывается в терминах символьных полей, на которых мы размещаем свою информацию в процессе ввода или вывода. Но не все данные задачи имеют текстовую природу. Вот и приходится маскировать числовые значения под текст, чтобы поместить их на символьные поля или извлечь оттуда. Аналогичные приемы хорошо известны программирующим на фортране, когда с помощью оператора EQUIVALENCE мы рассматриваем некоторый массив то как числовое поле, то как цепочку однобайтовых логических переменных. [21]