Вывод значений атрибутов в различных форматах 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Вывод значений атрибутов в различных форматах



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

Простым запросом на вывод всех значений атрибута с заданным кодом является:

PNNN.

Данное слово должно записываться в словарь действий. Например:

SLKD.ADD(“P011.”);

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

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

В словаре условий требование вывода информации для заданного значения атрибута может быть сформировано в виде:

<код атрибута>$<значение атрибута>

Работа со словарем условий будет разобрана позднее.

Вывод значений атрибутов можно связать с номерами записей, тогда можно вывести все повторы атрибутов.

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

• PKKK.P

• PKKK.N

• PKKK.K

Формат “PKKK.P”

Значения атрибута с кодом PKKK выводятся в словарь результата. Каждому значению атрибута добавляется в конце номер записи в формате:

bbb.nnnnnn

Если значения атрибута в записи отсутствуют, то отсутствует слово для данной записи в словаре результата.

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

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

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

Формат “PKKK.N”

Формат “PKKK.N” используется, когда необходимо вывести значения атрибута с повтором и отсортированные по номерам записи.

Значения атрибута с кодом PKKK выводятся в словарь результата. В данном формате номер записи выводится в начале:

bbb.nnnnnn

Формат позволяет расположить значения атрибутов в соответствии с номерами записей.

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

Формат “PKKK.K”

Этот формат команды используется, когда требуется вывести значения атрибута в “формате коррекции”.

Формат коррекции — это представление значения каждого атрибута в виде, используемом для записи в базу данных. Данный формат имеет вид

bbb.nnnnnn.ppp.PKKK=<Значение атрибута>

где

bbb.nnnnnn — номер записи;

ppp — параметр позиции атрибута в записи;

PKKK — код атрибута.

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

После построения списка значений атрибута с номерами записей можно по номеру записи вывести полную информацию о данной записи, используя команду “R.”.

Отбор и преобразование информации

Рассмотрим работу сочетания условий отбора информации и выполнения отдельных команд языка управления.

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

Номера записей играют важную роль также в преобразовании информации.

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

P001$<номер записи>

Кроме вывода заданной записи по команде “R.”, в словаре действий можно выполнять и другие действия.

В языке действий реализована команда “D.” удаления записи. Если в одном запросе записать в словарь условий slin команду P000=001.000324, а в словарь действий slkd команду “D.”, то в результате запись с номером 001.000324 будет удалена из базы данных.

Удалить запись можно одной командой, записанной в словарь действий slkd:

DN<номер записи>

Например, команда DN001.000324 приведет к удалению из базы данных записи с номером 001.000324.

Для удаления за одно обращение списка записей можно воспользоваться командой “D.” словаря действий, при этом команды словаря условий должны обеспечить отбор необходимых номеров записей.

Выполнение данной команды приведет к удалению всех записей, которые попали в результат запроса, сформированного в словаре slin. Если отсутствуют условия отбора информации в словаре slin или сформированный запрос не ограничивает результат отбора записей (это может быть, когда команды в словаре запроса противоречивы), то будут удалены все записи из базы данных. Поэтому использование команды “D.” должно быть предварительно проверено, например, выводом списка записей.

Список записей можно также удалять, записывая в словарь действий slkd сразу несколько команд удаления одной записи.

Для удаления всех записей заданного блока можно воспользоваться командой:

DBNNN.

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

Получить список непустых блоков можно, выполнив команду:

B.

Если пользователю потребуется вставить новую запись в конкретный блок, можно воспользоваться командой:

B.NNN

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

Команда удаления может применяться не только к записи, но и к значению отдельного атрибута базы данных.



Поделиться:


Последнее изменение этой страницы: 2021-07-19; просмотров: 66; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.15.237.255 (0.007 с.)