Ввод Связанных Данных

Navigation:  АРМы > АРМ Каталогизатор > Интерфейс общая характеристика пользовательского > р.о.РАБОЧИЙ ЛИСТ > Расширенные средства ввода >

Ввод Связанных Данных

Previous pageReturn to chapter overviewNext page

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

 

«

ВВОД СВЯЗАННЫХ ДАННЫХ (ИРБИС64) -

режим ввода (средство ввода) через РЛ полей  .

 

Под связанными данными понимаются данные, которые хранятся в других (по отношению к основной, т.е. той, которая находится в РЛ) записях. Такие записи (в которых хранятся связанные данные) будем называть Child-записями.

 

 

Child-записи

- записи, в которых хранятся связанные данные.

 

Child-записи должны отвечать следующим требованиям:

Child-записи содержат ЕДИНСТВЕННОЕ поле (метка которого не регламентируется);

единственное поле Child-записи должно иметь следующую структуру данных:

 

<КЛЮЧ><подполе_1><подполе_2>.....<подполе_n>

 

где КЛЮЧ - данные, связывающие основную запись и Child-запись и не доступные для корректировки; подполя имеют стандартную структуру:

 

^X<данные подполя>             и не могут повторяться.

 

формально Child-записи могут храниться в любых БД, но рекомендуется размещать их в отдельных (специально предназначенных для этого) БД;

для Child-записи в таблице инвертирования (таблице актуализации) соответствующей БД (т.е. той, в которой хранится Child-запись) должна быть предусмотрена обязательная инверсия КЛЮЧа (без каких-либо префиксов!):

 

mmm  0  Vmm^*

где mmm - метка поля Child-записи

 

Child-записи не предназначены для автономной работы, т.е. формирование и корректировка Child-записей должна выполняться только при работе с основной записью на основе соответствующего режима ввода - ВВОД СВЯЗАННЫХ ДАННЫХ;

в таблицах инвертирования (таблицах актуализации) основных БД (т.е. тех БД, в которых хранятся основные записи) допустимы обращения к данным Child-записей с помощью соответствующих форматных выходов (&uf('7...),  &uf('D...));

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

 

РЛ полей для основных записей

ВВОД СВЯЗАННЫХ ДАННЫХ обеспечивает работу с группой однородных Child-записей и

описывается в структуре РЛ полей для основных записей следующим образом

(см. рис.: РЛ полей для ввода Связанных Записей):

МЕТКА = mmm

mmm – метка поля однородных Child-записей

ПОВТОРЯЕМОСТЬ = 0

РЕЖИМ ВВОДА = 99

ДОП.ИНФОРМАЦИЯ = <имя БД Child-записей>,<имя РЛ подполей>, <формат КЛЮЧА>

 

где:

<имя БД Child-записей> - имя БД, в которой хранятся Child-записи

<имя РЛ подполей> - имя РЛ подполей для ввода связанных данных (может находиться или в той же БД, где Child-записи, или в БД основных записей)

<формат КЛЮЧА> - формат формирования КЛЮЧА (т.е. КЛЮЧ формируется как результат форматирования основной записи по данному формату)

 

РЛ полей для ввода Связанных Записей.

РЛ полей для ввода Связанных Записей.

 

 

Форма для ввода повторяющихся полей

Собственно ввод связанных данных осуществляется с помощью формы, аналогичной табличной форме для ввода повторяющихся полей (см. рис. Форма для ввода Связанных Записей).

 

Правила:

Правило:

 

При вводе связанных данных необходимо соблюдать следующие правила:

Вводить (первоначально) связанные данные следует ПОСЛЕ ввода данных основной записи, на основе которых формируется КЛЮЧ, связывающий основную запись с Child-записями;

В случае изменения (корректировки) данных основной записи, на основе которых формируется КЛЮЧ, необходимо (хотя бы формально) вызывать на корректировку (т.е. нажимать соответствующую кнопку) связанные данные;

Для предотвращения «разрыва» связи между основной записью и Child-записями – в случае изменения данных, на основе которых формируется КЛЮЧ, - необходимо добавлять соответствующий контроль в ФЛК записи для основной БД.

 

 

 

Форма для ввода Связанных Записей.

Форма для ввода Связанных Записей.

 

В заключение следует отметить, что данное средство ввода – ВВОД СВЯЗАННЫХ ДАННЫХ – пока (на уровне 2013.1) не нашло реального применения в технологиях ИРБИС и адресовано на данный момент пользователям, ведущим собственные разработки.

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

Он в том, чтобы «расшить» одно из принципиальных узких мест СУБД ИРБИС: неэффективная (замедленная) работа с записями, имеющими большое количество повторений одних и тех же полей (примеры: 330 и 910 поля в БД ЭК, 40 поле в БД RDR). Данная разработка позволяет хранить подобные данные в Child-записях, что должно существенно повышать эффективность работы с основными записями.

Желающим применить данную разработку самостоятельно могут быть переданы тестовые данные: примеры БД Child-записей, РЛ и ФЛК.

 


См. также:

Ввод данных

Расширенные средства ввода