Устройство для выполнения операций редактирования записей таблиц

Иллюстрации

Показать все

Реферат

 

Цель изобретения - расширение функциональных возможностей за счет обеспечения соединения строк таблиц в зависимости от выполнения заданного отношения сравнения между несколькими элементами строк различных таблиц. Устройство содержит четыре регистрат, два счетчика, блок памяти, две группы элементов И, группу элементов ИЛИ, элемент И, элемент ИЛИ, дешифратор признака, блок микропрограммного управления и решающий блок, включающий первый элемент ИЛИ, узлы сравнения, два коммутатора, дешифратор, три регистра и первый элемент И. В решающий блок введены с второго по пятый элементы И, две группы элементов И, генератор прямоугольных импульсов, триггер, элемент задержки, с второго по шестой элементы ИЛИ, два элемента НЕ и два распределителя импульсов.

СОЮЗ СОВЕТСКИХ

СОЦИАЛИСТИЧЕСКИХ

РЕСПУБЛИК (19) (111 (51)5 С 06 F 15/38

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

Н АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (21) 3779795/24-24 (22) 09,08.84 (46) 15.02.90,Бюл„ 11 - 6 (72) Б,С,Богумирский (53) 681.325 (088.8) ГОСУДАРСТВЕННЫЙ НОМИТЕТ

ПО ИЗОБРЕТЕНИЯМ И ОТНРЦТИЯМ

ПРИ ГКНТ СССР (54)(57) УСТРОЙСТВО ДЛЯ ВЫПОЛНЕНИЯ

ОПЕРАЦИЙ РЕДАКТИРОВАНИЯ ЗАПИСЕЙ

ТАБЛИЦ, содержащее четыре регистра, два счетчика, блок памяти, две группы элементов И, группу элементов ИЛИ, элемент И, элемент ИЛИ, дешифратор признака, блок микропрограммного управления и решающий блок, включающий первый элемент ИЛИ, узлы сравнения, два коммутатора, дешифратор, три регистра и первый элемент И, выход которого соединен с выходом первого элемента ИЛИ, входы которого соединены соответственно с вь1ходами узлов сравнения, разрешающие входы которых соединены соответственна с выходами дешифратора, вход которого соединен с выходом первого регистра, вход которого соединен с входом кода отношения устройства, первый и второй входы кодов списков которого соединены соответственно с входами второго и третьего регистров, первый и второй информационные входы решающего блока соединены соответственно с информационными входами первого и втоpGI о коммутаторов, выходы которых соединены соответственно с первыми и вторыми информационными входами каждого узла сравнения, первый информационный вход устройства соединен с ииформационньна входом первого счетчика, выходы разрядов которога соединены с первыми входами элементов И первой группы, выходы которых саеди2 неиы соответственно с первыми входами элементов ИЛИ группы, выходы которых соединены с информационным входом второго счетчика, выход которого соединен с адресным входом блока памяти, информационный выход которого соединен с информационным входом первого регистра, выход которого соединен с входом дешифратора признака, вторым информационным входом решающего блока, информационным входом второго регистра и первым информационным входом третьего регистра, второй информационный вход которого соединен с выходом второго регистра и первым информационным входом решающего блока, второй информационный вход устройства соединен с входом четвертого регистра, выходы разрядов которого соединены соответственно с первьпж входами элементов И второй группы выходы которых соединены соответственно с вторыми входами элементов ИЛИ группы, вход запуска устройства соединен с входом запуска блока микропрограммного управления, вход останава которого соединен с выходом дешифратора признака, первый выход блока микропрограммного управления соединен с вторыми входами элементов И первой группы и первым входом элемента ИЛИ, выход которого соединен с разрешающим входом второго счетчика, второй выход блока микропрограммного управления соединен с синхронизирующим входом первого регистра, третий выход блока микропрограммного управления соединен с синхронизируюпим входом второго регистра и счетным входом первого счетчика, 1 .установочный вход которого являете.

1543419 установочным входом устройства, четвертый выход блока микропро:"раимноГо управления соединен с вторыми входами элементов И второй группы и с вторым входом элемента ИЛИ, пятый выход соединен с запускающим входом вмещающего блока, выход элемента И

Соединен с синхронизирующим входом третьего регистра, выход которого является выходом устройства, шестой седьмой выходы блока микропрограммного управления, соединены соответственно с первым входом элемента И и счетным входом второго счетчика, 15

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

Йения между несколькими элементами

Строк различных таблиц, в решающий лок введены с второго по пятый элементы И, две группы элементов И, ге" яератор прямоугольных импульсов, 25 триггер, элемент задержки, с второго о шестой элементы ИЛИ, два элемента НЕ и два распределителя импульсов, причем выходы разрядов второго и третьего регистров решающего блока соединены соответственно с первыми входами элементов И первой и вто"

I>îÀ групп, выходы которых соединены соответственно с управляющими входа" ми первого и второго коммутаторов и с входами второго и третьего элементов ИЛИ, выходы которых соединены соответственно с входами первого и второго элементов НЕ и с первым и

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

Цель изобретения — расширение функциональных возможностей устройства за счет обеспечения соединения строк таблиц в зависимости от выпопнеж я заданного отношения сравнения между несколькими элементами строк одной и другой таблиц, На фиг,i приведена схема устройства; иа фиг,2 - схема решающего блока; на фиг.3 - схема блока микропрограммного управления; на фнг.4вторым входами второго элемента И, выход которого соединен с входом элемента задержки, выходы которого соединены с первым входом третьего элемента И и вторым входом первого элемента И, выход которого соединен с нулевым входом триггера, выход которого соединен с выходом решающего блока, запускающий вход которого соединен с единичным входом триггера и входом запуска генератора прямоугольных импульсов, выход которого соединен с первыми входами четвертого и пятого элементов И и вторым входом третьего элемента И, выход которого соединен с первыми входами четвертого и пятого элементов ИЛИ, вторые входы которых соединены соответственно с выходами четвертого и пятого элементов И, вторые входы которых соединены соответственно с выходами первого и второго элементов НЕ, выходы четвертого и пятого элементов

ИЛИ соединены соответственно с тактными входами первого и второго распределителей импульсов, выходы которых с первого по m-й соединены соответственно с вторыми входами элементов И первой и второй групп, (m+I)-e выходы первого и второго распределителей импульсов соединены соответственно с входами шестого элемента ИЛИ, выход которого соединен с установочными входами первого и второ о распределителей импульсов и входом останова генератора прямоугольных импульсов, выход решающего блока соединен с вто" рым входом элемента И. временная диаграмма работы устройства

Устройство содержит счетчики I и 2, блок 3 памяти, регистры.4 — 7, группы 8 и 9 элементов И, группу 10 элементов ИЛИ, элемент ИЛИ 11, элемент И 12, дешифратор 13 признака, блок 14 микропрограммного управления, выходы 15 — 21 блока 14, вход 22 блока 14, решающий блок 23, входы 24—

26 и выход 27 блока 23, информационные входы 28 и 29 устройства, вход

30 кода отношения устройства, входы

31 и 32, вход 33 запуска, установоч. иый вход 34 и выход 35 устройства, \

5 15434 элемент ИЛИ 36, узлы 37 сравнения, коммутаторы 38 и 39, дешифратор 40, регистры 41 — 43, элементы И 44 — 48, группы 49 и 50 элементов И, генератор

51 прямоугольных импульсов, триггер

52, элемент 53 э адержки, элементы

ИЛИ 54 — 58, элементы HE 59 и 60, распределители 61 и 62 импульсов, счетчик 63, узел 64 памяти, группу

65 разрядов .узла 64, регистр 66 микрокоманд, группу 67 разрядов регист" ра 66, элемент 68 задержки, дешифратор 69, группу 70 элементов И, генератор 71 тактовых импульсов и элемен" ты И 72 и 73.

На временной диаграмме работы устройства (фиг. 4) приняты следующие обозначения: в левой части каждого блока указаны выполняемые устройст- 20 вом микрооперации под действием импульсов с выходов блока микропрограммноro управления, позиции которых размещены в правой части блока диаграммы; узлы на временной диаграмме 25 обозначены их позициями, проставленными на фиг,1-3; если номер позиции заключен в скобки, то это означает содержимое соответствукяцего узла или сигнал на его выходе, стрелка обозначает пересылку информации.

Отношения между объектами в реляционной базе данных представляются в . виде таблицы, Строка таблицы определяется общепринятым способом. Столбцы таблицы называются доменами. Значение домена в каждой строке таблицы называют компонентом строки, Таблицы хранятся в блоке 3 памяти, причем каждая строка таблицы, состоящая 40 из компонентов, занимает одну ячейку памяти, В ячейку, непосредствен«чо следующую за последней строкой таблицы, записывается уникальный код, который расшифровывается дешиф- 45 ратором 13.

Операция соединения дает возможность соединить в результирующей таблице строки, принадлежащие различ.-ным исходным таблицам, Домены А и В одной и той же или различных таблиц называются H -сравнимыми (В- одно из следующих отношений: =, +,(;

>, ),, если для любого компонента а K А и любого компонента

Ъ е В выражение а в Ь вЂ” ложь или ис-. тина, но не неопределенность, Списки доменов А = (А,,А

А „) и В (В,В,...,В ) называют19 6. ся 8 -сравнимыми, еспи 1ср и А, и

В,. 6-сравнимы ) i = 1 2, ...,k I в этом случае под критерием сравнения а 0 b понимают, (a,eb, )Л (а в Ь )Л

А... {а в Ь „).

Пусть А и  — списки доменов одинаковой длины отношений (таблиц) К и S соответственно и пусть А и В

В-сравнимы, Тогда соединением отношений R u S при условии AB В называется отношение R 1 А 9 В7 S

= ((rs) 1reR ЛЯ ES 4 (r lA)8s (В ))у где r — - строка отношения К; s — строка отношения S; р (Х ) — компоненты

Х строки р.

Устройство работает следующим образом, При включении питания генераторы

51 и 57 устанавливаются в запертое, распределители 61 и 62 — в исходное состояние (при этом ни на одном из их выходов сигнал не появляется), а счетчик 68 обнуляется (цепи установки устройства в исходное состояние на схеме не показаны), В счетчик 1 по входу 28 при синхронизации импульсом на входе 34 записывается адрес первого отношения (R), а регистр

7 по входу 29 — адрес второго отношения (S). Каждому домену отношений в регистрах 42 и 43 соответствует по одному разряду, По входу 31 в разряды регистра 42, соответствующие списку доменов А, записываются единицы. Аналогично в разряды регистра

43, соответствующие списку доменов

В, по входу 32 записываются единицы.

По входу 30 в регистр 41 записы вается код отношения R. Он расшифровывается дешифратором 40, который выдает разрешающий потенциал на один из узлов 37 сравнения, проверяющий принадлежность двух кодов данному отношению R,Òîëüêî избранный узел 37 в последующем выдает сигнал на своем выходе в случае ложности выражения

r(A;30s3В, ) устройство готово к рабо- те. г

Запуск устройства в работу осуществляется импульсом по входу 33, по которому запускается генератор 71, По нулевому адресу в узле 64 памяти находится первая микрокоманца микропрограммы работы устройства. Каждая микрокомаида состоит из операционной части (задает микрооперацию, которую нужно выполнить по данной микрокоман154341 дф) и адресной части (о р а прес следующей микрокоманды микро1 программы) . Адресная часть располагае 1 ся в группе 65 разрядов узла 64 п; мяти, Ей соответствует группа 67 разрядов регистра 66, По первому импульсу с выхода генератора 71 перв@я микрокоманда принимается в регистр 66, Операционная часть расшифровывается дешифратором 69, который вьдает сигнал на своем первом выходф, Затем импульс появляется на вых де эЛемента 68 задержки. При этом адрес следующей микрокомаццы принимается в счетчик 63. Кроме того, этот импульс через группу 70 элементов И п11оходит на выход 15 блока 14, в результате чего открывается группа 8 эз ементов И и разрешается запись информации в счетчик 2, Адрес первой ($ дальнейшем — очередной) строки з отношения из счетчика переписывает( с4 в счетчик 2, По этому адресу из бю ока 3 памяти считывается первая (дальнейшем - очередная) строка отн щения R (считывание из блока 3 идет непрерывно. по адресу, заданному на советчике 2). По второму импульсу с в гхода генератора 71 на регистр 66 из 30 узла 64 памяти (который также считывает непрерывно} принимается вторая

1 м 1крокоманда; адрес третьей микрок<1манды заносится в счетчик 63 и по( является импульс на выходе 16 блока

l ) вследствие чего первая (в дальнфйшем — очередная) строка отно! ш ния К записывается и регистр

41 Если в регистре 4 находится код.. конца отношения, то по-,10 является сигнал на выходе дешифр4тора 13, который проходит на элементы И 73 и 72. После считывания в регистр 66 третьей микрокоманды поя ляется импульс на выходе 17 блока

14. По этому импульсу содержимое ре" гистра 4 переписывается в регистр 5, а содержимое счетчика увеличивается на единицу формируется адрес слецую», щЕЙ строки отношения R. Кроме того, 1 если в регистре 4 находится код кон" ца отношения, срабатывает элемент

И 72, в результате чего генератор 71 останавливается, а счетчик 63 обнуляется, Устройство прекращает свою работу. Если отношение R не исчерпано, то устройство продолжает работатье

Отметим, что в этом случае в регистре

5 после выполнения третьей микроко9 8 манды находится первая (a дальнейшем— очередная) строка отношения R.

Четвертая микрокоманда ведет к появлению импульса на выходе 18 бло» ка 14, по которому адрес первой строки отношения S из регистра 7 записывается в счетчик 2, так как открывается группа 9 элементов И разрешается запись информации в счетчик 2, По пятой микрокоманде появляется импульс на выходе 16 блока 14, При этом первая (в дальнейшем — очередная) строка отношения принимается в регистр 4„ Если в регистре 4 находится не очередная строка отношения S а признак конца отношения, то появляется сигнал на выходе дешифратора 13.

В результате выполнения шестой микрокоманды выдается импульс на выходе

19 блока 14, По этому импульсу запускается блок 23. Триггер 52 устанав" ливается в единичное состояние, а генератор 51 начинает выдавать импульсы. На выходах элементов И 49 и 50 " присутствуют нулевые потенциалы, а следовательно, па выходах элементов

ИЛИ 54, 55 также имеются нулевые по тенциалы. В результате этого íà выходе элемента И 45 находится "0", элементы И 44 и 45 закрыты, На выходах элементов HE 59 и 60 присутствуют единичные потенциалы, Следова" тельно, элементы И 47, 48 открыты.

Первый импульс с выхода генератора

51 проходит через эти элементы И и через элементы ИПИ 56 и 57 и поступает на входы распределителей 61 и

62, Они выдают потенциалы на своих первых выходах, которые открывают первые элементы И групп 49 и 50, При этом анализируются первые разряды регистров 42 и 43, соответствующие первым доменам отношений R и S, По второму импульсу с выхода генератора

51 аналогичным образом анализируются вторые разряды регистров 42 и 43, соответствующие вторым доменам отношений К и S и т.д, до тех пор, пока на выходе одного из элементов И груп: пы 49 и/или одного из элементов И группы 50 не появится сигнал, т,е, до тех пор, пока не будет отыскана первая (начиная с первого разряда) единица в регистре 42 и/или 43. При появлении сигнала на выходе одного из элементов И группы 49 и/или одного иэ элементов И группы 50 возникают сигналы на выходах элементов

15434

ИЛИ 54 и/или 55. Предположим, что первым возник сигнал на выходе эле" мента ИЛИ 54, В результате этого подготавливается к срабатыванию элемент

И 45, а на выходе элемента НЕ 59 по5 является низкий уровень, закрывающий элемент И 47, Поступление импульсов на вход распределителей 61 временно блокируется, Этот распределитель поддерживает сигнал на том же выходе, который соответствует разряду регистра 42, содержащему первую единицу.

Код с выходов элементов И 49 постоянно подается на адресные Входы комму татора 38, который выделяет из строки отношения К, хранящейся в регист" ре 5, компоненту, соответствующую первому домену из списка А, т,е. домену А, После отыскания первой едини- 20 цы в регистре 43 элемент И 48 закрывается, коммутатор 39 выделяет из строки отношения, находящейся в регистре 4, компоненту, принадлежащую первому домену из списка В, т,е, до- 25 мену В, и срабатывает элемент И 45 (на его выходе появляется сигнал), Избранный узел 37 выдает сигнал, если выражение г.(А15В, В,) принимает ложное значение, где j — номер строки отношения К, хранящейся в регистре 5; 1 - номер строки отношения

s, находящейся на регистре 4, Этот сигнал (при его возникновении) поступает на элемент И 44, С задержкой, необходимой для протекания переходных процессов в одном из узлов 37, сигнал с выхода элемента 45 появляется на выходе элемента 53 и проходит через него, устанавливая триггер 52 4g в нулевое состояние, если выражение

r;(А,les (В15 принимает значение

"Ложь" (a если "Истина", то триггер

52 остается в единичном состоянии) °

Этот же сигнал открывает элемент

И 46, в результате чего следующий импульс с выхода генератора 5) проходит через этот элемент и через элементы ИЛИ 56 и 57 на входы распределителей 61 и 62, которые снимают сигналы с очередных своих выходов и выдают сигналы на следующих выходах.

Элемент И 45 закрывается, а элементы И 47 и 48 открываются (этого может и не произойти, если следующие разряды регистров 42 и 43 также содержат единицы; в этом случае снова срабатывает элемент И 45). Сле-, дующие импульсы с выхода генератора

19 1О.

51 начинают вновь проходить через элементы И 47 и 48 на входы распреде лителей 61 и 62, В дальнейшем по отысканию компонент, соответствующих доменам А, и В; блок 23 работает аналогично, В случае, когда один из регистров 42 и 43 просмотрен полностью, появляется сигнал на (п +1)-м выходе распределителя 61 или 62, который проходит на выход элемента ИЛИ 58, останавливая гене-, ратор 51 и устанавливая в исходное состояние распределители 61 и 62, Ждать окончания просмотра другого регистра не следует, так как число

1 доменов в списках А и В совпадает.

Таким образом, если выражение

r. ГА,5еsåС Ц5лг ГАг5еас СВД Л ... h r (A>)G sz(B ) принимает значение "Истина", то триггер 52 остается в единичном состоянии, открывая элемент И 12 ° .В противном случае триггер 52 в процессе работы блока 23 обнуляется.

Адрес следующей микрокоманды при выполнении шестой ьжкрокоманды определяется следующим образом. Как и ранее, адресная часть микрокоианды записывается в счетчик 63. Однако если в регистре 4 находится код конца отношения S (в этом случае результат работы блока 23 является заведомо неверным), то импульс с выхода Г блока 14 через элемент И 73 проходит на сумьжрующий вход счетчика 63, увеличивая его содержимое на единицу, Таким образом, осуществляется разветвление в микропрограмме. Если отношение S исчерпано, то осуществляется переход к первой микрокоманде (после увеличения содержимого счетчика 63 на единицу выбирается фик" тивная микрокоманда, не расшифровываемая дешифратором 69, но содержащая в адресной части адрес первой r микрокоманды), Если отношение S не исчерпано, то результат работы блока 23 является верным. На регистр 66 принимается седьмая микрокоманда, по которой появляется импульс на выходе 20 блока 14, Он проходит через элемент И 12 только в том случае, если выражение

r„. (А,)В s f BÄËr,-Л А,)Ез,(B )h ...

15434 истинно, в результате его очередная строка r s отношения Н (А ОЗ)Б

Записывается в регистр (3 и BE jäÿÿòñÿ йа выход 35 устройства„

Ло восьмой микрокоманде появляется импульс на выходе 21 блока 14, 19 12 по которому содержимое счетчика 2 увеличивается на единицу, т,е. в счетчике 2 формируется адрес следующей строки отношения, Следующей выбирается пятая микроко ма идя, Я дальнейшем устройство работает аналогично описанному, 1543419

1543419

Составитель В,Титова

Редактор JI.Ï÷îëèêñêàÿ Техред М.Дидь1к

Корректор В, Гирняк

) Заказ 402 Тираж 562 Подписное

3НИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР

113635, Москва, Ж-35, Раушская наб., д. 4/5

Производственно"издательский комбинат "Патент", r Ужгород, ул. Гагарина, 101