Файл: Левковиц, Д. Структуры информационных массивов оперативных систем.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 19.10.2024
Просмотров: 85
Скачиваний: 0
м е ж ду собой ключи и классификаторы в разделе усло вия. Если это требование с него снимается, система са ма д о л ж н а уметь их автоматически различать с по мощью декодирования . В противном случае пользова телю следует обратиться к печатному каталогу имен ключей и классификаторов . Таким образом требование декодирования с системы снимается.
Пятый раздел запроса содержит спецификацию про цесса поисковой Обработки (PROCESSING), являющей ся функцией условий. Р а з л и ч а ю т два типа обработки: внутризаписиые логические функции и м е ж з а п и с н а я об работка .
В |
первом |
случае записи извлекаются в оператив |
ную |
память |
из З У П Д согласно поисковому описку, |
после чего подвергаются дальнейшей обработке внутри записи с помощью ключей и классификаторов . Оконча тельный ответ об удовлетворении некоторой записи'Из списка запросу согласно логике его внутризаписной об
работки |
есть функция одних |
лишь |
данных (условий клю |
|
ча или |
классификатора) внутри |
этой записи. |
Функция |
|
внутризаписной обработки, |
о п р е д е л я ю щ а я |
поисковый |
список, обычно представляет собой булево выражение, аргументы которого суть метки, определенные в разделе Условие запроса .
М е ж з а п и с н а я обработка включает |
операции над про |
межуточными ф а й л а м и , п о р о ж д а е м ы |
м и записями, про |
шедшими внутризапнсную обработку. Она может содер ж а т ь вычислительные процедуры, операции по сорти ровке всех отобранных записей или некоторой ее части. Обработка этого типа используется при формировании отчетности, однако в некоторых системах процедуры они
могут отсутствовать. В этом случае формирование |
отчет |
||||
ности состоит |
в выдаче пользователю |
записи по |
мере |
||
того, ка к она найдена |
и классифицирована |
процедурами |
|||
внутризаписной |
обработки. |
|
|
|
|
Р а з д е л Обработка |
т а к ж е состоит |
из |
высказываний |
типа программ, с о д е р ж а щ и х встроенные функции языка запроса типа For (цикл в приложении к списку) D'elete key name, add key Name, Sort name, Tally data condition,
Sum |
name и т. |
д. и высказывания |
о локализации |
типа |
a = ß , |
которое |
определено, если |
ß — функциональное |
|
в ы р а ж е н и е типа sum name или |
A l A N D А2, а |
а — |
||
принятый пользователем символ |
дл я хранения |
мет |
||
ки ß. |
|
|
|
|
72
Шестой раздел запроса содержит Выходной формат |
|
(Output F O R M A T ) . При правильном |
формировании от |
четности заголовки и метки д о л ж н ы |
либо в явной форме |
присутствовать в запросе, либо вызываться из записан
ных ранее |
меченых форм. Кроме того, результаты по |
||
иска д о л ж н ы быть размещены и упорядочены. |
|||
|
Из опыта большинства начинающих программистов |
||
известно, |
что стандартные высказывания |
ввода-вывода |
|
на |
языках |
программирования Ф О Р Т Р А Н , |
А Л Г О Л .и да |
же |
К О Б О Л требуют большего навыка и |
представляют |
большие операционные трудности, чем алгоритмические высказывания языка . Пользователь языка запроса, не
программист, незнакомый |
д а ж е с простейшими |
процеду |
|
рами |
редактирования при |
компиляции, ж е л а л |
бы воз |
можно |
упростить правила |
спецификации, д л я |
ф о р м а т о в |
вывода, сохраняя при этом качественное и гибкое пред ставление данных. Оба эти требования несколько проти воречивы, поскольку большая гибкость представления приводит к более сложной процедуре формирования . Од нако частично эта трудность может быть преодолена ис пользованием стандартных форматных функций, вклю ченных в исполнительную программу относительно про стой конструкции. Эти функции или программы, подобно рассмотренным выше процедурам обработки SUM ,
TALLY, A D D KEY и т. д., пишутся |
системными |
програм |
|||||
мистами |
дл я |
предоставления |
пользователю |
удобных |
|||
форматных пакетов |
(наборов) . |
Н а п р и м е р , |
функция |
||||
W H O L E RECORD1 NAME может формировать и печатать |
|||||||
(или высвечивать) любую запись в |
файле |
NAME, ранее |
|||||
определенную выражением типа NAME-ß. Стандартный |
|||||||
формат |
записи |
м о ж е т |
быть настроен на |
формат любой |
|||
записи системы. Это |
означает, |
что |
файл |
NAME должен |
иметь соответствующее описание формата, которое может быть интерпретировано функцией W H O L E RECORD1 . Дальнейшее расширение состояло бы в написании серии
таких- процедур-функций, генерирующих |
многообразие |
различных специальных форматов общего |
назначения |
или рассчитанных на специфические требования кон |
кретных пользователей. Исполнительная или вызываю
щая программа д л я |
этих |
функций д о л ж н а |
быть предель |
||
но простой, потому |
что она пишется пользователем. Ос |
||||
новные |
требования |
к |
исполнительному |
процессору |
|
состоят в |
возможности: |
|
|
||
1) з а д а т ь разметку |
по строкам и столбцам; |
73
2) |
з а д а т ь |
алфавитно - цифровые |
метки; |
3) |
занести |
основные макетные |
линии д л я графиков |
исхем при работе с ЭЛТ ;
4)вызывать описанные выше системные функции для печати или высвечивания отмеченных переменных из раздела Обработка .
В системах, предназначенных дл я оперативного поль зования руководством и исполнителями, если выход си
стемы |
используется |
этими людьми |
непосредственно |
в ф о р м е |
отчетов или |
визуальных схем |
типа проекции |
слайдов, то необходимо соблюдение очень высокого ка чества форматов и заполнений. Функции, которые теперь станет выполнять автоматизированная информационная система, в прошлом выполнялись людьми, которые со бирали эту информацию, а затем ее перерабатывали .
Д о сих пор при использовании ЭВ М в работе инфор мационных систем внимание фокусировалось в основном
на |
улучшениях в области |
хранения, поиска, |
обновления |
|||||
и обработки данных. Но если эти системы |
д о л ж н ы |
стать |
||||||
д л я |
руководства и пользователя - непрограммиста |
оруди |
||||||
ем |
оперативного управления, |
процедурам |
представления |
|||||
данных |
необходимо |
уделить |
дополнительное |
внимание. |
||||
Из этого не следует, что вопросы автоматической |
обра |
|||||||
ботки данных по причине их преимущественного |
разви |
|||||||
тия |
не являются главными; |
напротив, мы |
только |
при |
||||
б л и ж а е м с я к пониманию |
взаимодействия |
стандартных |
||||||
методов |
автоматизированной |
информационно-поисковой |
||||||
системы |
(описанной |
в последующих главах |
этой |
книги) |
с информационными управляющими системами, систе
мами |
с у п р а в л я ю щ и м |
воздействием, |
системами |
учета |
||||||
и т. д. |
|
|
|
|
|
|
|
|
|
|
На рис. 4-2—4-6 представлены варианты запроса раз |
||||||||||
личного уровня |
сложности, имеющие |
общий |
прототип. |
|||||||
Н а |
рис. 4-2 пользователь идентифицируется в |
заго |
||||||||
ловке |
ка к >NL 252. Д а л е е |
пользователь приписывает за |
||||||||
просу |
приоритет, |
равный |
единице, |
и |
представляет |
ключ |
||||
доступа к |
ф а й л у |
12743. |
Ключ |
этот |
м о ж е т быть исполь |
|||||
зован |
как |
код идентификации |
ф а й л а |
или ка к |
код |
раз |
решения работ. В начале работы с мультифайловой си
стемой необходимо идентифицировать |
файл |
или файлы, |
к которым адресован запрос. Д а л е е , |
если, |
кроме того, |
решены вопросы з а щ и т ы и доступа к файлу, достигается уровень управления файлом вплоть до элементарной за писи (см. рис. 3-5), селективно р а з р е ш а ю щ и й или за-
74
|
N.L252, |
PR I, FA 12743 ' |
|
|
|
|
|
|||
|
R E T R I E V E AND REPORT |
|
|
|
|
|||||
|
OUTPUT |
D E V I C E |
|
|
|
|
|
|||
|
|
|
TYP |
|
|
|
|
|
/ |
|
|
DATA CONDITIONS |
|
|
|
|
|
||||
|
|
|
K l (NAME = SMITH |
|
|
|
|
|
||
|
|
|
K2(AGE.BTW,21,30) |
|
|
|
|
|||
|
|
|
K3(Kl* = GORDON) |
|
|
|
|
|||
|
|
|
K4 (JOB = PROGRAMMER ) |
|
|
|
||||
|
|
|
C l ( L O C N = PHILA) |
|
|
|
|
|
||
|
|
|
C2(DRAFT=IA) |
|
|
|
|
|
||
|
PROCESSING |
|
|
|
|
|
||||
|
|
|
INTRA |
|
|
|
|
|
|
|
|
|
|
|
File |
1=K2(K1 + |
( ~ K 4 ) K 3 ) C 1 ( ~ C 2 ) |
||||
|
|
|
INTER |
|
|
|
|
|
|
|
|
|
|
|
FOR |
F I L E 1 |
|
|
|
|
|
|
|
|
|
|
F I L E 2 = SORT AGE |
|
|
|||
|
OUTPUT FORMAT |
|
|
|
|
|
||||
|
(LI) |
TAB'20,"PROGRAMMER |
LISTING" |
|
||||||
|
(L3F) |
WHOLE RECORD |
F I L E |
2 |
|
|
|
|||
|
|
|
Рис. 4-2. Образец |
запроса |
1. |
|
|
|||
п р е щ а ю щ ий доступ к фиксированным |
записям внутри |
|||||||||
файла . Выходным |
устройством |
может |
быть |
пишущая |
||||||
машинка . |
Если |
система имеет |
единственное |
выходное |
||||||
устройство или если адрес устройства |
(а, |
следовательно, |
||||||||
тип) у к а з а н |
в |
поле |
идентификатора, |
раздел |
Выходное |
|||||
устройство |
в |
запросе |
может быть |
полностью |
опущен. |
Запрос состоит в поиске и формировании отчетности по
шести условиям д л я данных. Метки данных |
(рис. 4-2) |
||||||
имеют |
простое разъяснение: |
первые |
четыре |
из них — |
|||
ключи, |
две последние — классификатдры . |
Однако, |
как |
||||
уже было указано, эти метки |
(Kl, |
К2 |
и т. |
д.) |
не |
могут |
|
быть использованы д л я различения |
ключей |
и |
классифи |
каторов применительно к процессору запроса и програм мам поиска. Обычно желательно не требовать от пользо вателя знания различия данных-ключей и данных - клас сификаторов, хотя эту информацию легко сделать до ступной в виде напечатанных каталогов . Ключи и клас сификаторы можно довольно легко отличить с помощью
машинных |
справочников. |
Если |
ж е |
поиск |
по списку не |
возможен |
по той причине, |
что либо |
вопрос |
пользователя |
|
не содержит ключей, либо |
в дизъюнкции логического вы |
||||
ражения |
запроса отсутствуют |
неотрицаемые ключи, |
75
пол ьз овате ль извещается об этом, после чего он может соответственно модифицировать вопрос.
Вприведенном примере пользователь определил
Ключ и соотношения И м я Ключа/Значение |
как |
N A M E |
|||||||||||||||
равно |
S M I T H , |
AGE |
менаду 21 и 30, |
N A M E |
равно GOR |
||||||||||||
DON, JOB |
равно PROGRAMMER . Д л я удобства |
элемент |
|||||||||||||||
N A M E |
в |
|
тройке |
N A M E / R E L A T I O N / V A L ' U E |
можно |
не |
|||||||||||
повторять, |
|
приписав |
соответствующему |
|
обозначению |
||||||||||||
данных |
|
метку |
со |
спецальньш |
символом |
|
(например, |
||||||||||
звездой) . |
|
Таким |
образом, |
при написании |
условия |
КЗ |
|||||||||||
И м я |
Ключа |
N A M E |
обозначается |
ссылкой |
на |
К1*. |
За-, |
||||||||||
прос |
содержит |
два |
.классификатора |
L'OCATION - PHILA, |
|||||||||||||
DRAFT - IA . |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
Логика |
внутризаітисной |
обработки принадлежит |
ти |
||||||||||||||
пу a = i ß . |
В левой |
части |
равенства стоит имя |
промежуточ |
|||||||||||||
ного |
файла, |
определенное |
пользователем, |
справа — ло |
|||||||||||||
гическое |
выражение, аргументами |
которого |
с л у ж а т |
мет |
|||||||||||||
ки раздела |
Условие. |
В рассматриваемом |
примере |
со |
|||||||||||||
здается |
ф а й л с |
меткой |
F I L E 1 и |
вызываются |
процедура |
||||||||||||
поиска |
по |
списку |
и |
внутризаписиая |
обработка, |
которая |
|||||||||||
д о л ж н а |
найти |
все |
записи |
относительно |
людей |
«в |
воз |
||||||||||
расте от |
21 |
до |
30 |
лет |
по |
имени |
S M I T H |
или |
GORDON, |
||||||||
при |
условии, |
что |
GORDON — непрограммист, |
ж и в у щ и х |
|||||||||||||
в Филадельфии |
и |
не |
п о д л е ж а щ и х |
призыву |
по |
статье |
1А». Следует отметить, что справочный просмотр ука
жет, что поиск по списку возможен, потому что |
к а ж д а я |
||||||||||
дизъюнкция логического в ы р а ж е н и я (приведенного |
к |
||||||||||
нормальной дизъюнктивной форме) содержит по |
край |
||||||||||
ней |
мере |
один |
неотрицаемый |
ключ. |
Однако |
|
усло |
||||
вия Cl и не С2" |
могут быть |
проверены |
только |
после |
|||||||
того, |
как |
запись |
перенесена |
из- |
З У П Д |
в оперативную |
|||||
память . |
|
|
|
|
|
|
|
|
|
||
|
Вторая |
часть |
раздела Обработка, ф о р м и р у ю щ а я |
от |
|||||||
чет, |
интерпретируется следующим |
образом . Д л я |
каждой |
||||||||
записи |
из |
файла |
F I U E l построить |
второй |
ф а й л |
с |
меткой |
||||
FILE2, отсортированный по значениям из |
поля |
с |
именем |
||||||||
A G E . Подчеркивающие линии иа рис. 4-2 не несут смыс |
|||||||||||
ловой |
нагрузки — они выделяют типы функции |
или |
дей |
||||||||
ствий |
процессора |
запроса . Употребление |
а б з а ц е в |
в |
рас |
сматриваемом примере д л я |
выделения области управле |
||||
ния циклом for т а к ж е чисто |
условно, хотя |
и может иметь |
|||
практическое значение. Суть дела в том, |
что |
непрограм |
|||
мисты непривычны |
к гнездовым процедурам, |
в то |
время |
||
к а к программисты |
постоянно пользуются |
ими в |
форме |
76