А.З. Уникальные идентификаторы

Для записи данных часто не требуются уникальные идентификаторы, так как для этой цели служат значения определенных полей или комбинаций полей, таких, как главный ключ реляционной модели данных. Тем не менее, логическая запись может представлять всю ту информацию, которая связана с объектом, однозначно иденти­фицируемым в базе данных. Уникальное идентифицирующее поле часто представляет ценность, в особенности если происходит последующее обновление. В тех случаях, когда должен обеспечиваться произвольный идентификатор, часто достаточно после­довательных целых чисел. В других случаях, естественно, этой цели служит и может быть использовано поле данных. Где это возможно, желательно использовать элемен­тарное поле, тем не менее структурированные поля, такие,как двухэлементный век­тор, также могут быть использованы. Это не препятствует включению информации в другие поля данных, которые могут быть использованы для установления связи с другими элементами в рамках этого или других массивов данных.

Желательна сортировка, если должны использоваться ссылки на возможность представления на экране дисплея для обнаружения и исправления ошибок, для по­нимания файла обмена или для обеспечения слияния файлов по мере их получения. Там, где используются поля переменной длины, может потребоваться формирование файла, если файл должен сортироваться по порядку.ПРИЛОЖЕНИЕ В

ПРИМЕРЫ ПОЛЯ ДАННЫХ

В.1. Общее

Настоящее приложение содержит несколько примеров полей описания данных и соответствующих полей данных. Так как число допустимых комбинаций структуры, типа, имен, меток управлений формата очень велико, то дается только образец. Во всех примерах следующие печатаемые символы заменяют разделители:

; - разделитель поля (1/14);

& - разделитель элементов (1/15).

В.1.1.Элементы элементарных символьных данных (ЗОДОП 9 = (2/0); ОП 10 - 11 = 00)

Пример

Содержимое ПОЛЯ



ЗОД

ЗД

1

АВТОР;

Федоров;

2

ВОЗРАСТ,

24;

3

ВЫСОТА;

5.5;

4

ВЕС;

2.45Е2;

5

СТРБИТ;

010101,

6

Наименование журнала,

Проблемы МСНТИ;

В.1.2.Эл

ементы составных

данных

(ЗОД ОП 9 = (2/0); ОП 10 - 11 = 06)

ВАЛА. Элементарные поля



Пример

Тип данных

Содержимое ПОЛЯ

ЗОД ЗД

1

Символ

0000; &ИМЯ; ДЖЕЙН;

2

Неявная точка

ОЮО;&ВОЗРАСТ; 18;

3

Явная точка

0200; GPA; 3.46;

4

Масштабированный с

0300;&DIST; +0.5Е+02;


явной точкой


5

Строка битов сим­

0400;&СТРБИТ; 010101;


вольного режима


6

Поле битов (фикси­

0500;&ПОЛБИТФ&В (6); (01010100);


рованное)


7

Поле битов (переменное)

0500;&ПОЛБИТП&В; 16(01010100);

8

Символ

0000;&ЖУРНАЛ; Проблемы МСНТИ;

ел

В скобках указаны двоичные цифры.

В. 1.2.2. Поля векторов і

  1. Вектор символов с разделителями, с именем и метками подполей

ЗОД 1000;&Почтовый адрес&Индекс!Область!Город!Улица!Фамилия; f

ЗД 123456&Минская&Жодино&Я. Коласа21&Быков;

  1. Форматированный вектор с неявной точкой, с именем и метками под­полей <ТГЭ

ЗОД 1100;&НАСЕЛЕНИЕ&1960!1965!1970!1975&(4 (6));

ЗД 765432987345903231897654;

  1. Вектор с разделителями, с явной точкой, с именем, но без меток

  1. ЗОД 1200;&ЗЛАКИ;

ЗД 3.46&2.47&11.94;

  1. ЗОД 1200; &Коэффициент поглощения кварцерных стекол;

ЗД 0.0026 &0.0029&0.0034&0.0043;

  1. Форматированные смешанные векторы с именем и без меток (может также интерпретироваться как массив)

ЗОД 1600; &ДОМАПІНИЙ СКОТ&& (АХ,), I (5), R (5));

ЗД СВИНЬИ, 0274437.46 БЫЧКИ, 1776447.84;

В. 1.2.3. Поля массивов

.В.1.2.3.1. Массив символов с разделителями, с именем и декартовой меткой

