DE2934344C2 - - Google Patents
Info
- Publication number
- DE2934344C2 DE2934344C2 DE2934344A DE2934344A DE2934344C2 DE 2934344 C2 DE2934344 C2 DE 2934344C2 DE 2934344 A DE2934344 A DE 2934344A DE 2934344 A DE2934344 A DE 2934344A DE 2934344 C2 DE2934344 C2 DE 2934344C2
- Authority
- DE
- Germany
- Prior art keywords
- data
- register
- terminal
- access
- dimensional
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0207—Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
Die Erfindung betrifft eine Anordnung zum Zugreifen
auf Daten nach dem Oberbegriff des Patentanspruches 1.
Aus der Veröffentlichung "Computing surveys", Band 8, Nr. 1,
März 1976, herausgegeben von der Association for Computing
Machinery Inc., insbesondere aus dem Artikel, beginnend
auf Seite 125 der Druckschrift sind die wesentlichen
Grundlagen zur hier behandelten Problematik bekannt.
Es sind Datenbankverwaltungssysteme (DBMS) bekannt,
bei dem die Daten hierarchisch strukturiert sind, z. B.
nach dem CODASYL-Standard. Der Zugriff erfolgt hierbei
auf die "Sätze" doer Minimaleinheiten der Daten über
bestimmte Auswahlen von "Sets", wobei jeder Set jeweils
mindestens zwei Sätze, nämlich einen Eigentümersatz und
ein oder mehrere mit diesem verbundene Teilnehmersätze
definiert.
Wenn die Daten einer Datenbank als Matrixdaten gespeichert
sind - in der Druckschrift mit "Relational approach"
bezeichnet -, so können diese Daten vom DBMS, das nach dem
CODASYL-Standard arbeitet, nicht korrekt verwaltet werden,
da ein Datensatz (also die Mindesteinheit der Daten) für
eine n-dimensionale Matrix durch n-dimensionale Koordinaten
achsen (a 1, a 2, . . ., an) definiert sind.
Während nun beim hierarchischen System die Ordnung der
Daten bereits eine gewisse Wertung beinhaltet - z. B.
die am häufigsten verwendeten Suchbegriffe -, werden Matrix
daten derart "wertfrei" geordnet, daß die Behandlung der
Daten unabhängig von den spezifizierten Koordinaten mit
gleicher Zweckmäßigkeit behandelt werden können.
Will man die Vorteile der beiden Systeme miteinander verbinden,
so muß man dann, wenn eine Zentrierung auf ein gewünschtes
Attribut (z. B. Suchbegriff) stattfinden soll, die Daten
im Hinblick auf dieses bestimmte Attribut zunächst um
strukturieren bzw. definieren. Werden beispielsweise Matrix
daten mit dreidimensionalen Koordinaten a 1, a 2 und a 3 betrachtet,
so sind acht Aufzeichnungen oder Sätze und zwölf Sets not
wendig.
Ausgehend vom oben genannten Stand der Technik ist es Aufgabe
der vorliegenden Erfindung, eine Anordnung zum Zugreifen auf
Daten aufzuzeigen, die den Zugriff zu Matixdaten über ein
Datenbankverwaltungssystem erlaubt, das zum Zugreifen auf
hierarchisch strukturierte Daten (CODASYL-Standard) geeignet
ist.
Diese Aufgabe wird durch die im Anspruch 1 aufgezeigte
Anordnung gelöst; eine bevorzugte Ausführungsform der
Erfindung ergibt sich aus Anspruch 2.
Im folgenden wird die Erfindung an Hand
einer Ausführungsform unter Bezugnahme
auf die Zeichnung näher erläutert. Es zeigen:
Fig. 1 die Entsprechung zwischen den Daten der drei
dimensionalen Matrix und dem hierarchischen
Modell;
Fig. 2A das Konzept der Matrixdaten, ausgedrückt durch
ein Set von Eigentümersätzen und mehreren Teil
nehmersätzen;
Fig. 2B das Konzept der Matrixdaten, ausgedrückt durch
mehrfache Sets eines Eigentümersatzes, mehrfache
imaginäre Sätze und mehrfache Teilnehmersätze;
Fig. 3A und 3B jeweils das Konzept eines Beispiels der
Daten der dreidimensionalen Matrix;
Fig. 4, 5 und 6 jeweils das Konzept der Daten der drei
dimensionalen Matrix, die als verschiedene drei
hierarchische Strukturen angesehen werden;
Fig. 7 den Blockschaltplan einer Ausführungsform der
Erfindung;
Fig. 8 Symbole der einzelnen Einheiten nach Fig. 7.
Wie Fig. 1 zeigt, sind beispielsweise für eine hierarchische
Strukturierung von Matrixdaten
mit Koordinaten in drei Dimensionen, nämlich a 1, a 2 und
a 3, acht Sätze R 1 bis R 8 und zwölf Sets S 1 bis S 12 not
wendig. In diesem Fall kann jede beliebige Reihenfolge des Zugriffs
in gleicher Weise in Betracht gezogen werden, beispielsweise
- (i) indem der Zugriff durch Kennzeichnung der Achse a 1, dann der Achse a 2 und dann der Achse a 3 durchgeführt wird;
- (ii) indem der Zugriff durch Kennzeichnung der Achse a 1, dann der Achse a 3 und dann der Achse a 2 durchgeführt wird;
- (iii) indem der Zugriff durch Kennzeichnung der Achse a 3 und dann der Achsen a 2 und a 1 durchgeführt wird.
Wie jedoch erläutert wurde, ist eine große Zahl von
Sätzen und Sets notwendig und erhöht sich
ins Unzählbare für Daten mit n-dimensionaler
Matrix.
Als konkretes Beispiel von matrixartigen Daten seien hier
die Verkaufszahlen eines bestimmten Unternehmens betrachtet.
Im betrachteten Fall sind die Daten dreidimensionale Daten, wobei
die Achse a 1 beispielsweise den Gegenstand, die Achse a 2
den Namen des Kunden und die Achse a 3 das Lieferjahr
angeben. Die Größe der Achsen wird jeweils als 2 für a 1,
2 für a 2 und 3 für a 3 angenommen. Im einzelnen bezeichnen
diese Daten zwei Arten von Gegenständen, zwei Orten von
Kundennamen und Liefermengen in drei Jahren. Diese Daten werden
in den folgenden Weisen verwendet: beispielsweise
- (i) es wird nach der Änderung der Verkaufsmenge an einen bestimmten Kunden in jedem Jahr gefragt; oder
- (ii) es wird nach der Verkaufsmenge an jeden Kunden in einem bestimmten Jahr gefragt; oder
- (iii) es wird nach der Änderung der Verkaufs menge eines bestimmten Gegenstands in jedem Jahr gefragt.
Wie zu Beginn der Beschreibung angegeben wurde, sind im
Fall, daß Daten mit einer Matrixdatenstruktur durch ein
hierarchisches Modell gehandhabt werden, eine sehr große Anzahl
von Sätzen und Sets gemäß Fig. 1 erforderlich. Jedoch
hat im Fall von Daten mit Matrixdatenstruktur der Satz
R 2 oder der Satz R 7 nach Fig. 1 selbst keine Daten,
sondern gibt nur die hierarchische Beziehung zwischen
dem Eigentümersatz R 1 und dem Teilnehmersatz R 3 an.
Der Satz R 2 (a 1,*,*) ist beispielsweise nur durch die
gegebene Koordinate von a 1 definiert, auch wenn die
Koordinaten von a 2 und a 3 nicht gegeben sind. Dieser Satz
ist zwar für die Matrixdaten bedeutungslos,
jedoch für die Handhabung durch das Datenbank-
Verwaltungssystem für das hierarchische Modell formal
erforderlich.
Im Rahmen der Erfindung sind sämtliche Sätze und Sets zunächst
nicht unterschiedlich vom Fall nach Fig. 1 für
die verschiedenen Fälle von (i) bis (iii) gemäß obiger
Beschreibung gegeben. Gemäß Fig. 2A ist
nur ein einziges Set eines einzigen Eigentümersatzes R 1
und eines Teilnehmersatzes R 8 einschließlich zwölf
Sätzen (2×2×3) beim beschriebenen Beispiel bereit
gestellt, so daß es leicht durch Erzeugung der gewünschten
virtuellen Sets gemäß Fig. 2B vom vorhandenen Datenbank-
Verwaltungssystem verwaltet werden kann.
Die der Fig. 2A entsprechende Fig. 3A zeigt den im
Rahmen der Erfindung in der Datei zu
speichernden Satz. R 1 stellt den Eigentümersatz und
die den Satz als Ganzes dieser Gruppe, beispielsweise
den Namen des betreffenden Unternehmens, wiedergebenden
Daten dar. In der Datenbank sind die Daten der Verkaufs
zahlen wie beschrieben für zwei Unternehmen gespeichert.
Die Datengruppen von 2×2×3
werden durch Angabe eines bestimmten Unternehmensnamens
spezifiziert.
#1 und #12 sind individuelle Sätze. Beispielsweise
gibt der Satz #4 (121) die Verkaufsmengen im ersten
Jahr des zweiten Kunden für die erste Ware an.
Der Satz #9 (213) gibt die Verkaufsmegen im dritten
Jahr des ersten Kunden für die zweite Ware an. (121), (213) . . .
haben die dreidimensionalen Koordinaen in der in Fig. 3B
gezeigten Beziehung.
Bei dem bekannten Datenbank-Verwaltungssystem wird
ein gewünschtes Set bestimmt.
Die Sätze werden sequentiell durch Aufwärtszählen
der Adressen in diesem gewünschten Set bestimmt. In
der ein-hierarchischen Struktur nach Fig. 3A erreicht,
wenn der Zugriff beispielsweise zu den durch a 1=2, a 2=1,
a 3=3 auf der Basis des Eigentümersatzes R 1 angegebenen
Daten direkt durchgeführt wird, der Zugriff die Daten #9
erst nach dem sequentiellen Weiterschreiten
von den Daten #1 (111) zu den Daten #8 (212).
Im Gegensatz hierzu wird im Rahmen der Erfindung durch
Angeben eines imaginären Blocks oder Sets der Zugriff
durch die Annahme der in Fig. 4 dargestellten virtuellen
Struktur durchgeführt, und zwar im Fall eines Zugriffs
durch sequentielle Bestimmung der Achsen als a 2 → a 3 → a 1.
Oder der Zugriff wird unter Annahme der virtuellen
Struktur nach Fig. 5 durchgeführt, und zwar im Fall eines
Zugriffs durch sequentielle Bestimmung der Achsen als
a 3 → a 2 → a 1. Oder der Zugriff wird durchgeführt unter
Annahme der virtuellen Struktur nach Fig. 6, und zwar
im Fall eines Zugriffs durch aufeinanderfolgende Bestimmung
der Achsen als a 1 → a 3 → a 2. Im Fall nach Fig. 4 werden
bei Betrachtung des sich der Datengruppe (213) annähernden
Zugriffs die der Fig. 1 entsprechenden Sets S 2, S 7,
S 11 als die virtuellen Sets bestimmt und der Zugriff
erreicht die Datengruppe (213) beispielsweise durch
Durchschreiten der Bahn a → b → c in einer Drehung im
Gegenuhrzeigersinn gemäß Fig. 4.
In Fig. 4 stellt 6 den Eigentümersatz für alle Sätze
dar und entspricht R 1, während 7 der virtuelle Teilnehmer-
oder Gliedsatz ist. Ein virtuelles Set 14, das dem Set S 2
nach Fig. 1 entspricht, wird durch diesen virtuellen Satz 7
und den Eigentümersatz 6 gebildet. 8 stellt den Teil
nehmer- oder Gliedsatz des virtuellen Sets 14 und
gleichzeitig den Eigentümersatz des virtuellen Sets 15
dar. In vergleichbarer Weise ist 11 einer der Teilnehmer
sätze 9 des virtuellen Sets 15, das dem Set S 7 nach
Fig. 1 entspricht, und gleichzeitig der Eigentümersatz
des virtuellen Sets 16, das dem Set 11 nach Fig. 1 ent
spricht. Dies ist auf andere Fälle anwendbar.
Das virtuelle Set nach Fig. 4 eignet sich zur Anwendung
bei der beschriebenen Vorgehensweise (i). Die Verkaufs
zahlen für jedes Jahr (a 3) an einen bestimmten Kunden
(a 2) können dadurch erhalten werden, daß die ausgelesenen
Daten der Sätze #1 und #7 über die dargestellten Sätze 8
und 10 summiert werden, dann die ausgelesenen Sätze der
Daten #2 und #8 über den Satz (*12) summiert werden und
dann die ausgelesenen Daten der Sätze #3 und #9 über den
Satz 11 summiert werden.
Ersichtlich sind die virtuellen Sets gemäß den Fig. 5
und 6 sehr geeignet für die oben beschriebenen Frage
stellungen (ii) und (iii).
Eine Ausführungsform der Erfindung wird im einzelnen unter
Bezugnahme auf die Fig. 7 und 8 erläutert, wobei zunächst
jede Funktion nach Fig. 7 gemäß Fig. 8 beschrieben wird.
Fig. 8A zeigt eine Recheneinheit. Wird ein Treiberimpuls
an eine Klemme A gegeben, so führt die Einheit für die
Eingänge I, D, M die folgenden Rechenoperationen aus und
gibt das Ergebnis an einer Klemme ab:
= [I + (-1) D] mod (M + 1),
wobei I und M jeweils gewünschte ganzzahlige Zahlen sind
und D entweder +1 oder +2 ist. Die Einheit gibt also an
I eine Verringerung um 1, wenn D=+1, oder gibt an I
eine Erhöhung um 1, wenn D=+2. mod (M+1) bedeutet,
daß die Operation Modulo (M+1) durchzuführen ist.
Bei Vollendung der Operation wird an einer Klemme K
ein Impuls erzeugt. Ist das Ausgangssignal eine
"0", so wird an einer Klemme E ein Treiberimpuls abgegeben.
Fig. 8B zeigt ein By-way-Gatter. Dieses Gatter arbeitet
in der im folgenden beschriebenen Weise nur dann, wenn
an eine der Klemmen M 1, M 2 ein Treiberimpuls angelegt
wird. Wird dieser Impuls an die Klemme M 1 angelegt, so
wird das von der Klemme I 1 abgegebene Signal zu einer
Klemme O 1 übertragen, wird jedoch der Impuls an die
Klemme M 2 angelegt, so wird das von der Klemme I 2
abgegebene Signal zu einer Klemme O 2 übertragen.
Die Fig. 8C zeigt eine Registereinheit, die ein von
einer Klemme S gesendetes Signal speichert und den
Speicherinhalt an einer Klemme R liest. Wird an die
Klemme I ein Impuls angelegt, so kann der Speicherinhalt
zurückgestellt werden, und wird an die Klemme F ein
Impuls angelegt, so kann der Speicherinhalt auf den
erhältlichen Maximalwert gesetzt werden. Zusätzlich wird,
wenn sich der Speicherinhalt von "0" auf einen von "0"
verschiedenen Wert ändert, an einer Klemme C ein Treiber
impuls abgegeben.
Fig. 8D zeigt eine Set-Auswahlschaltung. Diese Einheit
überträgt einen an ihre Klemme N angelegten Treiber
impuls an eine der Klemmen S 1 bis S 3 entsprechend einem
kodierten Eingangssignal an einer Eingangsklemme S.
Fig. 8E zueigt ein ODER-Glied. Wird an irgendeine seiner
Klemmen I 1 bis I 3 ein Eingangsimpuls angelegt, so wird
an seiner Klemme O ein Impuls abgegeben.
Fig. 8F zeigt eine Umsetzeinheit. Diese Einheit ersetzt
Eingangssignale, die sie von ihren Eingangsklemmen I 1,
I 2 und I 3 nimmt, entsprechend der Anzeige durch ein
Eingangssignal an seiner Klemme C, wenn die Klemme E
aktiviert ist, und gibt Ausgangssignale an den Klemmen O 1,
O 2 und O 3 ab. Wird ihre Klemme D aktiviert, so wird
ein gegenüber diesem Ersetzen umgekehrtes Ersetzen durch
geführt. Die Operation wird mit einer Verzögerung von
einem Zyklus vom Treiberimpuls durchgeführt und wenn
an einer der Klemmen I 1 bis I 3 eine "0" gegeben ist,
wird eine Klemme N aktiviert.
Fig. 8G zeigt eine lineare Expansionseinheit. Diese Einheit
wird mit einer Verzögerung von zwei Zyklen betrieben,
wenn der Treiberimpuls an die Klemme O gegeben wird,
und gibt ein durch die folgende Gleichung angegebenes
Ausgangssignal an ihrer Klemme P in Übereinstimmung mit
den Klemmen I 1 bis I 3 oder A 1 bis A 3 ab:
P = [(I₁ - 1) A₂ + I₂ - 1] A₃ + I₃.
Fig. 8H zeigt ein NICHT-Glied. Dieses Glied invertiert
das Eingangssignal an der Klemme I und gibt es an der
Klemme O ab.
Fig. 8I zeigt ein UND-Glied, das an der Klemme O
den Treiberimpuls nur dann abgibt, wenn an beiden
Klemmen I 1 und I 2 Treiberimpulse anliegen.
Fig. 8J zeigt eine zusammengesetzte Matrixeinheit, die
eine gegenüber dem linearen Expander invertierte
Umsetzung durchführt. Wird also an die Klemme E ein
Treiberimpuls gegeben, so wird entsprechend den
Signalen an der Klemme P und an den Klemmen A 1 bis A 3
die folgende Rechenoperation durchgeführt und an den
Klemmen O 1 bis O 3 ein Ausgangssignal abgegeben:
wobei A 4=1.
Es wird nun die Anordnung nach Fig. 7 beschrieben. Die
Anordnung enthält Registereinheiten 101 bis 119 gemäß
Fig. 8C; Recheneinheiten 120 bis 122 gemäß Fig. 8A;
und By-way-Gatter 123 bis 138 gemäß Fig. 8B.
Weiterhin sind enthalten Umsetzeinheiten 129 bis 131
gemäß Fig. 8F; eine Set-Auswahleinheit 132 gemäß Fig. 8D;
ODER-Glieder 133 und 134 gemäß Fig. 8E; NICHT-Glieder
136 und 137 gemäß Fig. 8H; UND-Glieder 135 und 138
gemäß Fig. 8I; eine lineare Expandereinheit 139
gemäß Fig. 8G; und eine Zusammensetz-Matrixeinheit 140
gemäß Fig. 8J.
Die Register 101, 102 udn 103 speichern die Größen
oder Beträge A 1, A 2 bzw. A 3 der drei Koordinaten a 1, a 2
bzw. a 3. Beim Beispiel nach Fig. 3 ist also A 1=2,
A 2=2 und A 3=3.
Das Register 119 speichert den Kode C, der die gewünschte
hierarchische Struktur (Schema) angibt.
Der Umsetzer 129 ersetzt die Größeninformation von A 1 bis
A 3, die von den Registern 101 bis 103 gesendet wird,
und verteilt diese Information an die Register 104 bis
106, und zwar gemäß dem vom Register 119 abgegebenen
Kode C. Wird beispielsweise das Schema nach Fig. 4
bestimmt, so werden A 2 im Register 104, A 3 im Register
105 und A 1 im Register 106 gespeichert.
Das Register 107 wird zuvor über das ODER-Glied 133
zurückgestellt und gleichzeitig speichert das Register 114
die Speicherplatzinformation des Eingentümer
satzes R 1.
Mit diesen Vorkehrungen kann der Zugriff zu den
Matrixdaten unter dem optimalen Schema im existierenden
Datenbank-Verwaltungssystem durch sequentielle Bestim
mung der Set-Auswahlinformation S und der Richtungs-
Bestimmungsinformation D durchgeführt werden.
Beispielsweise wird im Schema nach Fig. 4 Zugriff zum
#9-Satz (213) angegangen. Zu diesem Zweck wird als
Kode S der das erste Set SS 1 bestimmende Kode an die
Set-Auswahlschaltung 132 gegeben, um die Recheneinheit 120
zu betreiben, wodurch der Inhalt des Registers 107 einer
Erhöhung unter dem Modulo auf der Basis des Inhalts
des Registers 104 unterworfen wird. Hierbei wird D
als +2 spezifiziert, was die Umdrehung im Gegenuhrzeiger
sinn gemäß Fig. 4 anzeigt. Bei Vollendung dieser Ver
arbeitung wird von der Klemme K der Recheneinheit 120
ein Impuls abgegeben und zur Klemme M 2 des By-way-Gatters
123 gesendet. Der Inhalt des Registers 107 wird also
über das By-way-Gatter 123 zum Register 110 verschoben.
Dieser Zustand entspricht demjenigen Zustand, zu dem
Zugriff zum virtuellen Satz 8 (*1*) in Fig. 4 durchgeführt
wird. Jedoch befinden sich keine tatsächlichen Daten in
diesem Satz 8 und ein Zugriff zur Datei wird praktisch
nicht durchgeführt.
Nachfolgend wird als Kode S an die Set-Auswahleinheit 132
derjenige Kode gegeben, der das zweite Set SS 2 bestimmt,
um die Recheneinheit 121 zu betreiben, so daß also der
Inhalt des Registers 108 einer Erhöhung unter dem
Modulo auf der Basis des Inhalts des Registers 105 unter
worfen wird. Hierbei gilt: D=+2.
Bei Vollendung dieser Bearbeitung wird an der Klemme K
der Recheneinheit 121 ein Impuls abgegeben und dann
zur Klemme M 2 der By-way-Gatter 124 und 125 übertragen.
Der Inhalt des Registers 108 wird dadurch zum Register 111
und der des Registers 110 zum Register 112 verschoben. Dieser
Zustand entspricht demjenigen, bei dem Zugriff zum vir
tuellen Satz 10 (*11) in Fig. 4 durchgeführt wird.
Der Benutzer dieser Datenbank, der den "Suchbegriff" kennt, weiß schon vorher, daß
die Adresse im zweiten Set SS 2 zu "3" gemacht werden
muß, um Zugriff zum #9-Satz (213) durchzuführen. Der
Inhalt des Registers 108 wird deshalb einer Erhöhung
unterworfen, indem nochmals SS 2 bestimmt wird. Das
Ergebnis einer solchen Verarbeitung entspricht dem
Zugriff zum virtuellen Satz (*12) in Fig. 4. Wird der
Inhalt des Registers 108 durch wiederholte Bestimmung
von SS 2 zu "3", so entspricht er dem Zugriff zum
virtuellen Satz 11 (*13) in Fig. 4.
Es wird dann als der Kode S an die Set-Auswahleinheit 132
der Kode zum Bestimmen des dritten Sets gegeben, um
die Recheneinheit 122 zu betreiben. Der Inhalt des
Registers 109 wird somit einer Erhöhung unter dem Modulo
auf der Basis des Inhalts des Registers 106 unterworfen.
Bei Vollendung dieser Verarbeitung wird ein Impuls von
der Klemme K der Recheneinheit 122 an den Umsetzer 130
und an den linearen Expander 139 gegeben. Der Umsetzer 130
überträgt die Signale I 1, I 2 und I 3, die von den
Registern 109, 111 bzw. 112 kommen, in Übereinstimmung
mit dem Schema-Bestimmungskode C, der vom Register 119
kommt, zu den Ausgangsklemmen O 1, O 2 und O 3. Der lineare
Expander 139 führt die beschriebene Verarbeitung durch.
Beispielsweise wird im gegenwärtigen Zustand Zugriff
zum #3-Satz (113) in Fig. 4 durchgeführt. Anders ausge
drückt gilt: I 1=1, I 2=1, I 3=3 und A 1=2, A 2=2,
A 3=3. Es ist also:
P = [(I₁ - 1) A₂ + (I₂ - 1)] A₃ + I₃
= [(O × 2 + O) × 2 + 3]
= 3.
= [(O × 2 + O) × 2 + 3]
= 3.
Es kann also die eindimensionale Adresse (#3) aus
der dreidimensionalen Koordinate (113) erhalten werden.
Nun benötigt der Benutzer die Daten des #9-Satzes (213).
Es wird deshalb der Inhalt des Registers 109 einer
Erhöhung unterworfen, indem das dritte Set SS 3 erneut
bestimmt wird. Als Ergebnis ist I 1=2, I 2=1, I 3=3
im linearen Expander 139 und die eindimensionale Adresse
#9 kann im Register 113 durch Anwenden dieser Daten
auf die obige Gleichung erhalten werden.
Da der #9-Satz der gewünschte Satz ist, wird der Zugriff
zur tatsächlichen Datei auf der Basis des Inhalts des
Registers 113 (P) und dem Inhalt des Registers 117 (R)
durchgeführt. Erhalten die Speicherinhalte der Register
107, 108 und 109 ein Inkrement von "0", so werden die
von der Klemme C jedes Registers abgegebenen Impulse
dem By-way-Gatter 126, 127 bzw. 128 eingegeben. Die
Eigentümersatz-Stelleninformation, die zunächst dem
Register 114 gesetzt wird, wird über die Register 115
und 116 zum Register 117 verschoben.
Wird eine Adresse im Set eines gegebenen Sets SSi einer
Erhöhung unterworfen, so wird die Adresse im Set im
nidrigeren Set SSi+1 zurückgestellt. Ist also beispiels
weise im Set SS 1 ein Inkrement gegeben, so wird von
der Klemme K der Recheneinheit 120 an die Klemme I
des Registers 108 ein Impuls gesendet und dessen
Speicherinhalt wird Null.
Sofern außerdem beim Geben eines Inkrements an jede
der Recheneinheiten 120 bis 122 die Adresse die Maximal
adresse im Set übersteigt, so wird das Ausgangssignal
"0" und an die Klemme E wird ein Impuls gegeben. Dieser
Impuls wird an die Klemme M 1 des zugeordneten By-way-
Gatters und außerdem an das ODER-Glied 134 angelegt.
Beispielsweise wird der von der Klemme E der Recheneinheit
121 gesendete Impuls an die By-way-Gatter 123, 127
gegeben, wobei diese Gatter so arbeiten, daß der
Inhalt des Registers 110 zum Register 107 und der
Inhalt des Registers 116 zum Register 115 zurückgebracht
wird.
Diese Funktion wird zum Verbinden der beteiligten Daten
gruppe mit dem weiteren Eigentümersatz in der geforderten
Weise benötigt, wie noch genauer erläutert wird.
Ein Ausgangssignal des ODER-Glieds 134 ist das End
signal, das anzeigt, daß das Inkrement irgendeines Sets
vollständig ist.
Außerdem wird, wenn ein Inkrement in der Recheneinheit 120
unter der Bedingung, daß kein Impuls von der Klemme E
in der Recheneinheit 120 abgegeben wird, gegeben ist,
ein Impuls von der Klemme K der Einheit 120 an die Klemme
M 2 der By-way-Gatter 124 und 125 gegeben und wird die
Klemme I des Registers 113 über das UND-Glied 138 zurück
gestellt.
Im Fall des vorhandenen Datenbank-Verwaltungssystems ist
es möglich, einen bestimmten Glied- oder Teilnehmersatz
des anderen Eigentümersatzes unter der Bedingung zu
bestimmen, daß ein bestimmter Glied- oder Teilnehmersatz
unter einem gegebenen Eigentümersatz bestimmt wird.
Die Stelleninformation dieses derartigen neuen Eigen
tümersatzes O′ kann im Register 117 gesetzt werden.
Die eindimensionale Adresse P′ eines neuen Gliedsatzes
kann im Register 118 gesetzt werden. Der Inhalt des
Registers 118 wird durch die Zusammensetz-Matrixeinheit 140
in die dreidimensionale Koordinate umgewandelt. Jeder
Koordinatenwert dieser dreidimensionalen Koordinate
wird vom Umsetzer 131 gemäß dem Schemabestimmungskode im
Register 119 ersetzt und in jedem der Register 109, 111
und 112 gesetzt.
Wenn das Ergebnis der Erhöhung des dritten Sets SS 3
in der Recheneinheit 122 auf Null zurückkehrt, wird
zur Klemme M 1 der By-way-Gatter 124 und 125 ein
Impuls gesendet, wie oben erklärt wurde, und die
Inhalte der Register R 111, R 112 werden zu den
Registern 108, 110 verschoben. Das Inkrement im zweiten
Set SS 2 wird damit im neuen Eigentümersatz möglich.
Die Klemme E der arithmetischen Einheiten 120 bis 122
ist mit dem ODER-Glied 134 verbunden. Ein Ausgangs
signal dieses ODER-Glieds 134 bedeutet Vollendung des
Zugriffs in allen Sätzen jedes Sets.
Claims (2)
1. Anordnung zum Zugreifen auf Daten, die als
n-dimensionale Matrixdaten in einem eindimen
sionalen Speicher (Magnetplatte, Magnetband)
seriell abgespeichert sind und deren n Ko
ordinationsachsen (a 1 . . . an) definierte For
mate oder Größen (A 1 . . . An) haben, so daß
die Daten über eindimensionale Adressen
adressierbar sind, wobei der Zugriff auf
die Daten über ein Datenbankverwaltungs
system (DBMS) zum Zugreifen auf hierarchisch
strukturierte Daten (CODASYL-Standard) er
folgt, bei dem der Zugriff auf die "Sätze"
oder Minimaleinheiten der Daten über eine
bestimmte Auswahl von "Sets" erfolgt, die
jeweils mindestens zwei Sätze, nämlich einen
Eigentümersatz und einen oder mehrere
mit diesem verbundene Teilnehmersätze de
finieren, gekennzeichnet durch folgende
Merkmale:
- a) eine Formatspeicheranordnung in Form getrennter Register (101, 102, 103), in denen die Größen (A 1, . . . An) der Koordinatenachsen (a 1 . . . an) gespeichert sind;
- b) ein weiteres Register (119), in dem der Code (S), der ein bestimmtes Schema für eine gewünschte der n möglichen hierarchischen Strukturen (SSi) bezeichnet, gespeichert ist;
- c) eine Set-Auswahleinrichtung (132), deren Signaleingang mit den Signalausgängen des weiteren Registers (119) verbunden ist;
- d) Recheneinheiten (120, 121, 122) zum Umändern des Speicherinhalts einer von n Speicheranordnungen (107, 108, 109) entsprechend den Koordinateninfor mationen (a 1, a 2, a 3) aus Registern (104 bis 106), deren Signaleingang mit den Ausgängen der Set-Auswahleinheit (132) verbunden ist;
- e) eine Rechenanordnung (130, 139), welche auf der Grundlage des Schema-Codes die eindimensionale Adresse des gewünschten Satzes aus den Inhalten der n Speicher anordnungen (107, 108, 109) und der Formatspeicheranordnung (101, 102, 103) mit Hilfe eines linearen Expanders (139) berechnet nach der Regel P = (a₁-1) A₂A₃ . . . A n + (a₂-1) A₃A₄ . . . A n + . . . + (a n-1-1) A n + a n
2. Anordnung nach Anspruch 1, dadurch ge
kennzeichnet, daß eine Umsetzeinrichtung
(130) vorgesehen ist, welche die Ent
sprechung zwischen den jeweiligen Inhalten
der n Speicheranordnungen (107, 108,
109) und den Koordinatenwerten (a 1 bis an)
auf der Basis der gespeicherten Codes her
leitet.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP53106491A JPS6051732B2 (ja) | 1978-08-31 | 1978-08-31 | デ−タ・ベ−スを有するデ−タ処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2934344A1 DE2934344A1 (de) | 1980-03-06 |
DE2934344C2 true DE2934344C2 (de) | 1990-02-01 |
Family
ID=14434915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2934344A Granted DE2934344A1 (de) | 1978-08-31 | 1979-08-24 | Datenverarbeitungssystem mit einem datenbank-verwaltungssystem |
Country Status (5)
Country | Link |
---|---|
US (1) | US4555771A (de) |
JP (1) | JPS6051732B2 (de) |
DE (1) | DE2934344A1 (de) |
ES (1) | ES483745A1 (de) |
GB (1) | GB2029990B (de) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4787031A (en) * | 1985-01-04 | 1988-11-22 | Digital Equipment Corporation | Computer with virtual machine mode and multiple protection rings |
AU582632B2 (en) * | 1985-04-05 | 1989-04-06 | Raytheon Company | Method and apparatus for addressing a memory by array transformations |
GB8515482D0 (en) * | 1985-06-19 | 1985-07-24 | Int Computers Ltd | Search apparatus |
US4967341A (en) * | 1986-02-14 | 1990-10-30 | Hitachi, Ltd. | Method and apparatus for processing data base |
US5123103A (en) * | 1986-10-17 | 1992-06-16 | Hitachi, Ltd. | Method and system of retrieving program specification and linking the specification by concept to retrieval request for reusing program parts |
GB2196764A (en) * | 1986-10-30 | 1988-05-05 | Apple Computer | Hierarchical file system |
US5115504A (en) * | 1988-11-01 | 1992-05-19 | Lotus Development Corporation | Information management system |
US5418942A (en) * | 1989-07-06 | 1995-05-23 | Krawchuk; Kenneth V. | System and method for storing and managing information |
US5410675A (en) * | 1989-08-21 | 1995-04-25 | Lisa M. Shreve | Method of conforming input data to an output data structure and engine for accomplishing same |
US5481704A (en) * | 1991-09-27 | 1996-01-02 | Computer Concepts Corp. | Indexing/compression scheme for supporting graphics and data selection |
US6002865A (en) * | 1992-05-28 | 1999-12-14 | Thomsen; Erik C. | Location structure for a multi-dimensional spreadsheet |
US5355497A (en) * | 1992-06-10 | 1994-10-11 | Physiotronics Corporation | File directory structure generator and retrevial tool with document locator module mapping the directory structure of files to a real world hierarchical file structure |
US5855598A (en) * | 1993-10-21 | 1999-01-05 | Corvita Corporation | Expandable supportive branched endoluminal grafts |
US5632772A (en) * | 1993-10-21 | 1997-05-27 | Corvita Corporation | Expandable supportive branched endoluminal grafts |
WO1996016375A1 (en) * | 1994-11-21 | 1996-05-30 | Oracle Corporation | Method and apparatus for multidimensional database using binary hyperspatial code |
US7099812B2 (en) * | 1999-09-24 | 2006-08-29 | Intrinsity, Inc. | Grid that tracks the occurrence of a N-dimensional matrix of combinatorial events in a simulation using a linear index |
US6502101B1 (en) * | 2000-07-13 | 2002-12-31 | Microsoft Corporation | Converting a hierarchical data structure into a flat data structure |
US20050086430A1 (en) * | 2003-10-17 | 2005-04-21 | International Business Machines Corporation | Method, system, and program for designating a storage group preference order |
US7472044B2 (en) * | 2004-03-22 | 2008-12-30 | Delphi Technologies, Inc. | Horizontally structured CAD/CAM modeling-vertical to horizontal conversion |
US7801755B2 (en) * | 2005-05-11 | 2010-09-21 | Oracle Inernational Corporation | Management hierarchy for enterprise applications and methods and systems for generating reports using same |
CN105353994B (zh) * | 2015-12-11 | 2019-10-22 | 上海斐讯数据通信技术有限公司 | 三维结构的数据存储方法及装置、查询方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3461433A (en) * | 1967-01-27 | 1969-08-12 | Sperry Rand Corp | Relative addressing system for memories |
US4025901A (en) * | 1975-06-19 | 1977-05-24 | Honeywell Information Systems, Inc. | Database instruction find owner |
US4042914A (en) * | 1976-05-17 | 1977-08-16 | Honeywell Information Systems Inc. | Microprogrammed control of foreign processor control functions |
-
1978
- 1978-08-31 JP JP53106491A patent/JPS6051732B2/ja not_active Expired
-
1979
- 1979-08-24 DE DE2934344A patent/DE2934344A1/de active Granted
- 1979-08-30 ES ES483745A patent/ES483745A1/es not_active Expired
- 1979-08-31 GB GB7930341A patent/GB2029990B/en not_active Expired
-
1982
- 1982-03-26 US US06/362,449 patent/US4555771A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
GB2029990B (en) | 1982-11-24 |
JPS5534334A (en) | 1980-03-10 |
GB2029990A (en) | 1980-03-26 |
JPS6051732B2 (ja) | 1985-11-15 |
ES483745A1 (es) | 1980-04-01 |
DE2934344A1 (de) | 1980-03-06 |
US4555771A (en) | 1985-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2934344C2 (de) | ||
EP0523269A1 (de) | Computersystem zur Datenverwaltung | |
DE60118973T2 (de) | Verfahren zum abfragen einer struktur komprimierter daten | |
DE1901343C3 (de) | Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen | |
DE2455803A1 (de) | Mehrprozessor-datenverarbeitungsanlage | |
DE1146290B (de) | Elektronisches Datenverarbeitungssystem | |
DE2551238A1 (de) | Informationsuebertragungseinrichtung | |
DE2133638C3 (de) | Verfahren zum Betrieb eines lernfähigen Systems aus in Kaskade geschalteten, zur nicht linearen Datenverarbeitung geeigneten lernfähigen Datenverarbeitungseinheiten | |
DE1449544A1 (de) | Datenverarbeitende Maschine mit ueberlappend abrufbarem Speicherwerk | |
EP3707854A1 (de) | Verfahren zum verknuepfen eines ersten datenblocks mit einem zweiten datenblock, verfahren zum ueberpruefen der integritaet einer blockchain-struktur, vorrichtung und computerprogrammprodukt | |
DE2846054C2 (de) | Schaltungsanordnung zur Erweiterung des Adressierungsvolumens einer Zentraleinheit, insbesondere eines Mikroprozessors | |
DE2357654C2 (de) | Assoziativspeicher | |
DE1271433B (de) | Adressiereinrichtung fuer einen Tabellenwertspeicher | |
DE19538448B4 (de) | Datenbankmanagementsystem sowie Datenübertragungsverfahren | |
DE2233193A1 (de) | Stapel-speichersystem | |
DE2062164A1 (de) | Verfahren zur Erzeugung eines mehr stufigen Index für gespeicherte Daten einheiten | |
DE1524169A1 (de) | Divisionseinrichtung | |
DE2459476A1 (de) | Schaltungsanordnung fuer nichtzyklische datenpermutationen | |
EP0912952B1 (de) | Datenbanksystem und verfahren zum verwalten eines n-dimensionalen datenbestands | |
DE102010064167A1 (de) | Dynamische Berichtserstellung | |
DE1474024B2 (de) | Anordnung zur willkuerlichen umordnung von zeichen innerhalb eines informationswortes | |
DE2136536C3 (de) | Anordnung zur Komprimierung binarer Daten | |
DE2945160A1 (de) | Stack-speicher | |
DE3534080C2 (de) | ||
EP0189923B1 (de) | Verfahren zum Anlegen und Abfragen von Gruppen aus einem Speicher |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OAP | Request for examination filed | ||
OD | Request for examination | ||
8128 | New person/name/address of the agent |
Representative=s name: REINLAENDER, C., DIPL.-ING. DR.-ING., PAT.-ANW., 8 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |