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
Application number
DE2934344A
Other languages
English (en)
Other versions
DE2934344A1 (de
Inventor
Katsumi Ichikawa Chiba Jp Hayashi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of DE2934344A1 publication Critical patent/DE2934344A1/de
Application granted granted Critical
Publication of DE2934344C2 publication Critical patent/DE2934344C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating 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 2a 3a 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 3a 2a 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 1a 3a 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 abc 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.
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) AA₃ . . . A n + (a₂-1) AA₄ . . . 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.
DE2934344A 1978-08-31 1979-08-24 Datenverarbeitungssystem mit einem datenbank-verwaltungssystem Granted DE2934344A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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