ЗОД 2000; &СВОЙСТВА&Золото! Натрий !Мёдь!*Плотность'.Цвет! Активность;

ЗД Высокая&Же^тый&Инертный&Низкая&Серый&Высокая&

Средняя&Красноватый&Низкая;

Эквивалентная таблица

СВОЙСТВА


Плотность

Цвет

Активность

Золото

Высокая

Желтый

Инертный

Натрий

Низкая

Серый

Высокая

Медь

Средняя

Красноватый

Низкая



  1. Форматированный массив с неявной точкой, без имени и без метки ЗОД 2100; &&& (91 (2));

ЗД 2&3&3&124788334672441921;

В. 1.2.3.3. Массив с разделителями, с явной точкой и с именем

ЗОД 2200; &ЕДИНИЧНАЯ МАТРИЦА;

З Д 2& 3& 3& 1& 0.& 0.& 0.& 1 .& 0.& 0.& 0.& 1.;

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

ЗОД 2600;&Таблица; 11&*Металл!Плотность!Цвет!Активность&

(А (:), R (4) , А (,), R (4)):

ЗД Золото: 14.8Желтый, - 1.3Натрий:О.63Серый, 4.81Медь:

10.6 Красноватый,.043;

  1. Использование расширенных наборов кодируемых символов

    1. К о д и р о в а н н ы е наборы символов по умолчанию дляполей

Использование кодированного набора символов Г1 по умолчанию для полей определяется установкой значений в позициях ЗОД ОП 17 - 19 и в расширенных уп­равляющих элементах поля для каждого поля, как показано ниже:

  1. позиции ЗОД ОП 17-19 содержат (2/0) (2/1) (2/0) . Это означает, что от­дельные поля могут содержать расширенные наборы кодируемых символов;

  2. позиции ЗОД ОП 10-11 содержат „09”. Это означает, что существуют 9 байтов, содержащих управляющие элементы поля, последние три из которых пред­ставляют собой информацию последовательности АР2;

  3. управляющие элементы поля ЗОД, предшествующие имени поля, содержат структуру и тип данных, печатаемые разделители и информацию о последователь­ности АР2.

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

Наборы симво- лов Г1 по умол­чанию

Управляющие элементы поля

ОП

0

1

2

3

4

5

6

7

8

1) JIS Катакана

0

0

0

0

>

&

(2/9)

(4/9)

(2/0)

2) Итальянская графика

0

0

0

0


&

(2/9)

(5/9)

(2/0)

3) Шведская гра- ' фика в именах

1

0

0

0


&

(2/9)

(4/8)

(2/0)

4) Расширение не используется

0

0

0

0

9

&

(2/0)

(2/0)

(2/0)



Поля данных в случаях 1) и 2) будут содержать неструктурированный текст, сос­тавленных из ИСО 646 (ГОСТ 27463) как набора ГО и указанного набора Г1. В случае 3) поля данных будут содержать последовательности строк символов, разделенных огра­ничителями. В случае 4) представлены управляющие символы для полей, где не оп­ределен набор Г1.

Примечание. Во всех приведенных примерах ОП 8 содержит (2/0) , так как в этих примерах используются трехсимвольные последовательности АР2. Если ис­пользуются четырехсимвольные последовательности АР2, то могут присутствовать другие образцы битов.

  1. Наборы символов по умолчанию для файла

Использование набора символов Г1 по умолчанию для файла в целом указывает­ся путем размещения последних символов последовательности АР2 в ЗОД ОП 17 - 19.

Для вызова символов Немецкой графики, как набора по умолчанию Г1 для все­го файла, ЗОД ОП 17 - 19 должна содержать (2/9) (4/11) (2/0).

Одно или более полей данных могут содержать в 8-битной среде коды высокого уровня и в 7-битной среде - управляющие символы ВХ и ВЫХ, изменяющие значе­ния последующих комбинаций битов.

  1. В с т р о е н н ы е расширения кодов

В полях данных могут свободно использоваться встроенные последовательнос­ти АР2. Получатель предупреждается о таком использовании содержимым ЗОД ОП 7. Символ Е (прописная латинская буква) означает, что будут найдены встроенные рас­ширения кодированного набора символов, а символ ПРОБЕЛ означает, что встроен­ные последовательности АР2 не будут обнаружены.

