WO2020094175A1 - Verfahren und vorrichtung zum speichern von daten und deren beziehungen - Google Patents

Verfahren und vorrichtung zum speichern von daten und deren beziehungen Download PDF

Info

Publication number
WO2020094175A1
WO2020094175A1 PCT/DE2019/100829 DE2019100829W WO2020094175A1 WO 2020094175 A1 WO2020094175 A1 WO 2020094175A1 DE 2019100829 W DE2019100829 W DE 2019100829W WO 2020094175 A1 WO2020094175 A1 WO 2020094175A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
data
date
relationship
data2
Prior art date
Application number
PCT/DE2019/100829
Other languages
English (en)
French (fr)
Inventor
Lea Kelbsch
Original Assignee
Lea Kelbsch
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 Lea Kelbsch filed Critical Lea Kelbsch
Priority to EP19783200.9A priority Critical patent/EP3877866A1/de
Publication of WO2020094175A1 publication Critical patent/WO2020094175A1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures

Definitions

  • the invention relates to a method for storing
  • the invention further relates to a database for storing at least two data related to one another.
  • the invention also relates to a
  • Computer program that can be executed on a computer.
  • Database and the software referred to as database management system are generally provided for the input and output as well as the administration of the data stored in the database, which in particular enables clearly defined access to the content of the database.
  • Relational databases are organized as a variety of tables, with each row of a table having one
  • Tables are expressed.
  • the basic structure of a relational database is that the interrelated data is stored within a row of a table.
  • ERP Entity Relationship Model
  • the object of the invention is to provide a way for that
  • the object is achieved by a method having the features of independent claim 1.
  • the object is further achieved by a memory arrangement and by a computer program in accordance with the further independent patent claims.
  • a special feature of the present invention is that the data and the relationships between individual items of this data are stored separately.
  • the relationships are formed by the references in such a way that the relationships of a plurality of data which are related to one another can be stored, although these relationships are only stored in pairs. This can be implemented in different embodiments, as is also described below.
  • a reference can in particular be a memory address which designates a memory location at which a date is located or at which another relationship is stored which relates at least indirectly to the respective date.
  • a reference can in particular be a memory address which designates a memory location at which a date is located or at which another relationship is stored which relates at least indirectly to the respective date.
  • Indirectly means here that a chain of possibly hierarchically ordered relationships ultimately to the
  • date and "relationship” can be understood very broadly in relation to the present invention. Neither the nature of a relationship nor the type of a date is specified. The invention even allows a date like that treat a relationship or treat a relationship like a date. This ensures that the
  • Storage methods according to the invention and the database according to the invention can be used for a large number of very different applications. For example, depending on the particular context or application in which the invention is used, a definition area of the term “date” and the term “relationship” can be determined.
  • Relationships of one level are treated as data in another level and vice versa.
  • Relationship is stored, also addressable, a first reference being stored in a first partial area and a second reference being stored in a second partial area.
  • These references are preferably implemented by memory addresses, which in turn refer to memory locations at which either a date or another relationship is stored in each case.
  • Partial areas for example always the first two, are provided for storing a relationship and a third partial area is reserved for storing a date.
  • Partial area no date can be saved. It is then clearly a storage space or one
  • Subarea of a line is stored, so in the other two subareas none realizing a relationship
  • this address could also be a reference to a relationship to a date or to another
  • Partial area used for storing the respective reference is described. However, if a date is saved, only one of the two sections is described. At this
  • Embodiment becomes the same functionality as the previous one described embodiment achieved, but less
  • Relationship storage area denotes, used and at least one other separate for storing the data
  • the relationship memory area comprises a plurality of addressable memory locations and each of these addressable memory locations comprises at least two partial areas for storing the two ones
  • the data storage area preferably comprises a plurality of addressable storage locations and each of these
  • addressable memory locations preferably also comprise at least two partial areas. If a date is now to be stored, it is stored in the subarea provided for storing data within the relevant line of the data storage area. The breadth of this
  • Partial area is adapted to the width of the data to be saved. At least when a date is first stored in the data storage area, an address is now additionally reserved in the relationship storage area. This address is stored in the second subarea of that line of the data storage area in which the date itself is also stored.
  • a plurality of data storage areas can be present in a database according to the invention. Different
  • Data storage areas can then be adapted to the data to be expected.
  • Input modules are preferably used for data input
  • the input modules taking into account the respective application and / or the type of data to be expected. Only in the input modules is there a specialization of the
  • Database system intended for a specific application. However, the database behind it is largely independent of the specific application and the type of data. In one embodiment, the
  • each input module can
  • multimedia content is stored in a different data area than measured values that belong to a specific application.
  • An address of the relationship memory area is preferably reserved for each available input module. This ensures that relationships between data and an input module can also be stored within the database.
  • Input modules can be saved within the database. As a result of the fact that a date can be assigned to an input module, further knowledge about the data is implicitly available.
  • Output modules are preferably used for data output
  • the output modules can thus also be assigned data in that they can have a relationship both to data and to relationships and of course also to input modules. Such relationships are the same within the database
  • Embodiments can be removed.
  • FIG. 1 shows a block diagram which shows a memory structure according to a first one which is suitable for carrying out the method according to the invention
  • FIG. 2 shows a block diagram which shows a memory structure according to a second one which is suitable for carrying out the method according to the invention
  • FIG. 3 shows a block diagram which is suitable for carrying out the method according to the invention
  • FIG. 4 shows the registration of
  • Figure 5 shows by means of a diagram
  • Figure 6 shows a preferred embodiment of a in
  • FIG. 1 shows a memory structure according to a possible embodiment.
  • a memory 1 comprises a plurality of lines 2, each line 2 comprising a first partial area 3, a second partial area 4 and a third partial area 5.
  • the first partial area 3 and the second partial area 4 are provided for storing references. These references
  • Subareas 3 and the second subarea 4 thus form a relationship memory 6.
  • the third subarea 5 is provided for the storage of data.
  • the entirety of the third partial areas forms a data memory 7.
  • Each line 2 is a unique address Al, A2, ...
  • Each of the lines 2 can be addressed in a known manner by means of these addresses and thus in particular enables read and write access to the lines 2 and the subareas contained therein.
  • Relationship memories 6 are dimensioned such that a memory address A1, A2,... Can be stored therein.
  • the third section 5 of the data memory 7 is dimensioned in dependence on the data to be stored therein such that the storage of an individual Date is ensured. If a date that is larger than the width of the third partial area should nevertheless be stored within the memory 1 during operation of a database that has been configured, then this can be done
  • Mechanisms can be provided, for example a division
  • the relationship memory 6 and the data memory 7 are thus implemented within a memory element, with one to be stored
  • a relationship is stored in that a reference to another line is stored in one line in the first partial area 3 and the second partial area 4.
  • a reference can in particular be the address of the relevant line. If, for example, a
  • Relationship between two data is stored, the address of the first date is stored in the first section of this line and the address of the second date in the second section.
  • Relationships between individual relationships and relationships between a relationship and a date can be saved in the same structure. If, for example, relationships are stored under the addresses A1 and A2, a relationship can be established again between these two relationships by the value A1 in the first partial area in another memory line and the value Al in the second
  • a relationship is to be saved in one line, the corresponding references or addresses are saved in the two subareas. If, on the other hand, a date is to be saved in one line, the second section is used for this. As a rule, this is wider than the first partial area, since it is assumed that the data to be stored are larger than the addresses to be stored. Whether a line is to be assigned to the relationship memory 6 or the data memory 7 depends on whether a value is stored in the first partial area. If this is the case, the line in question is part of the relationship memory 6.
  • the data memory 6 and the data memory 7 are formed within a common memory 6-7. Compared to that shown in Figure 1
  • Embodiment has that shown in Figure 2
  • Embodiment the advantage that only two sub-areas are required instead of three sub-areas per line 2, which reduces the total memory requirement.
  • FIG. 3 shows a particularly preferred exemplary embodiment of a possible memory structure for realizing the
  • Figure 3 shows a relationship memory
  • Each of the rows 2 comprises a first section 3 and a second
  • references realized preferably represent memory addresses.
  • a plurality of data memories 7 is also shown in FIG.
  • Each of the data memories 7 comprises a plurality of lines in a known manner.
  • Each of the lines has a first
  • Subarea 7-1 and a second subarea 7-2 In the first partial area 7-1 there are addresses of the relationship memory
  • Embodiment are in the first portion 7-1 of the
  • Relationship memory 6 assigned a line 2 to this date. No value is stored in the relationship memory 6 itself in this line 2 assigned to the date. However, the address of the assigned line 2 of the relationship memory 6 is stored in a partial area 7-1 of the data memory 7. This takes place in the partial area 7-1 of that line of the
  • the memory structure shown in FIG. 3 has the advantage that the relationship memory 6 is completely separated from the data memory 7. Consequently, only relationships are stored in the relationship memory 6. These relationships are completely independent of the type and content of a single date. The date itself is stored in a data store
  • the corresponding data memory 7 can then be selected for the specific output.
  • each date is
  • the same address of the relationship memory 6 is assigned in each data memory 7 and stored in the first partial area 7-1 of the respective line.
  • the relationship memory 6 thus abstracts completely from an actual representation of the data to be stored. Depending on the desired input and / or output, the
  • input modules and output modules can be implemented particularly advantageously. E.g. it can be provided that a special data memory is assigned to each input module. Likewise can
  • each output module has at least one
  • Acoustic information communicates specialized input and output modules can be provided for this.
  • the input and output of data then takes place in a data memory 7 optimized for the respective input and output form.
  • FIG. 3 clearly shows that a separation of the
  • Relationship memory 6 is realized by one or more data memories 7, which on the one hand guarantees high data consistency and on the other hand enables the database to be optimized with regard to input and output speed and the required storage space.
  • FIG. 4 shows a simplified flow diagram for a possible embodiment of the method according to the invention
  • an input module is first selected.
  • the module can be implemented in the form of an input mask, for example, by means of the customer data in one Companies should be saved.
  • individual text fields are provided for input. These text fields are related. E.g. there is one
  • Telephone number a person. These relationships are stored in the database according to the invention and are read out of the database when the input module is called up, provided that the input module is already present. This presence is first checked in a method step 101 not yet at the
  • Relationship memory one line assigned to this input module.
  • the input module is therefore from the point of view of the
  • Relationship memory treated the same way as a date.
  • a step 103 the address of the relationship memory 6 assigned to the input module is now selected as the starting point within the relationship memory 6.
  • a register can be provided in which an address that is current for processing is always stored within the data memory 6.
  • step 104 the data is input, for example.
  • a free memory cell of the relationship memory 6 is initially assigned to this datum and the address of this memory cell is in the data memory 7 assigned to this input module at a free location in the first partial area 7-1
  • a step 108 it is now checked whether further data have been transferred using the input module and must therefore be processed. If this is the case, it becomes
  • Step 105 branches back and further data are processed. If this is not the case, then in one step 109 checked whether a new relationship was specified by means of the input module, for example by the fact that the input module
  • step 109 further can
  • Input module has also been saved. This
  • Data available this can be displayed to a user of the database and he can be asked to correct or accept the data.
  • the method can be ended in a step 114. However, if a relationship is to be updated, it is first checked in a step 110 whether this relationship already exists. As previously described, this check can also be carried out in step 109. If a relationship does not yet exist, it is now created. A relationship is realized in that two memory addresses are stored together in one line of the relationship memory 6.
  • Relationships between other relationships are. As a result, a multidimensional relationship tree is created, which is mapped in the relationship memory 6. To determine whether one date is related to another, the latter can
  • a particularly fast search can be implemented by the device according to the invention, in which the memory structure according to the invention is simulated in hardware.
  • FIG. 5 shows a simplified diagram which outlines the structure on which the database is based.
  • Memory cells between which there is a connection E.g. the address A1 is assigned to a specific input module.
  • the line with the address A1 in the relationship memory 6 establishes a relationship between the memory cells with the
  • the memory cell with the address A2 contains a relationship between the memory cells A4 and A5. There are no entries in the memory cells with the addresses A4 and A5. This means that no further relationships are established here, but that these now directly represent data. This data is stored in the data memory 7 assigned to the relevant input module. This is also graphical in FIG. 5
  • Relationship memory allocated These two data are therefore related to each other and also related to the relationships at addresses A1 and A2.
  • the memory address A3 related to the address A2 in turn has a relationship to the content.
  • a relationship between the memory cells with the addresses A6 and A7 is stored there.
  • the ID with the address A6 represents another datum Data3, which is also stored in the data memory 7.
  • a relationship between the memory cells with the addresses A8 and A9 is stored in the memory cell with the address A7.
  • the memory cells with the addresses A8 and A9 represent further data Data4 and DataS, which are related to each other.
  • the structure shown in FIG. 5 can be used to describe a large number of relationships from the real world, which are stored in a database and are thus to be mapped in the database. This very abstract kind of
  • the method and the device which can be implemented both in software and in hardware, are made possible. This ensures a complete separation of the relationships on the one hand and the actual data on the other.
  • Relationships through addresses is that any point within the ones realized through the relationships
  • multi-dimensional structure can be used as a starting point to search for an entry within the database, to establish a connection or to save a new relationship or a new date.
  • the uniform structure also makes it possible to form sets over the relationships in a particularly efficient manner, for example
  • Both in the data store and in the relationship store can be due to the abstract structure general calculations generate statements, generate new knowledge and / or verify stored data and relationships. Based on the example shown in FIG. 4, it could be provided, for example, after or during the input of data relating to another person,
  • the device according to the invention enables imaging of
  • FIG. 6 shows an exemplary embodiment of a database according to the invention implemented in hardware according to a
  • Embodiment shown which corresponds to the basic functionality of the embodiment shown in Figure 3.
  • the relationship memory 6 shown in FIG. 6 includes two addressable memory elements M3, M4, with which the functionality of the two sub-areas 3 and 4 of
  • Relationship memory 6 can be realized.
  • hard disks or so-called RAM drives can be used as addressable storage elements M3, M4.
  • RAM modules are used as memory elements, which one
  • the maximum number of addressable data is determined by the address width, i.e. the maximum number of possible addresses. Above one
  • Address line 8 and a data line 9 are the same
  • Relationship memory 6 connected to a logic element 10. Since in the relationship memory 6 the relationships in the form of
  • Blocks M3, M4 have a square structure so that the data width corresponds to the address width.
  • FIG. 6 also shows a plurality of data memories 7, which also each have two RAM modules M7-1 and M7-2.
  • the functionality of the data memory 7 corresponds to the embodiment shown in FIG. 3.
  • Each data memory 7 or each subarea 7-1 and 7-2, which is implemented by the respective RAM modules M7-1 and M7-2, is also connected to the logic element 10 via an address line 8 and a data line 9. According to one possible
  • All RAM modules (M3, M4, M7-1, M7-2 have the same address or data width. This enables a particularly efficient implementation of the logic element 10.
  • the logic element 10 also has a data line for one
  • the logic element 10 determines the address A1, A2, ... of a free memory line 2 in the relationship memory 6. If a relationship is to be stored, this is done in the two RAM modules M3 and M4 by the logic element
  • the data memory 7 is selected, for example, as a function of the respective input module.
  • Relationship memory 6 can be selected to check whether a relationship to be saved already exists.
  • FIG. 7 shows a further possible embodiment of a
  • the index register 14 has three RAM
  • the index register 14 can be used for each memory location of the relationship memory 6 (which is determined by an address), the respective preceding address (ie a memory location which refers to this specific memory location) and one
  • the address which is in the memory location A3 could be stored in the RAM module 16, for example for the address A3 of the relationship memory
  • Blocks 16 and 17 are the double-linked list.
  • the index register 14 additionally has RAM modules 15 and 18. Furthermore, a RAM module 13 is additionally assigned to the relationship memory 6. This achieves the following: Using the RAM
  • Module 13 is assigned a free memory location in the index register 14 to each address of the relationship memory 6.
  • Relationship memory 6 acts.
  • FIGS. 6 and 7 could be provided
  • the data memory 7 shown is analogous to that in FIG. 2
  • this date then always being stored in the RAM module 4, for example, in the case of a date to be stored.
  • an allocation memory can be provided in the memory structure for the data memory 6 and, if necessary, for the index register 14, which returns the next free address in the data memory 6 or the index register 14 on request.
  • the logic element 10 is relieved and data and relationships can be written and erased even faster.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Um eine besonders effiziente Speicherstruktur zur Verfügung zu stellen wird vorgeschlagen, dass zum Speichern von mindestens zwei miteinander in Beziehung stehenden Daten (Data1, Data2,...) in einer eine Mehrzahl von Speicherplätzen umfassenden Datenbank (1), das erste Datum (Data1) 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 (Data1) oder auf eine Beziehung, die zumindest mittelbar mit dem ersten Datum. (Data1) 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.

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 .

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.
PCT/DE2019/100829 2018-11-09 2019-09-20 Verfahren und vorrichtung zum speichern von daten und deren beziehungen WO2020094175A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP19783200.9A EP3877866A1 (de) 2018-11-09 2019-09-20 Verfahren und vorrichtung zum speichern von daten und deren beziehungen

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102018128048.3 2018-11-09
DE102018128048.3A DE102018128048A1 (de) 2018-11-09 2018-11-09 Verfahren und Vorrichtung zum Speichern von Daten und deren Beziehungen

Publications (1)

Publication Number Publication Date
WO2020094175A1 true WO2020094175A1 (de) 2020-05-14

Family

ID=68158845

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2019/100829 WO2020094175A1 (de) 2018-11-09 2019-09-20 Verfahren und vorrichtung zum speichern von daten und deren beziehungen

Country Status (3)

Country Link
EP (1) EP3877866A1 (de)
DE (1) DE102018128048A1 (de)
WO (1) WO2020094175A1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005081845A2 (en) * 2004-02-20 2005-09-09 Intelitrac, Inc. Data driven database management system and method
US20160048517A1 (en) * 2014-08-12 2016-02-18 Ancestry.Com Operations Inc. System and method for identifying relationships in a data graph

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005081845A2 (en) * 2004-02-20 2005-09-09 Intelitrac, Inc. Data driven database management system and method
US20160048517A1 (en) * 2014-08-12 2016-02-18 Ancestry.Com Operations Inc. System and method for identifying relationships in a data graph

Non-Patent Citations (3)

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

Also Published As

Publication number Publication date
DE102018128048A1 (de) 2020-05-14
EP3877866A1 (de) 2021-09-15

Similar Documents

Publication Publication Date Title
EP0910829B1 (de) Datenbanksystem
EP0855062B1 (de) Informationssystem und verfahren zur speicherung von daten in einem informationssystem
DE60035432T2 (de) System zur verwaltung der rdbm fragmentierungen
DE10255128A1 (de) Computer-implementierte PDF-Dokumentenverwaltung
DE10040987B4 (de) Verfahren und Vorrichtung für übereinstimmende Aktualisierungen von redundanten Daten in relationalen Datenbanken
DE102016216843A1 (de) Verteiltes Zusammenführen von Dateien
DE10056763A1 (de) Generieren von Einschränkungsabfragen mit Hilfe von Tensordarstellungen
DE112010002620T5 (de) Ontologie-nutzung zum ordnen von datensätzen nachrelevanz
EP1276056A1 (de) Verfahren zum Verwalten einer Datenbank
DE19715723A1 (de) Array-Verfahren
EP1941395A1 (de) Verfahren zur steuerung eines relationalen datenbanksystems
WO2012017056A1 (de) Verfahren und vorrichtung zur automatischen verarbeitung von daten in einem zellen-format
WO2020094175A1 (de) Verfahren und vorrichtung zum speichern von daten und deren beziehungen
DE10056765A1 (de) Generieren von Statistiken für Datenbankabfragen mit Hilfe von Tensordarstellungen
EP1412875A2 (de) Verfahren zur verarbeitung von text in einer rechnereinheit und rechnereinheit
EP1099172B1 (de) Verfahren, anordnung und satz mehrerer anordnungen zur behebung mindestens einer inkonsistenz in einer datenbankmenge, die eine datenbank sowie mindestens eine kopiedatenbank der datenbank aufweist
DE60315030T2 (de) Vermeiden von datenverlusten beim aktualisieren eines data warehouse
EP1515244A2 (de) Abbildung einer Klassenhierarchie auf ein relationales Datenbanksystem
DE112018001458T5 (de) Elektronische datenbank und verfahren zu deren erstellung
EP2037375B1 (de) Verfahren zum Betreiben von Datenbanken
EP2136303B1 (de) Verfahren zum Steuern einer automatischen Aktualisierung von Datensichten in einem Computersystem
DE102018104437A1 (de) Computerimplementiertes Verfahren zum Abfragen von Daten
DE102021103571A1 (de) Relationales Datenbanksystem
DE2358689A1 (de) Verfahren und anordnung zur entwicklung einer funktionsspezifikation fuer ein rechnersystem
DE19726569C1 (de) Verfahren zum Zugriff auf eine Speichereinheit und Datenverarbeitungsanlage zum Eingeben einer Eingabefolge sowie zugehörige Speichereinheit

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19783200

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019783200

Country of ref document: EP

Effective date: 20210609