3. Техническое описание

The UNESCO micro CDS/ISIS Software

3.1. Таблица определения полей (ТОП)

ТОП содержит описание полей записей главного файла (файла документов). Здесь описываются различные поля, которые могут присутствовать в записи и параметры для каждого поля.

ТОП используется для управления созданием рабочих листов по вводу данных для базы данных и для контроля содержания полей; создается модифицируется посредством программы ISISDEF, используя строковый редактор CDS/ISIS (описанный в разделе 14 "Строковый редактор"). Пример ТОП в строковом редакторе показан на рис. 5.

Рис. 5

3.1.1. Структура базы данных

Возможности CDS/ISIS позволяют описать базу данных в соответствии со спецификой ваших требований. CDS/ISIS не фиксирует семантики обрабатываемой информации. Он просто выполняет набор функций, обычно требуемых в любой системе хранения и поиска информации, которые обеспечивают создание эффективных информационных систем. В связи с этим, невозможно предложить ряд исчерпывающих правил для создания базы данных, а возможно предложить только общие рекомендации. Ниже изложены основные требования к структуре базы данных. Для того,чтобы в совершенстве изучить CDS/ISIS, вы должны ознакомиться со всеми его возможностями, в частности, с элементами базы данных, описанными в этой главе, поскольку слабое знание базы данных может позже помешать использованию некоторых возможностей CDS/ISIS. Например, полное понимание таких совершенных возможностей как REF функция языка форматирования (см. главу 3.3.2.2 "REF(выражение, формат)", или программных возможностей ISISPAS, необходимых при создании интегрированных баз данных.

3.1.1.1. Элементы данных

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

Чтобы определить это, вы будете задавать себе; типичные вопросы, такие; как: "Будет ли обьект нуждаться в сортировке ?", "Должен ли он быть поисковым ?", "Нужно ли его печататьиначе, чем остальные, например жирным шрифтом или большими буквами и т. д.".

Если ответ на любой из этих вопросов будет "Да", тогда обьект будет выбран как элемент данных.

3.1.1.2. Поля и подполя

Элементы данных содержатся в полях или подполях. Поле идентифицируется числовым признаком и описывается в ТОП базы данных. Вы можете считать признак именем поля или его номером, поскольку он известен CDS/ISIS. Каждый раз, когда вы хотите обрабатывать отдельные элементы данных CDS/ISIS, вы должны указать номер поля, где этот элемент описан. Например, в данной раннее ТОП, Title присвоен номер 24. Если вы хотите отобразить содержимое поля Title вы должны в CDS/ISIS указать V24 (на языке форматирования команд поля).

CDS/ISIS, обычно, трактует содержимое поля, как непрерывную строку символов и как один обьект. Вы можете, однако, подразделить поле на подполя. В этом случае поле будет содержать более чем один элемент данных, каждый из них будет описан в различном подполе. Непохожие поля, подполя не отождествляются признаком, но ограничены подполем.

Ограничителем подполя есть 2 символьный код, предшествующий и идентифицирующий подполе переменной длины внутри поля. Он состоит из символа ^(не знак), далее следует алфавитный или числовой символ, например: ^a.

В распечатке ТОП, приведенной раннее, поле Imprint определено как содержащее город, издателя и дату публикации в трех подполях а, b и соответственно с. Примером Imprint может быть:

^aParis^bUnesco^c1985

Поле, содержащее подполя, может быть доступно как единый обьект при ссылке на его номер (например V26).

В этом случае CDS/ISIS использует опции, которые подавляют признаки подполей, автоматически замещая их знаками пунктуации.

Однако, так как подполя идентифицируются разделителями, вы можете также иметь доступ к каждому подполю отдельно, указывая как признак поля, так и ограничитель релеватного подполя. Например: V26 ^b относится к подполю Publisher поля Imprint и V26 ^a относится к подполю места публикации.

При проектировании базы данных, необходимо помнить, что язык форматирования CDS/ISIS имеет средства для автоматической замены разделителей подполей знаками пунктуации. Попробуйте если возможно, выбрать коды разделителей таким образом, чтобы пунктуация была подходящей для применения, в противном случае вы должны будете форматировать каждое подполе индивидуально. Стандартная таблица замены разделителей дана в разделе 3.2.2. "Командный режим". Заметим, что первое подполе, разбитого на подполя поля, не должно иметь ограничителя подполя, так как считается, что он уже есть. Например, если в поле заглавие, где вы хотите использовать подполе для подзаглавия, и заглавная часть поля присутствует всегда, то разделитель подполя не нужен. Таким образом, следующее содержимое этого поля возможно:

IL nome della rosa^bnaturalmente, un manoscritto

3.1.1.3. Повторяющиеся поля

В тех случаях, когда элементы данных могут встречаться более одного раза в записях, CDS/ISIS будет создавать столько полей, сколько требуется, сколько нужно, чтобы включать все случаи наличия таких элементов данных. Этот тип поля называется повторяемым типом поля. Типичным примером есть поле автор в библиографической записи. Все экземпляры повторяющегося поля имеют тот же номер. CDS/ISIS предоставляет возможности для работы и форматирования таких полей. Помните однако, что в основном вы не имеете доступа к отдельному экземпляру повторяющегося поля индивидуально.Часты случаи, например, когда первый экземпляр повторяющегося поля требует отдельной обработки (например, первый автор). Если ваше приложение требует этого, то нужно определить два разных поля: одно содержащее первое вхождение (не повторяющееся), и второе поле, содержащее другое вхождение (повторяющееся).

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

Другой пример, когда вы хотите иметь возможность искать длинные поля по словам путем ввода каждого параграфа, как отдельного вхождения. Вы можете использовать опцию F поискового языка, ограничив поиск в параграфе двумя или более словами, причем такими, что поиск не смог бы осуществляться, если поле было повторяемым (см. раздел 3.6 "Поисковый язык CDS/ISIS").

3.1.1.4. Управляющие символы

Обычные символы, хранимые в полях, также индексированы как данные, и могут быть интерпретированы CDS/ISIS как управляющие символы, в отличие от символов данных, и будут вызывать некоторые специальные процедуры обработки. Управляющие символы резервированы для использования в CDS/ISIS и поэтому не могут быть использованы как данные.

3.1.1.4.1. Ограничители поисковых терминов

Ограничители поисковых терминов могут использоваться для идентификации ключевых слов или выражений, содержащихся в записях, чтобы обеспечить их поиск. Различные технические приемы, которыми снабжен CDS/ISIS в указателе записи, описаны в главе "Таблица выбора полей (ТВП)". Ключевые слова в записях могут быть отмечены двумя путями: либо заключены между парой косых (/.../), либо заключены в треугольные скобки (<...>). Преимущество использования треугольных скобок предпочтительней использования пары косых, поскольку треугольные скобки в отличии от косых скобок, являются резервируемыми символами и CDS/ISIS воспринимает как опцию каждое появление скобок или подавляет их, когда отсутствие опции подавляет скобки.

Когда скобки подавлены, они обычно удалены из отображенной версии поля, исключая тот случай, когда открывающая скобка непосредственно следует за закрывающей: в этом случае CDS/ISIS будет ставить (замещать) их точкой с запятой и пробелом.

Например, путем выбора соответствующего режима вывода на экран следующая строка:

university course  documentation training  library schooL
будет отображена как:
university course; documentation trainind; library school.

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

Mission report   describing   a   (university   course)  in  (docunentation training) at an East African (library school)
Окружающее пространство вокруг ключевых слов должно присутствовать для того, чтобы правильно отображать результат:
Mission report    describing   a   university   course   in documentation training at an East African library school.

Если поле было введено как:
Mission report           describing            a (university course) in (documentation training)  at  an  East  African (library school)
CDS/ISIS отобразит его как:
Mission report      describing      auniversity      course indocumentation trainingat an East Africanlibrary school

Другими словами CDS/ISIS просто игнорирует скобки и не будет заменять их пробелами.

3.1.1.4.2. Средства сортировки

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

Эти возможности позволяют вам инструктировать CDS/ISIS заменять или игнорировать любую последовательность символов данных в поле всякий раз, когда поле используется как запоминающий элемент, используя один из следующих спецификаций:

text-a=text-b в этом случае, CDS/ISIS заменит text-a на text-b когда поле использовано в сортировке, но использует text-a (и игнорирует text-b) когда поле отображается.

text-a в этом случае, text-a будет игнорироваться когда сортируется и только используется для отображения поля.

Ниже показано несколько случаев в которых обычно эти возможности использованы (но их применение не ограничено только этими случаями):

Введено как The evolution of information systems
Отсортировано как EVOLUTION OF INFORMATION SYSTEMS
Отображено как The evolution of information systems
Введено как 100=onehundred days
Отсортировано как ONEHUNDRED DAYS
Отображено как 100 days
Введено как Мс=mac Pherson, J.
Отсортировано как MACPHERSON J.
Отображено как МсPherson, J.

3.1.2. Параметры ТОП

Каждая строка ТОП описывает одно поле записи файла документов и содержит 6 параметров: номер поля, имя, длина, тип, повторяемость и разделители подполей или шаблоны. Они описаны ниже.

3.1.2.1. Номер поля.

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

3.1.2.2. Имя поля

Имя поля - описательное имя, которое вы присваиваете полю. Оно обычно используется в рабочих листах для ввода данных для идентификации на экране. Вы можете полагать что имя поля это то, что вам известно, тогда как номер есть имя, согласно которому поле известно CDS/ISIS. Имя поля может быть длиной до 30 символов.

При создании рабочего листа по вводу данных, CDS/ISIS будет выводить это имя как имя поля по умолчанию.

3.1.2.3. Длина поля.

Это число (в диапазоне 1-1650) показывает предполагаемую длину поля. Пока создается рабочий лист по вводу данных, CDS/ISIS будет использовать это значение как длину по умолчанию.

Из-за закрытой связи между длиной поля и рабочими листами по вводу данных, CDS/ISIS не позволяет вам определить длину поля большую чем 1650 символов (что соответствует одной странице рабочего листа), поэтому поле не может быть в промежутке между двумя страницами рабочих листов. Заметим, однако, что, хотя все поля в базе данных имеют переменную длину, длина точно определенная здесь только характеристическая и CDS/ISIS не настаивает на ней, исключая поля для типа - шаблон, где длина фиксирована и максимальная длина ограничена 20 символами. Для другого типа поля, вы имеете опцию, где создаетя рабочий лист по вводу данных, каждый предел длины поля определен в ТОП или строковый редактор снабжен произвольной длиной по умолчанию 100 символов, если вы не введете длину.

3.1.2.4. Тип поля.

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

X - поле может содержать любой алфавитно-цифровой символ. Поля X - типа не проверяются CDS/ISIS.

A - поле может только содержать текстовые символы (заметим, что пробел не является текстовым символом!). На протяжении ввода данных, CDS/ISIS проверяет эти ограничения, выдавая сообщения, если ограничение не удовлетворено, и просит вас откорректировать поле.

N - поле может только содержать численные символы (0-9). На протяжении ввода данных, CDS/ISIS проверяет это условие, и выдает сообщение об ошибке, если условие не удовлетворено, то просит вас откорректировать поле.

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

Описанные текстовые символы могут быть настроены каждым пользователем посредством системной таблицы ISISAC.ТАВ, описанной в разделе 17.6 "Таблица буквенных символов (ISISAC.ТАВ)".

3.1.2.5. Повторяемость

Этот параметр определяет, есть ли поле повторяемым (т. е. оно может встречаться более чем раз в любой длинной записи) или нет. R указывает на то, что поле повторяется (см., например, поля 44, 70, 71, 72, 74 и 76 в примере ТОП данном на рис. 5). Заметим, что Р-тип (шаблон) поля может не быть повторяемым.

Число вхождений поля повторяемости ограничено максимальной длиной записи.

3.1.2.6. Подполя и Шаблон

В зависимости от определенного типа поля, этот элемент определяет набор полей, допустимых в поле, если таковые есть, (для типов Х, А или N), или шаблон (для типа Р).

3.1.2.6.1. Подполя

Если поле содержит подполя, идентификатор подполя позволяет определить их в порядке, в котором они должны появляться. Заметьте, что символ отрицание(^), идентифицирующий разделитель подполя не вводится. Например, если поле содержит подполя ^а ^в и ^с, они определены в ТОП как aбс (но не ^a^в^c).

3.1.2.6.2. Шаблон

Шаблон-посимвольное описание содержимого поля.

Для каждой позиции поля вы определяете в шаблоне тип символа, который он может содержать:

X - позиция может содержать любой алфавитно-цифровой символ

A - позиция должна содержать текстовые символы

9 - позиция должна содержать числовые символы

other (другие) - позиция должна содержать указанные символы

Заметим, что X и A должен вводиться в верхнем регистре (как заглавные).

Ниже даны некоторые примеры шаблонов и соответствующие входные данные:

Примеры шаблонов

Заметим следующие ограничения на поля Р-типа:

  • максимальная длина ограничена 20 символами;
  • они не могут быть повторяемыми; и
  • они не могут содержать подполя.
3.1.3. Модификация ТОП

Хотя вы можете модифицировать ТОП после ее создания, используя программу ISISDEF, вы должны знать, что некоторые изменения могут иметь тяжелые последствия, особенно если вы имеете уже введенные записи в соответствующей базе данных. Каждый раз изменяя ТОП, CDS/ISIS выполнит проверку последовательности рабочих листов, определенных для базы данных и, если необходимо, автоматически модифицирует их под определенные условия. Дополнительные изменения, однако, могут требоваться не только в рабочих листах, но также в ТОП и форматах воспроизведения.

В случае модификации ТОП, изменения могут потребоваться в самой базе данных. Если изменений требует база данных, вы можете выполнить их автоматически, используя программу ISISXCH импорта/экспорта, или вы можете это сделать вручную.

Ниже даны некоторые пояснения относительно влияния некоторых изменений ТОП, а также индикации, на которую CDS/ISIS автоматически реагирует.

Добавление поля: Добавить поле, как последнее в рабочих листах ввода данных; прибавить поле, в как последнее в форматах отображения; прибавить поле в инвертированном файле FST, если потребуется.

Удаление поля: CDS/ISIS будет автоматически удалять поле во всех рабочих листах в которых оно встречается, которое будет эффективно сдерживать любой дополнительный ввод этого поля в базе данных; вы можете, если хотите удалить поле из рабочих листов, в которых оно встречалось, используя программу ISISDEF; удалить поле из форматов в которых оно встречалось; если поле было введено в любую запись базы данных, то используйте программу ISISXCH для его удаления; если поле было инвертировано, удалите его из ТОП и переинвертируйте базу данных.

Изменить номер (код) поля:

Делается тогда, когда вы будете удалять старое поле и добавлять новое.

Чтобы изменить номер поля, используют программу ISISXCH, затем, если поле было инвертировано, переинвертируйте базу данных.

Изменение имени поля: Изменить, если необходимо, имя поля в рабочих листах и в форматах.

Увеличение длины поля: Увеличить, если необходимо, длину поля в рабочих листах.

Уменьшение длины поля: CDS/ISIS автоматически уменьшает длину поля в рабочих листах, если поле не есть повторяющимся.

Изменение типа поля: CDS/ISIS будет автоматически изменять тип поля во всех рабочих листах, где поле встречается. Однако, если запись содержит данные, описанные по-старому, не совместимые с новым типом, тогда такие поля могут требовать ручных изменений.

Сделать поле повторяемым: Увеличить, если необходимо, длину поля в рабочих листах или определить его как поле прокрутки, если поле инвертировано, модифицировать инвертированный файл ТОП для извлечения всех случаев поля; модифицировать форматы для точного формирования поля.

Сделать поле не повторяемым: CDS/ISIS уменьшит, если необходимо, длину поля в рабочем листе, где поле встречается; вы должны вручную удалить дополнительные лишние входные поля, если таковые есть в базе данных или предпринять альтернативные действия.

Изменение структуры подполя: Вы должны, если необходимо, переформатировать встречающиеся поля в базе данных согласно с новой структурой, используя ISISXCH; если поле было инвертировано и элементы инвертированного файла не длиннее соответствующих элементов в новой структуре, переинвертируйте базу данных после того, как соответственно измените ТОП; форматы могут также требовать изменений.

Изменения шаблона поля: CDS/ISIS автоматически изменяет шаблон во всех рабочих листах, где встречается поле. Однако, записи, уже описанные в базе данных, могут быть несовместимыми с новым шаблоном, который вы определили. В этом случае они должны быть изменены вручную.