Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND DEVICE FOR STORING ITEMS OF DATA AND THE RELATIONSHIPS THEREOF
Document Type and Number:
WIPO Patent Application WO/2020/094175
Kind Code:
A1
Abstract:
The aim of the invention is to provide a particularly efficient storage structure. This is achieved in that in order to store at least two interrelated items of data (Data1, Data2...) in a database (1) comprising a plurality of storage spaces, the first item of data (Data1) is stored in a first storage space (5; 7-2), the second item of data (Data2) is stored in a second storage space (5; 7-2), and the relationship of the items of data is stored in two mutually assigned storage spaces (3, 4) in that a reference to the first item of data (Data1) or to a relationship at least indirectly related to the first item of data (Data1) is stored in one storage space (3) of the two mutually assigned storage spaces, and a reference to the second item of data (Data2) or to a relationship at least indirectly related to the second item of data (Data2) is stored in the second storage space (4) of the two mutually assigned storage spaces.

Inventors:
KELBSCH LEA (DE)
Application Number:
PCT/DE2019/100829
Publication Date:
May 14, 2020
Filing Date:
September 20, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
KELBSCH LEA (DE)
International Classes:
G06F16/22
Domestic Patent References:
WO2005081845A22005-09-09
Foreign References:
US20160048517A12016-02-18
Other References:
"CHAPTER 18: Indexing Structures for Files ED - Ramez Elmasri; Shamkant B Navathe (eds)", 1 January 2011, FUNDAMENTALS OF DATABASE SYSTEMS (SIXTH EDITION), ADDISON-WESLEY, PAGE(S) 631 - 675, ISBN: 978-0-13-608620-8, XP009171422
DANIEL ABADI: "The Design and Implementation of Modern Column-Oriented Database Systems", FOUNDATIONS AND TRENDS IN DATABASES, vol. 5, no. 3, 4 December 2013 (2013-12-04), pages 197 - 280, XP055104257, ISSN: 1931-7883, DOI: 10.1561/1900000024
"Multimedia Database Management Systems", vol. 4, 1 January 1997, SPRINGER US, Boston, MA, ISBN: 978-1-46-156149-1, article PHILIP BOHANNON ET AL: "The Architecture of the Dal? Main-Memory Storage Manager", pages: 23 - 59, XP055120645, DOI: 10.1007/978-1-4615-6149-1_3
Attorney, Agent or Firm:
ABACUS PATENTANWÄLTE (DE)
Download PDF:
Claims:
Patentansprüche

1. Verfahren zum Speichern von mindestens zwei miteinander in Beziehung stehenden Daten (Datal, Data2, ...) in einer eine Mehrzahl von Speicherplätzen umfassenden Datenbank (1) , dadurch gekennzeichnet, dass das erste Datum (Datal) in einem ersten Speicherplatz (5; 7-2 ) abgespeichert wird, das zweite Datum (Data2) in einem zweiten

Speicherplatz (5; 7-2) abgespeichert wird und die

Beziehung der Daten in zwei einander zugeordneten

Speicherplätzen (3, 4) dadurch abgespeichert wird, dass in einem Speicherplatz (3) der beiden einander

zugeordneten Speicherplätze ein Verweis auf das erste

Datum (Datal) oder auf eine Beziehung, die zumindest mittelbar mit dem ersten Datum (Datal) in Beziehung steht, abgespeichert wird und in dem zweiten

Speicherplatz (4) der beiden einander zugeordneten

Speicherplätze ein Verweis auf das zweite Datum (Data2) oder auf eine Beziehung, die zumindest mittelbar mit dem zweiten Datum (Data2) in Beziehung steht, abgespeichert wird.

2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass vor dem Abspeichern eines Datums (Datal, Data2, ...) geprüft wird, ob dieses Datum (Datal, Data2, ...) bereits abgespeichert ist und falls dies der Fall ist und falls eine Beziehung zu einem anderen Datum gespeichert werden soll geprüft wird, ob diese Beziehung bereits

abgespeichert ist.

3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die beiden einander zugeordneten Speicherplätze (3, 4) , an denen jeweils eine Beziehung abgespeichert wird, einen ersten Teilbereich (3) und einen zweiten

Teilbereich (4) derselben adressierbaren Speicherzelle

(2) bilden und als Verweis auf eine andere Beziehung die Adresse (Al, A2, ...) der Speicherzelle (2), in welcher diese Beziehung abgespeichert ist, eingesetzt wird.

4. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass der Speicherplatz (5; 7-2) , an welchem ein Datum abgespeichert wird, ein Teilbereich einer adressierbaren Speicherzeile (2) ist und

als Verweis auf ein Datum (Datal, Data2, ...) die

Adresse (Al, A2, ...) der Speicherzelle (2), in welcher das Datum abgespeichert ist, eingesetzt wird oder

beim Abspeichern eines Datums in einer Speicherzelle (2) dem Datum (Datal, Data2, ...) eine weitere

Speicherzelle (2) zugeordnet wird und als Verweis auf dieses Datum {Datal, Data2, ...) die Adresse (Al, A2, ...) der zugeordneten Speicherzelle (2) eingesetzt wird.

5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch

gekennzeichnet, dass die Beziehungen und die Daten

(Datal, Data2, ...) in adressierbaren Speicherzellen (2) desselben Speicherbereichs abgespeichert werden, wobei für das Abspeichern der Beziehungen jede dieser

Speicherzellen (2) mindestens zwei Teilbereiche (3, 4) aufweist und für das Abspeichern der Daten ein dritter Teilbereich (5) in diesen Speicherzellen (2) ausgebildet ist, wobei in jeder dieser Speicherzellen (2) entweder eine Beziehung unter Verwendung der ersten beiden

Teilbereiche (3, 4) oder ein Datum (Datal, Data2, ...) unter Verwendung des dritten Teilbereichs (5)

abgespeichert wird.

6. Verfahren nach einem der Ansprüche 1 bis 4, dadurch

gekennzeichnet, dass die Beziehungen und die Daten

(Datal, Data2, ...) in jeweils zwei Teilbereiche (3, 4) umfassende Speicherzellen (2) desselben Speicherbereichs abgespeichert werden, wobei in jeder Speicherzeile (2) entweder eine Beziehung unter Verwendung der beiden

Teilbereiche (3, 4) oder ein Datum (Datal, Data2, ...) unter Verwendung des zweiten Teilbereichs (4)

abgespeichert wird.

7. Verfahren nach einem der Ansprüche 1 bis 4, dadurch

gekennzeichnet, dass für das Abspeichern der Beziehungen in der Datenbank ein Beziehungsspeicher (6) und für das

Abspeichern der Daten (Datal, Data2, ...) mindestens ein Datenspeicher (7) ausgebildet ist, wobei der

Beziehungsspeicher (6) eine Mehrzahl von adressierbaren

Speicherzellen (2) umfasst und jede dieser adressierbaren Speicherzellen (2) mindestens zwei Teilbereiche (3, 4) umfasst und wobei zumindest bei einem erstmaligen

Abspeichern eines Datums (Datal, Data2, ...) in dem

Datenspeicher (7) eine Speicherzelle (2) des

Beziehungsspeichers (6) diesem Datum (Datal, Data2, ...) zugeordnet wird und in dem Datenspeicher (7) das Datum (Datal, Data2, ...) dadurch abgespeichert wird, dass in einem ersten Teilbereich (7-1 ) einer Speicherzelle (2) des Datenspeichers (7) die Adresse (Al, A2, ...) der diesem Datum (Datal, Data2, ...) zugeordneten Speicherzelle (2) des Beziehungsspeichers (6) abgespeichert wird und in einem zweiten Teilbereich (7-2) dieser Speicherzelle (2) des Datenspeichers (7) eine Repräsentation des Datums (Datal, Data2) abgespeichert wird.

8. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass für die Eingabe mindestens eines Datums (Datal, Data2) ein Eingabemodul vorgesehen ist und zumindest bei einer ersten Dateneingabe mittels des Eingabemoduls eine Adresse (Al, A2, ...) des

Beziehungsspeichers (6) diesem Eingabemodul zugeordnet wird.

9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass mittels des Eingabemoduls mindestens eine Beziehung zwischen eingebbaren Daten (Datal, Data2, ...) eingebbar ist . 10 Verfahren nach einem der Ansprüche 8 oder 9, dadurch gekennzeichnet, dass für jedes abgespeicherte Datum