Таким образом, в файле, содержащем встроенные последовательности АР2:

  1. ЗОД ОП 7 содержит Е (прописная латинская буква) и

  2. одно или более полей данных будут содержать последовательности АР2 — АР2 (I) (F), где (I) - один или более промежуточных символов и (F) - конечный символ последовательности АР2.

Эти последовательности АР2 не ограничиваются только набором Г1, но могут : быть любой из последовательностей, допускаемых стандартом ИСО 2022 (ГОСТ 27466) как для 7-так и для 8-битной среды.

ПРИЛОЖЕНИЕ С Рекомендуемое

МОДЕЛЬ ФОД И СТРУКТУРА ЛОГИЧЕСКОЙ ЗАПИСИ

С.1 Модель ФОД

Чтобы сравнить модель ФОД с другими моделями файла, желательно описать структуру данных ФОД с помощью терминологии теории графов, т.е. в виде набора корневых упорядоченных деревьев. Каждое дерево соответствует логической записи. Корневой узел каждого дерева является полем идентификатора записи, который дол­жен содержать уникальный идентификатор записи. Поля данных связаны с подчинен­ными промежуточными узлами дерева и с узлами-листьями.

Структуры дерева ЗД будут примером дерева, производного от общего дерева, описанного в ЗОД при помощи бинарных отношений и последовательности прямого обхода общего дерева. Конкретное дерево данных описывается бинарным отношением в ЗОД и последовательностью прямого обхода, требуемыми для конкретного дерева в ЗД. Структура дерева ЗД может быть незавершенной в том смысле, что могут отсутствовать узлы, которые предусмотрены ЗОД, но не содержат данных и не тре­буются для сохранения структуры. В дереве ЗД допускаются многие реализации под­дерева ЗОД и идентификация обеспечивается порядком появления в последователь­ности прямого обхода.

Содержимое узлов - это данные, которые в свою очередь могут иметь регуляр­ную структуру (т.е. элементарную, п- кортеж (вектор) или массив). Поля данных ЗД содержат единицы данных. Типы данных - это символы, три числовые формы, строка битов символьного режима и поле битов. Поля данных ЗД описывают­ся форматами в ЗОД, а также поля данных могут содержать смешанные типы данных.

Иерархическая структура не является обязательной. Без нее файл - это собрание однозначно идентифицируемых логических записей, каждая из которых содержит набор поименованных (снабженных метками) полей данных. Поля в ЗД могут отсут­ствовать и можно использовать более одного примера поля, но связь их нельзя опреде­лять исходя из порядка полей. Эту форму можно рассматривать как одноуровневое корневое неупорядоченное дерево, где каждое поле неявно соединено с узлом иден­тификатора записи.

Одна из особенностей модели ФОД состоит в том, что благодаря требованию уникального идентификатора записи в качестве корневого узла каждого дерева, весь набор деревьев можно выразить в виде одного упорядоченного дерева, корнем кото­рого является ЗОД.

С.2. Иерархические логические записи

Этот раздел описывает средства, с помощью которых линейная структура поме­ченных полей может быть преобразована в иерархическую структуру. Иерархия или используемая структура упорядоченного корневого дерева имеет поля данных в ка­честве его узлов и направленные логические связи между содержимыми полей дан­ных в качестве звеньев в структуре дерева. Корневое дерево имеет уникальный узел - корень, а каждый узел может иметь нулевое или большее количество упорядоченных поддеревьев. В конкретном случае структура дерева для записи может иметь несколь­ко поддеревьев, образованных из множества случаев употребления полей данных, имеющих одну и ту же метку поля. Однако такое дерево может быть полу­чено из (т.е. иметь те же логические связи полей) общего дерева для записи данных, где каждое поле содержится однократно и содержатся все возможные связи между полями.Корневое дерево имеет направленные связи и только один корневой узел, кото­рый не имеет входящих в него связей. Каждый из остальных узлов может быть введен посредством только одной связи. Узлы, которые не имеют выходящих связей, называют­ся узлами-листьями. Как только определен корневой узел, направление всех связей уста­навливается от корневого узла до узла-листа. Иерархический уровень определен нумера­цией корневого узла (1) и путем нумерации по возрастанию каждого последующего узла на всех путях к уз лам-листьям. Деревья здесь изображены нисходящими от корня, при­чем поддеревья каждого узла упорядочены слева направо. Примеры упорядоченных кор­невых деревьев показаны на черт. 13. Приведенное дерево не является бинарным дере­вом, которое сохраняет лево- и правосторонность в отсутствии одной бинарной ветви.