(Datal, Data2, ...) die Beziehung zu mindestens einem

Eingabemodul , mittels dem die Eingabe erfolgt ist, zumindest indirekt abgespeichert wird.

11 . Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die Beziehung in der Datenbank nur dann abgespeichert wird, falls sie nicht bereits

abgespeichert ist.

12. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass für die Ausgabe mindestens eines Datums (Datal, Data2, ...) ein Ausgabemodul vorgesehen ist und zumindest bei einer ersten Datenausgabe mittels des Ausgabemoduls die Adresse einer Speicherzelle (2) des

Beziehungsspeichers 6) dem Ausgabemodul zugeordnet wird.

13. Speicherstruktur zum Speichern von mindestens zwei

miteinander in einer (hierarchischen) Beziehung stehenden Daten, dadurch gekennzeichnet, dass die Speicherstruktur umfasst :

- zumindest Teilbereiche (5; 7-2) innerhalb von

Speicherzellen (2) zum Abspeichern des jeweiligen Datums

(Datal, Data2, ...) ;

- mindestens zwei einander zugeordnete Teilbereiche (3,

4 ) innerhalb einer Speicherzelle (2), die ein Abspeichern der Beziehung der Daten (Datal, Data2, ...) derart ermöglicht, dass in dem ersten Teilbereich (3) ein

Verweis auf das erste Datum (Datal) und in dem zweiten

Teilbereich (4) ein Verweis auf das zweite Datum (Data2) abgespeichert wird.

14. Speicherstruktur gemäß Anspruch 13, dadurch

gekennzeichnet, dass die Speicherstruktur Mittel zur Realisierung eines Verfahrens nach einem der Ansprüche 1 bis 12 aufweist.

15. SpeicherStruktur nach einem der Ansprüche 13 oder 14, dadurch gekennzeichnet , dass die Speicherstruktur für die sich jeweils entsprechenden Teilbereiche (3, 4, 7-1, 7-2) der Speicherzellen (2) jeweils einen Speicherbaustein

(M3, M4, M7-1, M7-2) aufweist, wobei für eine bestimmte

Speicherzeile (2) die jeweiligen Teilbereiche (3, 4, 7-1,

7-2) mit derselben Adresse (Al, A2, innerhalb des jeweiligen Speicherbausteins (M3, M4, M7-1, M7-2) adressierbar sind.

16. Speicherstruktur nach einem der Ansprüche 13 bis 15,

dadurch gekennzeichnet, dass die Speicherstruktur ein Index-Register (14) aufweist, wobei das Index-Register (14) mindestens zwei Speicherbausteine (Ml6, M17) zur

Realisierung einer doppelt verketteten Liste umfasst und für eine bestimmte Speicherzelle des Beziehungsspeichers (6) in einem der Speicherbausteine (Ml6, M17) die Adresse

(Al, A2, ...) einer auf diese bestimmte Speicherzelle (2) verweisende andere Speicherzelle (2) und in dem anderen

Speicherbaustein (Ml6, Ml7) die Adresse einer weiteren Speicherzelle (2), auf die die bestimmte Speicherzelle

(2) verweist, speicherbar ist.

17. Speicherstruktur nach einem der Ansprüche 13 bis 16, dadurch gekennzeichnet, dass die Speicherbausteine durch

RAM-Bausteine realisiert sind.

18. Computerprogramm, das auf einem Computer ausführbar ist, dadurch gekennzeichnet, dass das Computerprogramm derart programmiert ist, dass ein Verfahren nach einem der Ansprüche 1 bis 12 durchgeführt wird, wenn das

Computerprogramm auf dem Computer ausgeführt wird.

19. Speichermedium zum Abspeichern eines Computerprogramms, dadurch gekennzeichnet, dass auf dem Speichermedium ein

Computerprogramm nach Anspruch 18 abgespeichert ist.

Description:
Titel : Verfahren und Vorrichtung zum Speichern von Daten und deren Beziehungen

Beschreibung

Die Erfindung betrifft ein Verfahren zum Speichern von

mindestens zwei miteinander in einer Beziehung stehenden Daten in einer eine Mehrzahl von Speicherplätzen umfassenden

Datenbank. Die Erfindung betrifft ferner eine Datenbank zum Speichern von mindestens zwei miteinander in einer Beziehung stehenden Daten. Die Erfindung betrifft auch ein

Computerprogramm, das auf einem Computer ausführbar ist.

Es sind eine Vielzahl unterschiedliche Datenbanken und

Datenbanksysteme bekannt. Diese bestehen aus einem in

bestimmter Weise organisierten Speicher und einer diesen Speicher verwaltende Software. Der Speicher wird häufig als

Datenbank und die Software als Datenbankmanagementsystem bezeichnet. Für die Eingabe und Ausgabe sowie die Verwaltung der in der Datenbank abgespeicherten Daten ist in der Regel eine Datenbanksprache vorgesehen, die insbesondere einen klar definierten Zugriff auf den Inhalt der Datenbank ermöglicht.

Datenbanksysteme sind häufig als relationale Datenbank ausgebildet . Relationale Datenbanken sind als eine Vielzahl von Tabellen organisiert, wobei jede Zeile einer Tabelle einen

Datensatz beschreibt. Die Anzahl der Tabellen sowie die Anzahl der jeweiligen Felder in einem Datensatz einer Tabelle werden vorab in Abhängigkeit von dem geplanten Einsatzzweck durch die Vorgabe eines Datenbankschemas festgelegt. Durch geeignete

Verknüpfungen können Beziehungen zwischen den einzelnen

Tabellen ausgedrückt werden . Die grundlegende Struktur einer relationalen Datenbank besteht darin, dass die Daten, die miteinander in Beziehung stehen, innerhalb einer Zeile einer Tabelle abgespeichert werden .

Eine Erweiterung des Anwendungsbereichs einer bestehenden relationalen Datenbank zur Aufnahme anders gearteter Daten ist meist nur mit relativ großem Aufwand realisierbar, da die ursprünglich festgelegten Tabellen beziehungsweise die

einzelnen Datensätze darin häufig durch die Aufnahme weiterer Attribute erweitert werden müssen. Häufig ist dies jedoch nur durch einen kompletten Neuaufbau der Datenbank möglich. Ein Erhöhung der Verarbeitungsgeschwindigkeit einer relationalen Datenbank kann dadurch erreicht werden, dass die relationale Struktur, also die einzelnen Tabellen, direkt in

Hardware abgebildet sind. Eine Erweiterung der einmal

festgelegten Struktur ist dann aber meist nicht mehr möglich.

Von einem abstrakten Standpunkt aus betrachtet wird in einer Datenbank ein Ausschnitt der realen Welt abgespeichert. Um formal eine Definition der in einer Datenbank abgespeicherten Daten zu ermöglichen, wird häufig das sogenannte Entity- Relationship-Modell (ERM) verwendet . Dieses Modell ermöglicht es, einerseits die Beziehungen von in einer Datenbank

abgespeicherten Daten formal vorzugeben und andererseits bei einer Eingabe von Daten deren Korrektheit zu überprüfen .

Mittels eines ERMs lassen sich sehr komplexe Datenbank-Designs erstellen, die den durch das ERM vorgegebenen Regeln

entsprechen. Insbesondere lassen sich damit vorab sehr komplexe Beziehungen von bei der Nutzung der Datenbank einzugebenden Daten definieren.

Die bestehenden Datenbanksysteme haben den Nachteil, dass deren Flexibilität mit zunehmender Anzahl der abgespeicherten Daten beziehungsweise der vorab vorgegebenen möglichen

Beziehungen eingeschränkt ist.

Aufgabe der Erfindung ist es, eine Möglichkeit für das

Abspeichern von Daten und deren Beziehungen zu schaffen, die unabhängig vom Einsatzzweck ist und eine möglichst große Anzahl unterschiedlichster Daten innerhalb derselben Struktur abzuspeichern vermag. Ferner soll erreicht werden, dass die Datenbankstruktur möglichst effizient in einer Software basierten Lösung, aber insbesondere auch in einer Hardware basierten Lösung realisierbar ist.

Die Aufgabe wird durch ein Verfahren mit den Merkmalen des unabhängigen Patentanspruchs 1 gelöst. Die Aufgabe wird ferner durch eine Speieheranordnung und durch ein Computerprogramm gemäß den weiteren unabhängigen Patentansprüchen gelöst.

Erfindungsgemäß werden also einerseits Beziehungen von jeweils zwei Daten und andererseits die Daten selbst abgespeichert. Dies ist unabhängig von einer konkreten Anwendung und

unabhängig von der Anzahl der zu speichernden Daten bzw. der zu speichernden Beziehungen. Lediglich die Größe des

jeweiligen Speicherplatzes wird zweckmäßigerweise vorgegeben werden .

Ein besonderes Merkmal der vorliegenden Erfindung ist, dass die Daten und die Beziehungen zwischen einzelnen dieser Daten getrennt abgespeichert werden. Durch dieses strukturelle

Merkmal lassen sich eine Vielzahl von Vorteilen erreichen, wie weiter unten beschrieben werden wird.

Vorzugsweise wird vor dem Abspeichern eines Datums geprüft, ob dieses bereits abgespeichert worden ist. Nur wenn dies nicht der Fall ist, wird es abgespeichert. Damit wird erreicht, dass keine Datenredundanz auftritt, wodurch wiederum eine besonders effiziente Nutzung des Speichers möglich ist.

Besonders vorteilhaft ist es, wenn Beziehungen der Daten dadurch abgespeichert werden, dass an den jeweiligen

Speicherplätzen ein Verweis abgespeichert wird.

Hierbei werden die Beziehungen durch die Verweise derart gebildet, dass die Beziehungen einer Mehrzahl von miteinander in Beziehung stehender Daten abgespeichert werden kann, obwohl diese Beziehungen jeweils nur paarweise abgespeichert werden. Dies kann in unterschiedlichen Ausführungsformen realisiert werden, wie ebenfalls weiter unten beschrieben wird.

Ein Verweis kann insbesondere eine Speicheradresse sein, die einen Speicherplatz bezeichnet, an welcher sich ein Datum befindet oder an welcher eine andere Beziehung abgespeichert ist, die zumindest mittelbar das jeweilige Datum betrifft. Mittelbar bedeutet hierbei, dass eine Kette von möglicherweise hierarchisch geordneten Beziehungen schließlich zu dem

betreffenden Datum führen kann . Durch die Verwendung von

Speicheradressen als Verweise wird eine besonders schnelle

Suche innerhalb der Datenbank und damit eine effiziente

Auflösung von Beziehungen ermöglicht.

Die Begriffe „Datum" und „Beziehung" können in Bezug zu der vorliegenden Erfindung sehr weit verstanden werden . Weder ist festgelegt, welcher Art eine Beziehung ist, noch, welcher Art ein Datum ist. Die Erfindung erlaubt es sogar, ein Datum wie eine Beziehung zu behandeln bzw. eine Beziehung wie ein Datum zu behandeln. Damit wird sichergestellt, dass das

erfindungsgemäße Speicherverfahren und die erfindungsgemäße Datenbank für eine Vielzahl unterschiedlichster Anwendungen einsetzbar sind. Beispielsweise kann in Abhängigkeit von dem jeweiligen Kontext bzw. der jeweiligen Anwendung, in welcher die Erfindung eingesetzt wird, ein Definitionsbereich des Begriffs „Datum" und des Begriffs „Beziehung" bestimmt werden .

Somit lässt sich die Erfindung beispielsweise in einer mehrere

Ebenen umfassenden hierarchischen Struktur realisieren, wobei

Beziehungen einer Ebene in einer anderen Ebene als Daten behandelt werden und umgekehrt.

Vorteilhafterweise ist der Speicherplatz, an welchem eine

Beziehung abgespeichert wird, ebenfalls adressierbar, wobei in einem ersten Teilbereich ein erster Verweis und in einem zweiten Teilbereich ein zweiter Verweis abgespeichert wird. Diese Verweise werden vorzugsweise durch Speicheradressen realisiert, die ihrerseits auf Speicherplätze verweisen, an denen entweder jeweils ein Datum oder eine weitere Beziehung abgespeichert wird.

Durch die erfindungsgemäße Art des Speicherns der Daten und Beziehungen, welche ihrerseits Abstraktionen der realen Welt darstellten, in ein vorgegebenes AdressSystem steht jede

Beziehung und jedes Datum in Verbindung mit einer eindeutigen Adresse. Dies bedeutet, dass mit einer einzigen Adresse jede

Beziehung und jedes Datum eindeutig lokalisiert und damit auch wieder abgerufen werden kann . Insbesondere kann für eine bestimmte Adresse auch angegeben werden, welche Beziehungen auf diese Adresse referenzieren und/oder es kann die Bedeutung bzw. das dieser Adresse zugeordnete Datum wiedergegeben werden .

Ein besonderer Vorteil der Erfindung ist, dass für eine

Änderung einer einmal erstellten Datenbank keine Änderung der tatsächlich abgespeicherten Daten notwendig ist . Jedem einmal abgespeicherten Datum ist eine eindeutige Adresse zugeordnet, welche bestehen bleiben kann. Soll eine Änderung des Inhalts erfolgen, so genügt es, eine oder mehrere Beziehungen zu ergänzen oder zu entfernen.

Im Unterschied zu relationalen Datenbanken kann bei der vorliegenden Erfindung nicht mehr von „Datensätzen" gesprochen werden, da erfindungsgemäß zusammengehörige Datenelemente durch deren Beziehungen untereinander bestimmt werden . Dies kann völlig ohne die feste vorgegebene Struktur eines

„Datensatzes" erfolgen. Damit wird außerdem das Auftreten von leeren Datensätzen verhindert .

Durch die erfindungsgemäße Art des Speicherns von Beziehungen und Daten werden keine starren Vorgaben wie bei herkömmlichen

Definitionen von Tabellen bzw. Indizes und Schlüsseln

benötigt. Vielmehr wird eine völlige Flexibilität dadurch erreicht, dass die Menge an Daten, auf welche eine bestimmte

Speicheradresse verweist, nicht fest vorgegeben ist. So kann eine bestimmte Adresse einem einzelnen Datum zugeordnet sein, wohingegen eine andere Adresse - durch das Auflösen von

Beziehungen - zumindest indirekt auf eine Vielzahl von

einzelnen, miteinander in Beziehung stehenden Daten verweist.

Gemäß einer ersten möglichen Ausführungsform werden die

Beziehungen und die Daten in demselben Speicherbereich

abgespeichert, wobei für das Äbspeichern der Beziehungen für jede Adresse mindestens zwei Teilbereiche vorgesehen sind und für das Abspeichern der Daten ein dritter Teilbereich

vorgesehen ist. Vorteilhafterweise wird an einer bestimmten

Adresse entweder eine Beziehung unter Verwendung der ersten beiden Teilbereiche oder ein Datum unter Verwenden des dritten

Teilbereichs abgespeichert. Damit lässt sich die gesamte

Speicherstruktur dadurch realisieren, dass der Speicher adressierbare Zeilen enthält, wobei jede Zeile drei

Teilbereiche umfasst. Jeweils zwei fest bestimmte

Teilbereiche, beispielsweise stets die ersten beiden, sind für das Abspeichern einer Beziehung vorgesehen und ein dritter Teilbereich ist für das Abspeichern eines Datums reserviert.

Ob die Adresse einer Zeile nun eine Beziehung oder ein Datum repräsentiert richtet sich danach, was darin abgespeichert ist. Sind die beiden Speicherplätze belegt, die für das

Abspeichern von einer Beziehung vorgesehen sind, so darf gemäß einer möglichen Ausführungsform, in dem dritten

Teilbereich kein Datum abgespeichert werden. Es handelt sich dann also eindeutig um einen Speicherplatz bzw. eine

Speicherzelle, deren Adresse eine Beziehung repräsentiert. Wird gemäß dieser Ausführungsform ein Datum in dem dritten

Teilbereich einer Zeile abgelegt, so werden in den anderen beiden Teilbereichen keine eine Beziehung realisierende

Verweise abgespeichert. In diesem Fall würde die Adresse des Speicherplatzes bzw. der Speicherzelle also ein Datum

bezeichnen. Bei einer hierarchisch aufgebauten Realisierung der Erfindung könnte diese Adresse jedoch auch einen Verweis zu einer Beziehung zu einem Datum bzw. zu einer weiteren

Beziehung bezeichnen.

Diese Ausführungsform hat also den Vorteil, dass für das

Abspeichern aller möglichen Daten und Beziehungen nur eine einzige Speicherstruktur verwendet wird. Das Einschreiben in die Datenbank kann dann derart erfolgen, dass stets die nächste freie Zeile in dem Speicher verwendet wird. Soll eine Beziehung abgespeichert werden, so werden die beiden hierfür vorgesehenen Teilbereiche verwendet. Soll hingegen ein Datum abgespeichert werden, so wird hierzu der dritte Teilbereich verwendet .

Gemäß einer verbesserten Ausführungsform werden für das

Speichern der Daten und das Speichern von Beziehungen jeweils Zeilen verwendet, die hierfür lediglich zwei Teilbereiche umfassen. Wird eine Beziehung abgespeichert, so werden beide

Teilbereich für das Abspeichern des jeweiligen Verweises verwendet. Wird hingegen ein Datum abgespeichert, so wird nur einer der beiden Teilbereiche beschrieben. Bei dieser

Ausführungsform wird dieselbe Funktionalität wie bei der zuvor beschrieben Ausführungsform erreicht, jedoch wird weniger

Speicherplatz benötigt.

Gemäß einer besonders vorteilhaften Ausführungsform wird für das Abspeichern von Beziehungen in der Datenbank ein

gesonderter Speicherbereich, im folgenden als

Beziehungsspeicherbereich bezeichnet, verwendet und für das Abspeichern der Daten mindestens ein anderer gesonderter

Speicherbereich, der im folgenden als Datenspeicherbereich bezeichnet wird, verwendet. Der Beziehungsspeicherbereich umfasst eine Mehrzahl von adressierbaren Speicherplätzen und jeder dieser adressierbaren Speicherplätze umfasst mindestens zwei Teilbereiche für das Abspeichern der beiden eine

Beziehung realisierende Verweise bzw. Speicheradressen .

Vorzugsweise umfasst der Datenspeicherbereich eine Mehrzahl von adressierbaren Speicherplätzen und jeder dieser

adressierbaren Speicherplätze umfasst vorzugsweise ebenfalls mindestens zwei Teilbereiche. Soll nun ein Datum abgespeichert werden, so wird dieses in den für das Abspeichern von Daten innerhalb der betreffenden Zeile des Datenspeicherbereichs vorgesehenen Teilbereich abgelegt. Die Breite dieses

Teilbereichs ist an die Breite der Daten angepasst, die abgespeichert werden sollen. Zumindest bei einem erstmaligen Abspeichern eines Datums in dem Datenspeicherbereich wird nun zusätzlich eine Adresse in dem Beziehungsspeicherbereich reserviert . Diese Adresse wird in dem zweiten Teilbereich derjenigen Zeile des Datenspeicherbereichs abgespeichert, in welcher auch das Datum selbst abgespeichert ist. Diese Ausführungsform und die sich hieraus ergebenden Vorteile werden weiter unten näher erläutert.

In einer erfindungsgemäßen Datenbank kann eine Mehrzahl von Datenspeicherbereichen vorhanden sein. Unterschiedliche

Datenspeicherbereiche können dann an die zu erwartenden Daten angepasst werden.

Vorzugsweise sind für die Dateneingabe Eingabemodule

vorgesehen, wobei die Eingabemodule die jeweilige Anwendung und/oder die zu erwartende Datenart berücksichtigen. Erst in den Eingabemodulen ist also eine Spezialisierung des

Datenbanksystems für eine konkrete Anwendung vorgesehen. Die dahinter stehende Datenbank selbst ist jedoch weitestgehend unabhängig von der konkreten Anwendung und der Datenart. In einer Ausführungsform kann vorgesehen sein, die

Datenspeicherbereiche in Abhängigkeit von den Eingabemodulen zu wählen. Beispielsweise kann jedem Eingabemodul ein

separater Datenspeicherbereich zugeordnet sein oder es kann vorgesehen sein, den Eingabemodulen, die zu eine bestimmten Anwendung gehören, jeweils einen Datenspeicherbereich

zuzuordnen. Es ist auch vorstellbar, die Datenspeicherbereiche in Abhängigkeit von der Art der Daten zu realisieren.

Beispielsweise kann vorgesehen sein, Multimediainhalte in einem anderen Datenbereich abzuspeichern als Meßwerte, die zu einer bestimmten Anwendung gehören. Vorzugsweise wird für jedes verfügbare Eingabemodul jeweils eine Adresse des Beziehungsspeicherbereichs reserviert. Damit wird erreicht, dass auch Beziehungen zwischen Daten und einem Eingabemodul innerhalb der Datenbank abspeicherbar sind.

Selbstverständlich sind auch Beziehungen zwischen

Eingabemodulen innerhalb der Datenbank abspeicherbar . Dadurch, dass ein Datum einem Eingabemodul zugeordnet werden kann, ist hierdurch implizit weiteres Wissen zu den Daten verfügbar.

Dieses Wissen ermöglicht beispielsweise eine Interpretation einzelner Daten und kann möglicherweise für eine

Weiterverarbeitung von ausgelesenen Daten herangezogen werden .

Für die Datenausgabe sind vorzugsweise Ausgabemodule

vorgesehen . Diese können analog zu den Eingabemodulen

innerhalb der Datenbank behandelt werden. Die Ausgabemodule können also ebenfalls Daten zugeordnet werden, indem sie sowohl zu Daten als auch zu Beziehungen und natürlich auch zu Eingabemodulen eine Beziehung aufweisen können . Derartige Beziehungen werden innerhalb der Datenbank genauso

abgespeichert, wie Beziehungen zwischen Daten oder zwischen eine Datum und einer Beziehung.

Die eingangs genannte Aufgabe wird insbesondere auch durch ein Computerprogramm gelöst, das auf einem ComputerSystem

ablauffähig ist und zur Durchführung des erfindungsgemäßen Verfahrens programmiert ist. Dabei stellt das Computerprogramm durch die einzelnen Verfahrensschritte ebenso die Erfindung dar wie das Verfahren selbst . Weitere vorteilhafte Merkmale der Erfindung sind den in den Figuren dargestellten und im Folgenden beschriebenen

Ausführungsbeispielen entnehmbar.

Figur 1 zeigt ein Blockschaltbild, das eine zur Durchführung des erfindungsgemäßen Verfahrens geeignete Speicherstruktur gemäß einem ersten

Ausführungsbeispiel;

Figur 2 zeigt ein Blockschaltbild, das eine zur Durchführung des erfindungsgemäßen Verfahrens geeignete Speicherstruktur gemäß einem zweiten

Ausführungsbeispiel ;

Figur 3 zeigt ein Blockschaltbild, das eine zur Durchführung des erfindungsgemäßen Verfahrens geeignete

Speicherstruktur gemäß einem dritten

Ausführungsbeispiel ;

Figur 4 zeigt in einem Ablaufdiagramm das Einschreiben von

Daten in die erfindungsgemäße Datenbank gemäß einem Ausführungsbeispiel;

Figur 5 zeigt mittels eines Diagramms die der

erfindungsgemäßen Datenbank zugrunde liegende

Struktur für das Abspeichern von Beziehungen; Figur 6 zeigt ein bevorzugtes Ausführungsbeispiel einer in

Hardware realisierten erfindungsgemäßen Datenbank anhand eines Blockdiagramms.

Figur 1 zeigt eine SpeicherStruktur gemäß einem möglichen Ausführungsbeispiel . Ein Speicher 1 umfasst eine Mehrzahl von Zeilen 2, wobei jede Zeile 2 einen ersten Teilbereich 3, einen zweiten Teilbereich 4 und einen dritten Teilbereich 5 umfasst.

Der erste Teilbereich 3 und der zweite Teilbereich 4 sind für das Speichern von Verweisen vorgesehen. Diese Verweise

realisieren Beziehungen. Die Gesamtheit der ersten

Teilbereiche 3 und der zweiten Teilbereiche 4 bilden somit einen Beziehungsspeicher 6. Der dritte Teilbereich 5 ist für das Abspeichern von Daten vorgesehen. Die Gesamtheit der dritten Teilbereiche bildet einen Datenspeicher 7.

Jeder Zeile 2 ist eine eindeutige Adresse Al, A2, ...

zugeordnet. Mittels dieser Adressen ist jede der Zeilen 2 in bekannter Weise ansprechbar und ermöglicht damit insbesondere einen lesenden und schreibenden Zugriff auf die Zeilen 2 bzw. die darin jeweils enthaltenen Teilbereiche.

Der erste Teilbereich 3 und der zweite Teilbereich 4 des

Beziehungsspeichers 6 sind derart dimensioniert, dass darin jeweils eine Speicheradresse Al, A2, ... abgespeichert werden kann. Der dritte Teilbereich 5 des Datenspeichers 7 ist in Abhängigkeit von den darin jeweils abzuspeichernden Daten derart dimensioniert, dass das Abspeichern eines einzelnen Datums sichergestellt ist. Sollte während des Betriebs einer einmal konfigurierten Datenbank innerhalb des Speichers 1 dennoch ein Datum abzuspeichern sein, welches größer ist als die Breite des dritten Teilsbereichs , so können hierfür

Mechanismen vorgesehen sein, die bspw. ein Aufteilen

(Splitten) des jeweiligen Datums umfassen, so dass das Datum auf eine Mehrzahl von dritten Teilbereichen aufgeteilt wird, wobei der erste Teilbereich und der zweite Teilbereich der jeweiligen Zeilen dann als Verweise verwendet werden können, die eine zumindest einfach verkettete Liste realisieren und ein Abspeichern und Wiederzusammensetzen des Datums

ermöglichen. Insbesondere kann jedoch auch vorgesehen sein, die einzelnen Teile eines Datums wie einzelne Daten

abzuspeichern, die eine Beziehung zueinander aufweisen. Durch ein Auflösen der Beziehungen kann dann das ursprüngliche Datum wieder hergestellt werden .

Gemäß dem in Figur 1 gezeigten Ausführungsbeispiel werden also der Beziehungsspeicher 6 und der Datenspeicher 7 innerhalb eines Speicherelements realisiert, wobei ein abzuspeicherndes

Datum stets in dem dritten Teilbereich einer Zeile

abgespeichert wird. In einer solchen Zeile sind dann in dem ersten Teilbereich und dem zweiten Teilbereich keine eine

Beziehung realisierende Verweise abgespeichert.

Eine Beziehung wird dadurch abgespeichert, dass in einer Zeile in dem ersten Teilbereich 3 und dem zweiten Teilbereich 4 jeweils ein Verweis auf eine andere Zeile abgespeichert ist. Ein solcher Verweis kann insbesondere die Adresse der betreffenden Zeile sein. Wird bspw. in einer Zeile eine

Beziehung zwischen zwei Daten abgespeichert, so wird in dem ersten Teilbereich dieser Zeile die Adresse des ersten Datums und in dem zweiten Teilbereich die Adresse des zweiten Datums abgespeichert .

Von besonderer Bedeutung für die Gesamterfindung ist es, dass mittels der erfindungsgemäßen Speicherstruktur nicht nur Beziehungen zwischen Daten, sondern insbesondere auch

Beziehungen zwischen einzelnen Beziehungen und Beziehungen zwischen einer Beziehung und einem Datum in derselben Struktur abgespeichert werden können . Sind bspw. unter den Adressen Al und A2 jeweils Beziehungen abgespeichert, so kann zwischen diesen beiden Beziehungen wieder eine Beziehung dadurch hergestellt werden, dass in einer anderen Speicherzeile in deren ersten Teilbereich der Wert Al und in deren zweiten

Teilbereich der Wert A2 abgespeichert wird. Wie später noch detailliert beschrieben werden wird, ist es mit diesem

generischen Speicherprinzip möglich, eine Vielzahl

unterschiedlichster Beziehungen abzuspeichern. Erfindungsgemäß wird die Bedeutung, die eine Beziehung in der Realität hat, beim Speichern in dem Beziehungsspeicher nicht explizit berücksichtigt . Damit ist das erfindungsgemäße Speicherprinzip bzw. die erfindungsgemäße Datenbank für das Abspeichern jedweder Beziehungen und Daten grundsätzlich geeignet. In Figur 2 ist eine weitere mögliche Ausführungsform gezeigt.

In dieser sind in jeder Zeile 2 nur zwei Teilbereiche

ausgebildet. Soll in einer Zeile eine Beziehung abgespeichert werden, so werden die entsprechenden Verweise bzw. Adressen in den beiden Teilbereichen abgespeichert . Soll in einer Zeile dagegen ein Datum abgespeichert werden, so wird hierzu der zweite Teilbereich verwendet . Dieser ist in der Regel breiter als der erste Teilbereich, da davon ausgegangen wird, dass die abzuspeichernden Daten größer sind als die abzuspeichernden Adressen. Ob eine Zeile dem Beziehungsspeicher 6 oder dem Datenspeicher 7 zuzuordnen ist ergibt sich daraus, ob in dem ersten Teilbereich ein Wert abgelegt ist. Ist dies der Fall, so ist die betreffende Zeile Teil des Beziehungsspeichers 6.

Ist dies nicht der Fall, und ist nur in dem zweiten

Teilbereich ein Wert abgespeichert, so ist die betreffende Zeile dem Datenspeicher 7 zuzuordnen. Bei dieser

Ausführungsform ist sind also der Datenspeicher 6 und der Datenspeicher 7 innerhalb eines gemeinsamen Speichers 6-7 ausgebildet . Gegenüber dem in Figur 1 gezeigten

Ausführungsbeispiel hat das in Figur 2 gezeigte

Ausführungsbeispiel den Vorteil, dass pro Zeile 2 lediglich zwei Teilbereiche statt drei Teilbereichen benötigt wird, was den Gesamtspeicherbedarf reduziert.

In Figur 3 ist ein besonders bevorzugtes Ausführungsbeispiel einer möglichen Speicherstruktur zur Realisierung der

Erfindung dargestellt. Figur 3 zeigt einen Beziehungsspeicher

6, der eine Mehrzahl von Zeilen 2 umfasst. Jede der Zeilen 2 umfasst einen ersten Teilbereich 3 und einen zweiten

Teilbereich 4. In diesem Beziehungsspeicher 6 werden wie bereits beschrieben Beziehungen durch jeweils zwei

abgespeicherte Verweise realisiert, wobei diese Verweise vorzugsweise Speicheradressen darstellen.

In der Figur 3 ist ferner eine Mehrzahl von Datenspeichern 7 gezeigt. Jeder der Datenspeicher 7 umfasst in bekannter Weise eine Mehrzahl von Zeilen. Jeder der Zeilen weist einen ersten

Teilbereich 7-1 und einen zweiten Teilbereich 7-2 auf. In dem ersten Teilbereich 7-1 werden Adressen des Beziehungsspeichers

6 abgelegt. In dem zweiten Teilbereich 7-2 werden die

eigentlichen Daten abgespeichert . Gemäß einer möglichen

Ausführungsform werden in dem ersten Teilbereich 7-1 des

Datenspeichers Adressen abgespeichert, die sich auf den

Beziehungsspeicher 6 beziehen. Wird ein Datum abgespeichert, so wird dieses in dem zweiten Teilbereich einer freien Zeile eines Datenspeichers 7 abgelegt. Außerdem wird in dem

Beziehungsspeicher 6 eine Zeile 2 diesem Datum zugeordnet. In dem Beziehungsspeicher 6 selbst wird kein Wert in dieser dem Datum zugeordneten Zeile 2 abgespeichert . Jedoch wird die Adresse der zugeordneten Zeile 2 des Beziehungsspeichers 6 in einem Teilbereich 7-1 des Datenspeichers 7 abgespeichert . Dies erfolgt in dem Teilbereich 7-1 derjenigen Zeile des

Datenspeichers 7, in welcher in dem zweiten Teilbereich 7-2 das Datenwort abgespeichert worden ist. Soll ein Datum in dem Datenspeicher abgespeichert werden, so wird bspw. hierfür die mit der Adresse Al adressierbare Zeile des BeziehungsSpeichers diesem Datum zugeordnet. Es wird dann die Adresse Al in eine leere Zeile des Datenspeichers 7 in dem ersten Teilbereich 7-1 eingeschrieben und es wird in den zweiten Teilbereich 7-2 dieser Zeile das eigentliche Datum abgespeichert .

Die in Figur 3 gezeigte Speicherstruktur hat den Vorteil, dass der Beziehungsspeicher 6 vollständig von dem Datenspeicher 7 getrennt ist. In dem Beziehungsspeieher 6 sind folglich lediglich Beziehungen abgespeichert . Diese Beziehungen sind vollständig unabhängig von der Art und dem Inhalt eines einzelnen Datums . Das Datum selbst wird in einem Datenspeicher

7 oder in mehreren Datenspeichern 7 abgespeichert . Dadurch, dass in dem Beziehungsspeicher 6 lediglich Beziehungen

abgespeichert sind, kann der Beziehungsspeicher 6 sehr

effizient genutzt werden. Insbesondere führt diese strikte Trennung zwischen Beziehungsspeicher und Datenspeicher zu einer deutlichen Reduzierung von Speicherplatz dadurch, dass jede Beziehung nur einmal abgespeichert werden muss . Bspw. gibt es Daten, die denselben Inhalt bzw. dieselbe Bedeutung haben, jedoch in unterschiedlichen Worten und/oder Sprachen und/oder durch unterschiedliche Ausdrucksmittel wie Text,

Sprache, Graphik, etc. ausgedrückt werden können und in mehreren Repräsentationen abgespeichert werden sollen. In diesem Fall ist also die konkrete Realisierung des Datums unabhängig von dessen Beziehungen innerhalb der Datenbank. Mittels der erfindungsgemäßen Datenbank ist es möglich, die konkreten Realisierungen eines Datums, das unterschiedlich ausgedrückt und/oder abgespeichert werden soll, jeweils in einem anderen Datenspeicher 7 abzulegen. Bspw. kann in einem ersten Datenspeicher ein Datum in Textform abgelegt werden und in einem zweiten Datenspeicher eine Wiedergabe dieses Datums als gesprochene Datei. Jeder der Datenspeicher 7 kann für die besondere Art der Wiedergabe bzw. das Abspeichern von Daten optimiert sein bzgl. der Länge des jeweils zweiten

Teilbereichs 7-2 und auch bzgl. möglicher Verfahren zum

Einschreiben und Auslesen der Daten, inklusive möglicherweise vorteilhafter Vor- und Nachbearbeitungen, wie bspw. ein

Komprimieren einzelner Daten. Für die konkrete Ausgabe kann dann der entsprechende Datenspeicher 7 ausgewählt werden.

Gemäß einer möglichen Ausführungsform ist jedem Datum,

unabhängig von seiner Repräsentation, in jedem Datenspeicher 7 dieselbe Adresse des Beziehungsspeichers 6 zugeordnet und in dem ersten Teilbereich 7-1 der jeweiligen Zeile abgespeichert.

Der Beziehungsspeicher 6 abstrahiert also vollständig von einer eigentlichen Repräsentation der abzuspeichernden Daten. Je nach gewünschter Ein- und/oder Ausgabe kann der

entsprechende Datenspeicher 7 gewählt werden.

Bei der in Figur 3 gezeigten Ausführungsform können besonders vorteilhaft Eingabemodule und Ausgabemodule realisiert werden. Bspw. kann vorgesehen sein, dass jedem Eingabemodul ein spezieller Datenspeicher zugeordnet ist. Ebenso kann

vorgesehen sein, dass jedem Ausgabemodul mindestens ein

Datenspeicher zugeordnet ist. Wird mit der Datenbank nun in

Form von textbasierter Ein- und Ausgabe kommuniziert, so geschieht dies über ein hierfür vorgesehenes Eingabe- und

Ausgabemodul. Wird mit der Datenbank hingegen mittels

akustischer Informationen kommuniziert, so können hierfür spezialisierte Eingabe- und Ausgabemodule vorgesehen sein. Die Eingabe und Ausgabe von Daten erfolgt dann in einem für die jeweilige Ein- und Ausgabeform optimierten Datenspeicher 7.

Der eigentliche Beziehungsspeicher 6 bleibt hiervon jedoch unberührt . Dies gewährleistet eine Konsistenz der Beziehungen.

Wird nun bspw. eine textuelle Repräsentation eines speziellen Datums eingegeben und werden hierdurch Beziehungen innerhalb des Beziehungsspeichers 6 verändert, so wird damit automatisch der Beziehungsspeicher 6 für alle anderen möglichen

Repräsentationen dieses Datums aktualisiert.

Besonders die in Figur 3 dargestellte Ausführungsform zeigt deutlich, dass erfindungsgemäß eine Trennung des

Beziehungsspeichers 6 von einem oder mehreren Datenspeichern 7 realisiert wird, die einerseits eine hohe Datenkonsistenz garantiert und andererseits eine Optimierung der Datenbank bezüglich Ein- und Ausgabegeschwindigkeit und des benötigten Speicherplatzes ermöglicht .

In Figur 4 ist ein vereinfachtes Ablaufdiagramm für eine mögliche Ausführungsform des erfindungsgemäßen Verfahrens im

Hinblick auf das Abspeichern von Daten und Beziehungen

skizziert. In einem Schritt 100 wird zunächst ein Eingabemodul gewählt. Das Modul kann bspw. in Form einer Eingabemaske realisiert sein, mittels der bspw. Kundendaten in einem Unternehmen abgespeichert werden sollen. In diesem Formular sind einzelne Textfelder für die Eingabe vorgesehen. Diese Textfelder stehen miteinander in Beziehung. Bspw. besteht eine

Beziehung zwischen dem Oberbegriff „Adresse" und einem

„Namen", einer „Straße", einem „Wohnort", einer

„Telefonnummer", einer Person. Diese Beziehungen sind in der erfindungsgemäßen Datenbank abgespeichert und werden beim Aufruf des Eingabemoduls aus der Datenbank ausgelesen, sofern das Eingabemodul bereits vorhanden ist. Dieses Vorhandensein wird in einem Verfahrensschritt 101 zunächst geprüft. Ist das Eingabemodul noch nicht vorhanden bzw. noch nicht bei der

Datenbank angemeldet, so wird dies in einem Schritt 102 durchgeführt . Bspw. wird hierzu für das Eingabemodul ein

Datenspeicher initialisiert und es wird in dem

Beziehungsspeicher eine Zeile diesem Eingabemodul zugeordnet . Das Eingabemodul wird folglich aus der Sicht des

Beziehungsspeichers genauso behandelt wie ein Datum.

In einem Schritt 103 wird nun die dem Eingabemodul zugeordnete Adresse des Beziehungsspeichers 6 als Ausgangspunkt innerhalb des Beziehungsspeichers 6 gewählt . Hierzu kann ein Register vorgesehen sein, in welchem stets eine für die Bearbeitung aktuelle Adresse innerhalb des Datenspeichers 6 abgespeichert ist .

In einem Schritt 104 erfolgt nun die Dateneingabe bspw.

mittels des Eingabeformulars . Ist die Eingabe beendet, so werden die Daten an die Datenbank übersandt. In der Datenbank werden nun die Daten und die Beziehungen auf deren

Vorhandensein geprüft . Wenn eine Beziehung oder ein Datum nicht vorhanden ist, so wird ein entsprechender Eintrag vorgenommen. Hierbei ist es denkbar, dass die Datenbank eine Prüfung vornimmt um festzustellen, ob ein Datum oder eine Beziehung möglicherweise fehlerhaft ist. Bspw. prüft die

Datenbank zunächst in einem Schritt 105, ob ein bestimmtes

Datum bereits vorhanden ist. Ist dies der Fall, so werden in einem Schritt 106 mögliche Beziehungen dieses Datums

herausgesucht, um eine Prüfung auf Korrektheit zu ermöglichen. Es kann auch vorgesehen sein, lediglich einen aktuellen Zeiger auf die diesem Datum zugeordnete Zeile in dem

Beziehungsspeicher 6 zu setzen.

Ist das Datum noch nicht vorhanden, so wird in einem Schritt

107 zunächst eine freie Speicherzelle des Beziehungsspeichers 6 diesem Datum zugeordnet und die Adresse dieser Speicherzelle wird in dem diesem Eingabemodul zugeordneten Datenspeicher 7 an einer freien Stelle in dem ersten Teilbereich 7-1

abgespeichert . Das eigentliche Repräsentation des Datums wird dann in dem zweiten Teilbereich 7-2 dieser Zeile

abgespeichert .

In einem Schritt 108 wird nun geprüft, ob weitere Daten mittels des Eingabemoduls übergeben worden sind und deshalb bearbeitet werden müssen . Ist dies der Fall, so wird zu dem

Schritt 105 zurückverzweigt und es werden weitere Daten bearbeitet . Ist dies nicht der Fall, so wird in einem Schritt 109 geprüft, ob mittels des Eingabemoduls eine neue Beziehung angegeben wurde, bspw. dadurch, dass das Eingabemodul

verändert worden ist. In dem Schritt 109 kann ferner

vorgesehen sein, innerhalb des Datenspeichers 6 zu prüfen, ob aufgrund der bisher erfolgten Dateneingabe eine Aktualisierung der internen Beziehungen erfolgen soll . Dies kann an dem vorgenannten Beispiel dann auftreten, wenn ein Name oder eine Adresse eingegeben worden ist, die bereits mit einem anderen

Eingabemodul ebenfalls abgespeichert worden ist . Dies

bedeutet, dass die einzelnen Adressdaten eine Beziehung zu einem anderen Eingabemodul in dem Beziehungsspeicher 6 haben .

Sind bei der bereits mittels eines anderen Eingabemoduls eingegebenen Adresse weitere Daten oder leicht abweichende

Daten vorhanden, so kann dies einem Benutzer der Datenbank angezeigt werden und er kann zur Korrektur oder Übernahme der Daten aufgefordert werden .

Wurde mittels des Eingabemoduls keine neue Beziehung

eingegeben und ist keine Beziehung zu aktualisieren, so kann das Verfahren in einem Schritt 114 beendet werden. Ist jedoch eine Beziehung zu aktualisieren, so wird in einem Schritt 110 zunächst geprüft, ob diese Beziehung bereits vorhanden ist. Diese Prüfung kann - wie vorhin beschrieben - ebensogut auch in dem Schritt 109 erfolgen. Ist eine Beziehung noch nicht vorhanden, so wird diese nun erzeugt. Eine Beziehung wird dadurch realisiert, dass zwei Speicheradressen zusammen in einer Zeile des Beziehungsspeichers 6 abgespeichert werden .

Dies ermöglicht eine vollständig abstrakte Darstellung von Beziehungen innerhalb der Datenbank. Es hat sich gezeigt, dass eine Mehrzahl der Beziehungen in dem Beziehungsspeicher

Beziehungen zwischen anderen Beziehungen sind. Es entsteht damit folglich ein multidimensionaler Beziehungsbaum, der in dem Beziehungsspeicher 6 abgebildet ist. Um festzustellen, ob ein Datum mit einem anderen in Beziehung steht, kann dieser

Baum untersucht werden. Eine besonders schnelle Suche lässt sich durch die erfindungsgemäße Vorrichtung realisieren, in welcher die erfindungsgemäße Speicherstruktur in Hardware nachgebildet wird.

In Figur 5 ist ein vereinfachtes Diagramm gezeigt, das die der Datenbank zugrundeliegende Struktur skizziert. Der

grundlegende Gedanke der erfindungsgemäßen Datenbank ist,

Beziehungen als ein Tupel von drei Elementen darzustellen, wobei ein Element die jeweilige Beziehung identifiziert. Diese ID der Beziehung entspricht vorzugsweise der Adresse der Zeile innerhalb des Beziehungsspeichers, die dieser Beziehung zugeordnet ist . Die beiden anderen Einträge des drei Elemente umfassenden Tupels sind die Adressen derjenigen

Speicherzellen, zwischen denen eine Verbindung besteht. Bspw. ist die Adresse Al einem bestimmten Eingabemodul zugeordnet. Durch die Zeile mit der Adresse Al in dem Beziehungsspeicher 6 wird eine Beziehung zwischen den Speicherzellen mit den

Adressen A2 und A3 hergestellt. Dies ist in Figur 5 durch die entsprechenden Einträge in dem Beziehungsspeicher 6

beispielhaft gezeigt. Die Speicherzelle mit der Adresse A2 beinhaltet eine Beziehung zwischen den Speicherzellen A4 und A5. In den Speicherzellen mit den Adressen A4 und A5 sind keine Einträge vorhanden. Dies bedeutet, dass hier keine weiteren Beziehungen mehr anknüpfen, sondern dass diese nun direkt Daten repräsentieren . Diese Daten sind in dem dem betreffenden Eingabemodul zugeordneten Datenspeicher 7 abgespeichert . Dies ist ebenfalls in Figur 5 grafisch

veranschaulicht . Dort ist ein erstes Datum Datal

abgespeichert. Diesem Datum Datal ist die Speicherzelle mit der Adresse A4 zugeordnet . Ein weiteres Datum Data2 ist ebenfalls in dem Datenspeicher 7 abgespeichert . Diesem Datum ist die Speicherzelle mit der Adresse A5 in dem

Beziehungsspeicher zugeordnet. Diese beiden Daten stehen folglich miteinander in Beziehung und stehen ebenfalls mit den Beziehungen an den Adressen Al und A2 in Beziehung.

Die mit der Adresse A2 in Beziehung stehende Speicheradresse A3 hat wiederum eine Beziehung zum Inhalt. Dort ist eine Beziehung zwischen den Speicherzellen mit den Adressen A6 und A7 abgespeichert.

Die ID mit der Adresse A6 repräsentiert ein weiteres Datum Data3, welches ebenfalls in dem Datenspeicher 7 abgespeichert ist.

In der Speicherzelle mit der Adresse A7 ist eine Beziehung zwischen den Speicherzellen mit den Adressen A8 und A9 abgespeichert . Die Speicherzellen mit den Adressen A8 und A9 repräsentieren weitere Daten Data4 und DataS, die miteinander in Beziehung stehen.

Mit der in Figur 5 gezeigten Struktur ist eine Vielzahl von Beziehungen aus der realen Welt, die in eine Datenbank abgespeichert und damit in der Datenbank abgebildet werden sollen, beschreibbar. Diese sehr abstrakte Art der

Beschreibung von Beziehungen wird erfindungsgemäß durch das

Verfahren und die Vorrichtung, die sowohl in Software als auch in Hardware realisiert sein kann, ermöglicht. Dadurch wird eine vollständige Trennung von den Beziehungen einerseits und den eigentlichen Daten andererseits erreicht.

Ein weiterer Vorteil der Trennung zwischen den eigentlichen

Daten und den Beziehungen sowie der Realisierung der

Beziehungen durch Adressen besteht darin, dass jeder beliebige Punkt innerhalb der durch die Beziehungen realisierten

mehrdimensionale Struktur als Startpunkt herangezogen werden kann, um innerhalb der Datenbank einen Eintrag zu suchen, einen Zusammenhang herzustellen oder eine neue Beziehung bzw. ein neues Datum abzuspeichern. Die einheitliche Struktur ermöglicht es auch auf besonders effiziente Weise, über den Beziehungen Mengen zu bilden, beispielsweise

Vereinigungsmengen, Schnittmengen, Ähnlichkeitsmengen und/oder

Wahrscheinlichkeitsmengen .

Sowohl im Datenspeicher als auch in dem Beziehungsspeicher lassen sich aufgrund der abstrakten Struktur mittels allgemeingültiger Berechnungen Aussagen erzeugen, neues Wissen generieren und/oder abgespeicherte Daten und Beziehungen verifizieren. Ausgehend von dem in Figur 4 gezeigten Beispiel könnte beispielsweise nach oder während der Eingabe von Daten, welche eine andere Person betreffen, vorgesehen sein,

Gemeinsamkeiten und/oder Unterschiede der jeweiligen Daten und/oder der jeweiligen Beziehungen zu ermitteln und somit Korrekturvorschläge anzubieten bzw. sogar bereits bei der Dateneingabe Werte und/oder Beziehungen vorzuschlagen, welche mit hoher Wahrscheinlichkeit den einzugebenden Daten und/oder Beziehungen entsprechen .

Eine besonders vorteilhafte Ausführungsform der

erfindungsgemäßen Vorrichtung ermöglicht eine Abbildung der

Speicherstruktur direkt in Hardware. Dies erhöht deutlich die Verarbeitungsgeschwindigkeit innerhalb der Datenbank, da die hierzu notwendigen einzelnen Speicherbausteine sehr direkt mit einander kommunizieren können . Die notwendige Logik kann sehr klein gehalten werden, was eine sehr schnelle Suche innerhalb der Datenbank sowie ein sehr schnelles Abspeichern und

Abfragen von Daten ermöglicht .

In Figur 6 ist ein Ausführungsbeispiel einer in Hardware realisierten erfindungsgemäßen Datenbank gemäß einer

Ausführungsform gezeigt, welche bezüglich der grundlegenden Funktionalität dem in Figur 3 gezeigten Ausführungsbeispiel entspricht. Der in Figur 6 gezeigte Beziehungsspeieher 6 umfasst zwei adressierbare Speicherelemente M3, M4, mit welchen die Funktionalität der beiden Teilbereiche 3 und 4 des

Beziehungsspeichers 6 realisiert werden. Als adressierbare Speicherelemente M3, M4 können beispielsweise Festplatten oder sogenannte RAM-Laufwerke eingesetzt werden. Gemäß der in den Figuren 6 und 7 gezeigten Ausführungsbeispiele werden als Speicherelernente RAM-Bausteine verwendet, welche eine

besonders kurze Zugriffszeit aufweisen. Die maximale Anzahl der adressierbaren Daten wird durch die Adressbreite, also der maximalen Anzahl möglicher Adressen bestimmt. Ober eine

Adressleitung 8 und eine Datenleitung 9 sind die

Speicherelemente bzw. die RAM-Bausteine M3, M4 des

Beziehungsspeichers 6 mit einem Logikelement 10 verbunden . Da in dem Beziehungsspeicher 6 die Beziehungen in Form von

Speicheradressen Al, A2, ... abgespeichert werden, sind die RAM-

Bausteine M3, M4 quadratisch aufgebaut, sodass die Datenbreite der Adressbreite entspricht.

Figur 6 zeigt ferner eine Mehrzahl von Datenspeichern 7, welche ebenfalls jeweils zwei RAM-Bausteine M7-1 und M7-2 aufweisen. Die Funktionalität der Datenspeicher 7 entspricht der in Figur 3 gezeigten Ausführungsform. Jeder Datenspeicher 7 bzw. jeder Teilbereich 7-1 und 7-2, welcher durch die jeweiligen RAM-Bausteine M7-1 und M7-2 realisiert wird, ist ebenfalls über eine Adressleitung 8 und eine Datenleitung 9 mit dem Logikelement 10 verbunden . Gemäß einem möglichen

Ausführungsbeispiel besitzen sämtliche RAM-Bausteine (M3, M4, M7-1, M7-2 dieselbe Adress- bzw. Datenbreite. Dies ermöglicht eine besonders effiziente Realisierung des Logikelements 10. Das Logikelement 10 weist ferner eine Datenleitung für einen

Dateneingang 11 und eine Datenleitung für einen Datenausgang 12 auf. Soll ein Datum oder eine Beziehung abgespeichert werden, so überprüft das Logikelement 10 zunächst, ob dieses über den Dateneingang 11 erhaltene Datum bzw. diese Beziehung bereits vorhanden ist . Falls dies nicht der Fall ist,

ermittelt das Logikelement 10 die Adresse Al, A2, ... einer freien Speicherzeile 2 in dem Beziehungsspeicher 6. Falls eine Beziehung abgespeichert werden soll, so erfolgt dies in den beiden RAM-Bausteinen M3 und M4 an der durch das Logikelement

10 ermittelten Adresse. Falls ein Datum abgespeichert werden soll, so veranlasst das Logikelement 10, dass die ermittelte

Adresse in dem den ersten Teilbereich 7-1 realisierenden RAM

M7-1 des Datenspeichers 7 und das eigentliche Datum in dem den zweiten Teilbereich 7-2 realisierenden RAM M7-2 abgespeichert wird. Die Wahl des Datenspeichers 7 erfolgt - wie weiter oben bereits beschrieben - beispielsweise in Abhängigkeit von dem jeweiligen Eingabemodul . Außerdem kann in Abhängigkeit von dem aktuellen Eingabemodul eine Startadresse in dem

Beziehungsspeicher 6 gewählt werden um zu überprüfen, ob eine abzuspeichernde Beziehung bereits vorhanden ist.

In Figur 7 ist eine weitere mögliche Ausführungsform einer

Realisierung der Erfindung in Hardware gezeigt. Diese

Ausführungsform entspricht zunächst konzeptionell der in Figur

2 gezeigten Ausführungsform, bei welcher sowohl die Daten als auch die Beziehungen in demselben Speicherbereich abgespeichert werden, weist jedoch zusätzlich ein Index-

Register 14 auf. Das Index-Register 14 weist drei RAM-

Bausteine 15, 16, 17 auf, welche über eine Adressleitung 8 und eine Datenleitung 9 mit einem Teilbereich 10-2 des

Logikelements 10 verbunden sind. Mittels des Index-Registers 14 kann für jeden Speicherplatz des Beziehungsspeichers 6 (welcher durch eine Adresse bestimmt wird) die jeweils vorausgehende Adresse (also ein Speicherplatz, welcher auf diesen bestimmten Speicherplatz verweist) sowie eine

nachfolgende Adresse abgespeichert werden, wodurch eine verkettete Liste realisiert wird. Ausgehend von dem in Figur 5 gezeigten Beispiel könnte beispielsweise für die Adresse A3 des Beziehungsspeichers in dem RAM-Baustein 16 die Adresse abgespeichert werden, welche auf den Speicherplatz A3

verweist. Dies ist die Adresse Al. In dem RAM Baustein 17 könnte diejenige Adresse des Beziehungsspeichers 6 abgelegt werden, auf welche von der Adresse A3 verwiesen wird. Dies wäre also die Adresse A7. Damit realisieren die beiden RAM-

Bausteine 16 und 17 also die doppelt verkettete Liste.

Bei der in Figur 7 gezeigten Ausführungsform weist das Index- Register 14 zusätzlich RAM-Bausteine 15 und 18 auf. Ferner ist dem Beziehungsspeicher 6 zusätzlich ein RAM-Baustein 13 zugeordnet. Damit wird folgendes erreicht: Mittels des RAM-

Bausteins 13 wird jeder Adresse des Beziehungsspeichers 6 eine freie Speicherstelle in dem Index-Register 14 zugeordnet.

Werden Daten oder Beziehungen in dem Beziehungsspeicher 6 und ggfs . in dem Datenspeicher 7 abgelegt, welche auf eine bestimmte Adresse innerhalb des Beziehungsspeichers 6 verweisen, so wird in dem Index-Register 14 eine neue

Speicherstelle innerhalb des RAM-Bausteins 15 reserviert und es wird die Ursprungsadresse darin abgelegt. Der RAM-Baustein 18, welcher über eine Datenleitung 19 mit dem Teilbereich 10-2 des Logikelements 10 verbunden ist, realisiert ein sogenanntes Flag-Array und gibt für jede in dem RAM-Baustein 15 abgelegte Adresse an, ob es sich hierbei um einen Verweis bezüglich des ersten Teilbereichs 3 oder des zweiten Teilbereichs 4 des

Beziehungsspeichers 6 handelt.

Sowohl die in den Figuren 1 bis 5 als auch die in den Figuren 6 und 7 gezeigten Ausführungsformen sind lediglich

Ausführungsbeispiele zu verstehen. Beispielsweise könnten vorgesehen sein, den explizit in den Figuren 6 und 7

dargestellten Datenspeicher 7 analog zu der in Figur 2

gezeigten implizit in den Beziehungsspeicher 6 zu integrieren, wobei im Falle eines abzuspeichernden Datums dieses Datum dann beispielsweise stets in den RAM-Baustein 4 abgespeichert wird.

Ferner kann in der Speicherstruktur für den Datenspeicher 6 und ggfs, für das Index-Register 14 ein Zuweisungsspeicher vorgesehen sein, der auf Anfrage die nächste freie Adresse in dem Datenspeicher 6 bzw. dem Index-Register 14 zurückliefert.

Hierdurch wird das Logikelement 10 entlastet und ein nochmals schnelleres Einschreiben und Löschen von Daten und Beziehungen erreicht .