-
Die
Erfindung betrifft ein integriertes Datenbanksystem, bei dem zur
Durchführung
einer Datenverarbeitung eine Vielzahl verschiedener Datenbanken
genutzt wird.
-
Die
Notwendigkeit zum Teilen oder gemeinsamen Nutzen von Datenbanken
wird innerhalb einer Organisation, zwischen Organisationen oder
zwischen Einzelpersonen weit verbreitet praktiziert. Ferner werden
aufgrund der Verfügbarkeit
weiträumiger Netzwerke
auch Regionen, die eine Gruppe von Datenbanken teilen, vergrößert. In
einer solchen Umgebung wurden bereits verschiedene Versuche unternommen,
um ein Teilen und eine gemeinsame Nutzung von Datenbanken oder eine
praktische Kommerzialisierung innerhalb eines beschränkten Bereichs
zu realisieren.
-
Um
ein Teilen und eine gemeinsame Nutzung der Gruppe von Datenbanken
nicht nur innerhalb des vorstehend erwähnten beschränkten Bereichs
zu ermöglichen,
sondern auch in einem weiter gefassten Bereich, ist es notwendig,
ein Multi-Datenbanksystem zu realisieren, das für eine Umgebung geeignet ist,
in dem eine große
Anzahl von Datenbanksystemen über
ein weit verteiltes, schnelles Computernetzwerk verbunden sind.
Außerdem
müssen
die Kosten, die notwendig sind, um ein solches Multi-Datenbanksystem
aufzubauen, so niedrig wie möglich
sein, und muss darüber
hinaus das Multi-Datenbanksystem
in der Lage sein, nach der Einrichtung leicht modifizierbar zu sein,
und muss es im Hinblick auf Wartungserfordernisse flexibel sein.
-
Hierin
ist das "Multi-Datenbanksystem" ein allgemeiner
Begriff für
ein System, welches ein Teilen von Daten innerhalb eines verteilten
Systems oder in einem Netzwerksystem weiträumig realisiert. Die durch
das Multi-Datenbanksystem aufgebaute Umgebung wird als "Multi-Datenbank-Umgebung" bezeichnet.
-
Wenn
jedoch eine Datenbank geteilt und gemeinsam genutzt wird, treten
im allgemeinen die folgenden Probleme auf:
- 1.
In verschiedenen Datenbanken enthaltene Daten können auch dann verschiedene
Bedeutungen haben, wenn die Daten durch die selbe Repräsentationsform
repräsentiert
werden;
- 2. Im Gegensatz zu dem vorstehend erwähnten Problem 1 können in
verschiedenen Datenbanken enthaltene Daten auch dann durch verschiedene Formen
bzw. Stile repräsentiert
werden, wenn die Daten dieselbe Bedeutung haben;
- 3. Obwohl eine herkömmliche
Art und Weise des Kombinierens von Daten zwischen verschiedenen
Datenbanken möglich
ist, sind die Repräsentationsformen
in Bezug auf kombinierende Attribute verschieden. Hierin bedeutet
die herkömmliche
Art und Weise des Kombinierens von Daten das Kombinieren einer durch
Muster- bzw. Strukturübereinstimmung
realisierten Verarbeitung, die durch das konventionelle Datenbanksystem durchgeführt wurde,
und bedeuten die kombinierenden Attribute zur Zeit des Kombinierens
interessierende Attribute;
- 4. Einer Integration unterworfenen Datenbanken mangelt es an
notwendigen Daten für
den Kombinationsprozess; und
- 5. Auch dann, wenn verschiedene Arten von mehreren Datenbanken
kombiniert werden, können aus
diesen keine neuen Daten generiert werden.
-
Als
eine teilweise Lösung
der vorstehend beschriebenen Probleme 1 bis 4 wurden konventionell die
folgenden Prozesse ausgeführt.
- 1) Um den Unterschied in Bedeutungen der Daten,
den Unterschied in den Repräsentationsformen,
den Unterschied in den kombinierenden Attributen und dergleichen
zu transformieren oder zu absorbieren, werden Codes in ein Anwendungsprogramm
integriert; und
- 2) Um fehlende Daten zu kompensieren, werden die fehlenden Daten
in das Anwendungsprogramm als Daten oder als ein konstanter Wert integriert,
oder wird alternativ eine Datenbank, die die fehlenden Daten kompensiert,
neu hinzugefügt.
-
Als
Ergebnis der vorstehenden Lösung
werden jedoch weiter die folgenden Probleme aufgeworfen.
- 6. Das vorstehend erwähnte Anwendungsprogramm wird
jedes Mal dann unabhängig
generiert, wenn ein Befehl mit Bezug zu dem Teilen oder zu der gemeinsamen
Verwendung der Datenbank gesendet wird; folglich braucht das Antworten
auf den Befehl Zeit;
- 7. Wenn der vorstehend erwähnte
Befehl mit Bezug zu dem Teilen und zu der gemeinsamen Verwendung
der Datenbank geändert
wird, ist es für die
meisten Fälle
schwierig oder unmöglich,
das vorstehend erwähnte
Anwendungsprogramm wiederzuverwenden.
-
Ein
Artikel von Huang J. W. mit dem Titel "Multibase: A Heterogeneous Multidatabase
Management System",
Proceedings of the Annual International Computer Software and Applications
Conference (COMPSAC), Taipei, 9. bis 11. November 1994, Nr. CONF
18, 9.November 1994, Seiten 332 bis 339, XP000531333, IEEE, offenbart
ein heterogenes Multi-Datenbank-Verwaltungssystem mit Client-, Server-
und internen (Agenten-) Schichten. Client-Abfragen werden in der
Serverschicht gesammelt bzw, kompiliert, und ein physikalischer
lokaler Datenbankzugriff wird in der Agentenschicht in Antwort auf
die kompilierten Abfragen durchgeführt.
-
Die
US-Patentspezifikation Nr. US-A-5 475 836 (Lotus Development Corporation)
offenbart eine Schnittstelle, welche auf eine Vielzahl von externen Datenbanken über eine
Vielzahl von Treibern zugreifen kann. Jeder Treiber ist einer bestimmten
Gruppe von Datenbanken zugeordnet.
-
Die
Erfindung kann ein integriertes Datenbanksystem bereitstellen, das
in der Lage ist, gewünschte
Informationen aus einer Vielzahl von verschiedenen Datenbanken durch
Kombinieren notwendiger Datenbanken zu holen.
-
Die
Erfindung kann ein integriertes Datenbanksystem bereitstellen, welches
einen durch Benutzer durchgeführten
Wiedergewin nungs- oder Holvorgang unabhängig von Unterschieden oder Änderungen
in der Struktur des Datenbanksystems standardisieren kann.
-
In Übereinstimmung
mit einem Aspekt der Erfindung wird ein Datenverarbeitungssystem
wie in Patentanspruch 1 dargelegt bereitgestellt.
-
Ferner
wird in Übereinstimmung
mit einem anderen Aspekt der Erfindung ein Datenverarbeitungsverfahren
wie in Patentanspruch 10 dargelegt bereitgestellt.
-
Das
folgende Dokument wird für
einen Startpunkt zum Verstehen der beanspruchten Erfindung als nützlich erachtet:
Huang J. W.: "MULTIBASE:
A HETEROGENEOUS MULTIDATABASE MANAGEMENT SYSTEM", PROCEEDINGS OF THE ANNUAL INTERNATIONAL
COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE (COMPSAC), TAIPEI,
9. BIS 11. NOVEMBER 1994, NR. CONF 18, 9.NOVEMBER 1994, SEITEN 332
BIS 339, XP000531333, IEEE. Dieses Dokument offenbart eine Multi-Datenbank
mit dem Ziel, eine Standardschnittstelle mit hoher Transparenz von
Netzwerken und lokalen Datenbanken für Benutzer zum Zugreifen auf
verteilte Datenbanken bereitzustellen. Die Multidatenbank basiert
auf einer Dreischicht-Architektur. Die Aussenschicht wird als der
Client bezeichnet, die Mittenschicht wird als der Server bezeichnet, und
die Innenschicht wird als der Agent bezeichnet. Von den Clients
ausgegebene Abfragen werden kompiliert bzw. gesammelt, und die Ausführung der kompilierten
Abfragen wird gesteuert und durchgeführt. Am Ende des Agenten wird
ein physikalischer lokaler Datenbankzugriff durchgeführt. Vgl.
D1, Seite 332, linke Spalte, Zeile 1, rechte Spalte, Zeile 16.
-
Ferner
wird in Übereinstimmung
mit einem Aspekt der Erfindung ein Datenverarbeitungsverfahren eines
Datenverarbeitungssystems bereitgestellt, das in der Lage ist, auf
mehrere Arten von Datenbanken Bezug zu nehmen, wobei das Datenverarbeitungssystem
ein System einer oberen Ebene und ein System einer unteren Ebene
beinhaltet, umfassend: einen Steuerdatenausgabeschritt des, in der
oberen Ebene, Interpretierens einer Anfrage, die durch eine erste
Repräsentationsform
repräsentiert
wird und an eine der mehreren Arten von Datenbanken gerichtet ist,
und Ausgebens von Steuerdaten, die durch eine zweite Repräsentationsform
repräsentiert
werden; einen Befehlsausgabeschritt des, in der unteren Ebene, Transformierens
der durch die zweite Repräsentationsform
repräsentierten
Steuerdaten in einen Steuerbefehl entsprechend zu der Art einer
Datenbank und Ausgebens des transformierten Steuerbefehls an zumindest
eine der mehreren Arten von Datenbanken; einen Antwortschritt des,
in dem System der unteren Ebene, Versorgens des Systems der oberen
Ebene mit einem Prozessergebnis des Steuerbefehls, der von zumindest
einer der mehreren Arten von Datenbanken erhalten wurde, als eine
durch die zweite Repräsentationsform
repräsentierte
Antwort; und einen Ausgabeschritt des, in dem System der oberen
Ebene, Empfangens, von dem System der unteren Ebene, der Antwort
auf die durch die zweite Repräsentationsform
repräsentierten
Anfrage, Transformierens der Antwort in die erste Repräsentationsform,
und Ausgebens der transformierten Antwort.
-
Nachstehend
werden Ausführungsbeispiele der
Erfindung unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
Es zeigen:
-
1 ein
Diagramm, das einen Aufbau eines Datenbanksystems gemäß einem
Ausführungsbeispiel
der Erfindung zeigt;
-
2 eine
erklärende
Ansicht, die eine Verbindung zwischen einer Anwendungsebene 1 und
einer Meta-Ebene 2 zeigt;
-
3 ein
Ablaufdiagramm, das den Betriebsablauf einer Anwendungssoftware
eines Skriptinterpreters und eines Primitiven-Prozessors zeigt;
-
4 ein
Systemaufbaudiagramm eines Datenbanksystems als ein Ausführungsbeispiel
der Erfindung;
-
5 ein
Ablaufdiagramm, das den Betriebsablauf eines Skriptinterpreters
im Einzelnen zeigt;
-
6 ein
Ablaufdiagramm, das eine Einzeilen-Analyseverarbeitung, die durch
den Skriptinterpreter ausgeführt
wird, im Einzelnen erklärt;
-
7 eine
Tabelle, die Inhalte einer Anfrage zeigt;
-
8 ein
Beispiel einer Skripttransformation;
-
9A und 9B Tabellen,
die die Syntax eines Skripts zeigen;
-
10 ein
Beispiel von Primitiven, die durch den Skriptinterpreter erzeugt
wurden;
-
11 und 12 Tabellen,
die ein Beispiel einer Hoteldatenbank zeigen;
-
13 eine
Tabelle, die ein Beispiel einer Datenbank für geographische Informationen
zeigt;
-
14 eine
Tabelle, die ein Beispiel der Datenbank des JR (Japan Railroad)-Fahrplans
zeigt;
-
15 – 18 Tabellen,
die ein Beispiel einer Datenbank eines internationalen Flugplans
zeigt; und
-
19 eine
Tabelle, die ein von dem vorliegenden System ausgegebenes Beispiel
zeigt.
-
<Aufbau des Systems>
-
1 ist
ein Diagramm, das den Aufbau eines (nachstehend als "das vorliegende System" bezeichneten) Systems
zeigt, das verschiedene Arten von Datenbanken gemäß dem vorliegenden
Ausführungsbeispiel
integriert.
-
Das
vorliegende System ist durch, grob unterteilt, drei Arten von Ebenen
aufgebaut. Diese sind eine Anwendungsebene 1, eine lokale
Ebene 3 und eine Meta-Ebene 2, die als eine Zwischenebene
zwischen diesen beiden Ebenen existiert.
-
Das
vorliegende System ist darüber
hinaus in zwei Ebenen unterteilt: eine obere Ebene, welche die Anwendungsebene 1 und
die Meta-Ebene 2 beinhaltet, und eine untere Ebene, welche
die lokale Ebene 3 beinhaltet.
-
<Anwendungsebene>
-
Die
Anwendungsebene 1 ist eine Ebene, die direkt Benutzern
des vorliegenden Systems zugeordnet ist. Die Anwendungsebene 1,
die die Anwendungssoftware 12 bildet, ist bereitgestellt,
um unter Verwendung des vorliegenden Systems in der Multi-Datenbank-Umgebung
verwendet zu werden. Ein Benutzer stellt eine Anfrage nach Informationen über die
Anwendungssoftware 12 und erhält eine Antwort auf die Anfrage.
Die vorstehend erwähnte
Anwendungssoftware 12 beschreibt oder transformiert zunächst die
von dem Benutzer eingegebene Anfrage in eine (nachstehend als "Skriptform" bezeichnete) Datenform,
welche in dem vorliegenden System auf vorbestimmte Art und Weise
definiert worden ist, gibt die beschriebene oder transformierte
Anfrage an die Meta-Ebene 2 aus, und erhält die Antwort
auf die Anfrage. Nachstehend wird die durch die Skriptform repräsentierte
Anfrage einfach als ein "Skript" bezeichnet.
-
<Lokale Ebene>
-
Die
lokale Ebene 3, die mit der das vorliegende System aufbauenden
Multi-Datenbank-Umgebung verbunden ist, ist eine Ebene, die eine
oder eine Vielzahl von Datenbanken 11 und ein (nachstehend
generisch als ein Datenbanksystem bezeichnetes) Datenbank-Verwaltungssystem 10 beinhaltet. Jede
Datenbanksystem handhabt individuell Aufgaben, wie beispielsweise
eine Anfrage, eine Aktualisierung, eine Verwaltung und dergleichen,
innerhalb der geschlossenen Umgebung oder des geschlossenen Systems.
In anderen Worten kann das Datenbanksystem durch konventionelle
Datenbanktechnik auch individuell verwaltet und betrieben werden.
Das in der lokalen Ebene 3 existierende Datenbanksystem
wird speziell als ein "lokales
Datenbanksystem" 14 bezeichnet.
Jedes Datenbanksystem hat jedoch allgemein ein Datenbank-Verarbeitungssystem,
das für
die Datenbank einmalig ist; folglich wird eine identische Betriebsablaufprozedur
für Datenbanken
nicht garantiert.
-
<Meta-Ebene>
-
Die
Meta-Ebene 2, die als eine Zwischenebene zwischen der vorstehend
beschriebenen Anwendungsebene 1 und der vorstehend beschriebenen
lokalen Ebene 3 existiert, ist ein (nachstehend als ein "Meta-Ebenen-System" 15) bezeichnetes System,
das einen Skriptinterpreter 8 und ein Meta-Datenbanksystem 4,
welches eine Meta-Datenbank 7 und ein Meta-Datenbank-Verwaltungssystem 6 beinhaltet,
umfasst. In dem Meta-Ebenen-System 15 wird eine durch ein
Skript 101, welches von der Anwendungsebene 1 empfangen
wurde, repräsentierte
Anfrage zunächst
von dem Skriptinterpreter 8 interpretiert, und wird eine
Kommunikation mit dem Meta-Datenbanksystem 4 und dem lokalen
Datenbanksystem 14 eingerichtet. Im Einzelnen transformiert
der Skriptinterpreter 8 die Anfrage in eine (nachstehend
als eine "Meta-Primitivenform" bezeichnete Form,
die weiter durch das vorliegende System definiert wird, und sendet
die transformierte Anfrage an das Meta-Datenbanksystem 4 und
das lokale Datenbanksystem 14, um eine Antwort zu erhalten.
Nachstehend wird eine in die Meta-Primitivenform transformierte
Anfrage einfach als eine "Primitive" 106 bezeichnet.
-
<Verbindung zwischen jeder Ebene>
-
(Verbindung zwischen der
Anwendungsebene und der Meta-Ebene)
-
2 ist
eine erklärende
Ansicht, die die Verbindung zwischen der Anwendungsebene 1 und der
Meta-Ebene 1 zeigt. Die Anwendungsebene 1 und
die Meta-Ebene 2 verwendet das vorstehend erwähnte Skript 101 als
Schnittstelle. Ein Benutzer gibt eine Anfrage durch den Ablauf der
in der Anwendungsebene 1 existierenden Anwendungssoftware ein.
Die Anwendungssoftware 12 transformiert die Anfrage unter
Verwendung einer Skripttransformationseinheit 102 in die
Skriptform und gibt das Skript 101, welches die in der
Skriptform geschriebene Anfrage ist, an das Meta-Ebenen-System 15 aus.
Das Meta-Ebenen-System 15 führt eine Verarbeitung der durch
jedes der ausgegebenen Skripte repräsentierten Anfrage durch und
gibt die Antwort in der Skriptform an die Anwendungssoftware 12 zurück.
-
Als
die vorstehend beschriebene Anwendungssoftware 12 kann
eine Software 103 mit einer Funktion des einfachen Ausführens einer
Bearbeitungs-, Ausgabe- und Ergebnis-Ausgabe des Skripts 101 verwendet
werden, oder kann ein für
einen Personal Computer bereitgestelltes Softwarepaket 104 oder
eine eine graphische Schnittstelle zusätzlich zu der vorstehend erwähnten Skript- Transformationssoftware 102 umfassende
Arbeitsstation verwendet werden.
-
(Verbindung
zwischen der Meta-Ebene und der lokalen Ebene) Die Meta-Ebene 2 und
die lokale Ebene 3 verwenden die vorstehend erwähnte Primitive 106 als
Schnittstelle. Die aus dem Skript 101 durch den Skriptinterpreter 8 interpretierte
Primitive wird erforderlichenfalls (1) an das Meta-Datenbanksystem 4 ausgegeben,
interpretiert und durch einen in dem Meta-Datenbanksystem 4 existierenden
Primitiven-Prozessor 5 ausgeführt; oder (2) an das lokale
Datenbanksystem 14 ausgegeben, interpretiert und durch
einen in dem lokalen Datenbanksystem 14 existierenden Primitiven-Prozessor 9 ausgeführt.
-
Eine
Primitive 107 in 1 bezeichnet
eine der an den Primitiven-Prozessor 5 in dem Meta-Datenbanksystem 4 gerichteten
Primitiven. Auf ähnliche Art
und Weise bezeichnet eine Primitive 105 eine der an den
Primitiven-Prozessor 9 in dem lokalen Datenbanksystem gerichteten
Primitiven.
-
<Skriptausgabe und Primitiven-Ausführung>
-
3 ist
ein Ablaufdiagramm, das den Ablauf der Anwendungssoftware 12 in
der Anwendungsebene 1, den Betriebsablauf des Skript-Interpreters 8 in
der Meta-Ebene 2 und den Betriebsablauf des Primitiven-Prozessors 5 oder 9,
welcher die Primitive 106 ausgegeben hat, zeigt. Die vorstehenden
drei Einrichtungen arbeiten in Zuordnung zu einander, wie durch
die durchbrochenen Linien in 3 angegeben
ist.
-
(Betriebsablauf der Anwendungssoftware)
-
In
Antwort auf eine Anfrage von einem Benutzer wird in Schritt S1.1
in 3 ein Skript erzeugt. Als Nächstes wird in Schritt S1.2
das Skript 101 in einer Dateiform an die Meta-Ebene 2 ausgegeben (nachstehend
wird ein Skript in einer Dateiform als eine "Skriptdatei" bezeichnet). Inhalte der Skriptdatei werden
interpretiert und von dem in der Meta-Ebene existierenden Skriptinterpreter 8 zeilenweise
ausgeführt,
und das Ergebnis wird als die Antwort auf die durch die in Schritt
S1.2 ausgegebene Skriptdatei repräsentierte Anfrage an die Anwendungssoftware 12 zurückgegeben.
In Schritt S1.3 wird die Antwort auf die Anfrage ausgegeben, und
wird der Betriebsablauf beendet.
-
Die 9A und 9B zeigen
eine Beschreibungsgrammatik (Syntax) eines Skripts.
-
(Betriebsablauf des Skriptinterpreters)
-
In
Schritt 52.1 wird die Skriptdatei 101 von der Anwendungssoftware 12 erhalten.
In dieser Stufe wird in Schritt S2.2 eine Gruppe von Steuervariablen, die
in die Skriptdatei geschrieben sind, zeilenweise initialisiert,
um das Skript sequentiell zu interpretieren und auszuführen. In
Schritt S2.3 wird die gegenwärtige
Zeile des der Verarbeitung unterzogenen Skripts bestätigt. In
Schritt S2.4 wird ermittelt, ob die Inhalte der Skriptzeile das
Ende des Skripts anzeigen oder nicht; und in dem Fall, in dem die
Inhalte das Ende anzeigen, wird eine in Schritt S2.8 gezeigte Beenden-Verarbeitung
durchgeführt
und endet der Skriptinterpretations-Betriebsablauf.
-
In
dem Fall, in dem die Inhalte der Skriptzeile die Skriptbeendigung
nicht anzeigen, wird in Schritt S2.5 eine Skriptzeile analysiert.
In der Einzeilen-Analyseverarbeitung wird die Skriptzeile in eine
Form einer Primitiven transformiert, und in Schritt S2.6 wird die
Primitive an das entsprechende lokale Datenbanksystem 14 oder
Meta-Datenbanksystem 4 ausgegeben. In Schritt S2.7 wird
eine Verarbeitung zum Aktualisieren der Gruppe von Variablen durchgeführt, um
die der Skriptverarbeitung unterzogene Zeile vorzurücken. Dann
kehrt die Verarbeitung zu Schritt S2.3 zurück.
-
5 ist
ein Ablaufdiagramm, das den Betriebsablauf des vorstehend beschriebenen
Skriptinterpreters 8 im Einzelnen erklärt. Die Schritte S2.1.1 bis
S2.1.3 (5) entsprechen dem vorstehend
beschriebenen Schritt S2.1 (3); die
Schritte S2.3.1 bis S2.3.5 (5) entsprechen
dem vorstehend beschriebenen Schritt S2.3 (3); und
die Schritte S2.8.1 bis S2.8.2 (5) entsprechen
dem vorstehend beschriebenen Schritt S2.8 (3). Steuercodes
in Schritt S2.3.2 geben Zeichen an, beispiels weise einen Rückgabecode
und dergleichen, welche die Syntax des in den 9A und 9B gezeigten Skripts
nicht beeinträchtigen.
In Schritt S2.3.3 wird ein solcher Code übersprungen. Es wird angemerkt, dass
in dem in 5 gezeigten Ablaufdiagramm die Erklärung für den Prozess,
in dem eine Kommentarzeile ignoriert wird, weggelassen ist.
-
6 ist
ein Ablaufdiagramm, das die in dem vorstehend beschriebenen Schritt
S2.5 ausgeführte Einzeilen-Analyseverarbeitung
in weiteren Einzelheiten erklärt.
Wie vorstehend beschrieben wurde, wird in der Einzeilen-Analyseverarbeitung
jede Zeile des Skripts zeilenweise aus den Inhalten der von der Skriptinterpretationsvorrichtung
gelesenen Skriptdatei übertragen.
In dem in START in 6 enthaltenen "live mem" wird eine oberste
Adresse eines Speichers, welcher die Skriptinhalte speichert, als
ein Ergebnis der bereits in den vorangehenden Schritten von 5 durchgeführten Verarbeitung
eingefügt. Auf
vergleichbare Art und Weise wird in "p0" ein
Kopfspeicherzeiger für
die zu verarbeitende Zeile eingefügt, und wird in "p1" ein Endspeicherzeiger
für die
zu verarbeitende Zeile eingefügt.
-
Zunächst wird
in Schritt S4.1 eine Initialisierung durchgeführt, und wird in den Schritten
S4.2, S4.3, S4.6 und S4.7 ein Ablaufabschnitt in der Skriptzeile
extrahiert. Falls eine Prüfung
in Schritt S4.3 JA ergibt, wird eine Bestimmung dahingehend durchgeführt, ob
der Ablauf SSTART ist, und wird die Steuerung an die in Schritt
S4.5 gezeigte Behandlungsverarbeitungsroutine übergeben. Die Funktion "string check()", die in den Schritten
S4.4, S4.8, S4.10, S4.12, S4.14, S4.16 und S4.18 genutzt wird, ist
ein Prozess des Prüfens,
durch Mustervergleich, ob eine durch " " eingeschlossene
und durch das vierte Argument angegebene Zeichenkette in der als
ein Argument angegebenen Speicheradresse und in einem durch den
Kopfspeicherzeiger und den Endspeicherzeiger begrenzten Abschnitt
existiert oder nicht. Im Fall der Übereinstimmung wird der Rückgabewert
1 zurückgegeben,
und in dem Fall der Nichtübereinstimmung
wird der Rückgabewert
0 zurückgegeben. Falls
die Bestimmung in Schritt S4.6 JA ist, wird ein anderer Ablauf als
SSTART erkannt, und wird die Verarbeitung jeweils an die in den
Schritten S4.9, S4.11, S4.13, S4.15, S4.17 und S4.19 gezeigten Behandlungsverarbeitungsroutinen übergeben.
-
10 zeigt
ein Beispiel von Primitiven, die in der Prozessroutine entsprechend
jeder Abarbeitung der vorstehend beschriebenen Skriptzeile erzeugt
wurden, und ein Verfahren zum Bestimmen eines Adressaten. In dem
vorliegenden System wird eine Einheit einer Verarbeitung, die durch
jede der Zeilen in 10 repräsentiert wird, als eine Primitive bezeichnet.
Die Primitive wird in Abhängigkeit
eines angeforderten Ziels des Dienstes (d. h. des Adressaten der
Primitiven) in die folgenden vier Arten klassifiziert.
-
Eine
Gruppe von Primitiven, die durch die Form mmdb XXX() (XXX hierin
ist wahlfrei) repräsentiert
wird, wird an den in dem Meta-Datenbanksystem 4 existierenden
Primitivenprozessor 5 ausgegeben. Das Meta-Datenbanksystem
beinhaltet als die Meta-Datenbank Datenbank-Verwaltungsinformationen mit,
als Datenbankinformationen, Orten oder Verwaltungsinformationen
einer Vielzahl von Datenbanken, welche von dem vorliegenden System
verwendet werden können,
und eine Kompensationsinformationen-Datenbank, die zum Kombinieren
verschiedener Arten von Datenbanken notwendig ist. In anderen Worten
beinhaltet das Meta-Datenbanksystem Informationen, die notwendig
sind, um auf eine Vielzahl von lokalen Datenbanken zuzugreifen,
oder um verschiedene Arten von Datenbanken zu kombinieren.
-
Eine
Gruppe von Primitiven, die durch die Form von 1db XXX() repräsentiert
wird, ist eine Primitive für
eine Anfrage an eine lokale Datenbank, die an den in dem entsprechenden
lokalen Datenbanksystem 14 existierenden Primitivenprozessor 9 auf
der Grundlage von von dem Meta-Datenbanksystem erhaltenen Informationen
ausgegeben wird.
-
Eine
Gruppe von Primitiven, die durch eine Form mm XXX() repräsentiert
wird, führt
eine für
das vorliegende System einzigartige Kombinierverarbeitung und Rechenverarbeitung
auf der Grundlage der Antwort auf die durch die Gruppe von Primitiven
1db XXX() repräsentierte
Anfrage, die von einer Vielzahl von Datenbanken erhalten wird, aus.
-
Eine
Gruppe von Primitiven, die durch die Form gen_XXX() repräsentiert
wird, ist eine Primitive für
weithin verwendete Funktionen, die allgemein in der Meta-Ebene des
vorliegenden Systems notwendig sind, und die andere Funktionen sind
als diejenigen der vorstehend beschriebenen Primitiven, zum Beispiel
beinhaltend eine Verarbeitung zum Sichern eines internen Speichers,
der zum Kombinieren von Antworten auf eine Anfrage oder Tabellen
notwendig ist.
-
"func sstart" in Schritt S4.5
in 6 gibt mmdb open() als eine Primitive entsprechend
dem Skript SSTART aus. Die Primitive wird an den Primitivenprozessor 5 ausgegeben,
um das Öffnen
der in der Meta-Datenbank 7 existierenden Datenbank von Lokaldatenbank-Verwaltungsinformationen
anzufordern, und ein Rückgabewert
mmdb sta wird zurückgegeben.
-
func
open() in Schritt S4.9 gibt drei Arten von Primitiven als eine Primitive
entsprechend dem Skript m open aus. In 10 entsprechen
die in ⌈ ⌋ eingeschlossenen Zeichenketten der
Syntax des in den 9A und 9B gezeigten
Skripts. Die Zeichenketten werden aus einer Skriptzeile, welche
durch ein Argument jeder der Handhabungsprozessroutinen, die in
den Schritten S4.9, S4.11, S4.13, S4.15, S4.17 und S4.19 gezeigt
sind, übertragen
wurde, extrahiert und übertragen.
-
Die
Primitive mmdb service() überträgt ⌈Datenbankname⌋ und ⌈Tabellenname⌋,
die durch die Skriptzeile angegeben werden, an den Primitivenprozessor 5 und
speichert Informationen mit Bezug zu einer entsprechenden lokalen
Datenbank in einer Struktur ldbinf (ein Datenspeicher, in dem eine
Vielzahl von Informationen strukturell gruppiert werden). In der
Struktur ldbinf werden Orte und Verwaltungsinformationen der entsprechenden
Datenbank und Informationen, wie beispielsweise eine Speichergröße und dergleichen,
die zum Entwickeln von Tabellen notwendig sind, gespeichert.
-
Die
Primitive gen memalloc() gibt an den Primitivenprozessor 5 einen
Beschaffungsbefehl eines internen Speichers aus, der notwendig ist,
um eine aus der Struktur ldbinf erhaltene Tabelle zu entwickeln.
Ein Rückgabewert
mmsta ist eine oberste Adresse des reservierten internen Speichers.
Darüber
hinaus gibt die Primitive ldb_open() eine Anfrage an den in dem
lokalen Datenbanksystem, welche das Ziel ist, existierenden Primitivenprozessor 9 aus.
-
"func-select()" in Schritt S4.11
in 6 gibt eine Primitive 1db_select(), welche ein
Abholbefehl ist, an die lokale Datenbank aus, welche bereits durch
die Primitive 1db open() geöffnet
wurde. Als Argumente werden die Struktur ldbinf, die oberste Adresse
mmsta des internen Speichers, und vier von einem Skriptoperator
m-select übertragene
Argumente: "Zieltabellennamen
holen", "Attributname", "Bedingungsberechungsvorgang" und "Bedingungsvergleichswert" festgelegt.
-
(Betriebsablauf des Primitivenprozessors)
-
Der
Primitivenprozessor führt
eine Interpretation und die Ausführung
jeder der in Schritt S2.6 ausgegebenen Primitiven durch. Der in
dem lokalen Datenbanksystem 14 existierende Primitivenprozessor 9 und
der in dem Meta-Datenbanksystem 4 existierende Primitivenprozessor 5 sind
bereitgestellt. Alle von dem vorliegenden System gehandhabten Datenbanksysteme
umfassen einen entsprechenden Primitivenprozessor. Im allgemeinen
transformiert, da eine Vielzahl von Datenbanksystemen unterschiedliche
Verarbeitungssysteme haben, ein jedem der Systeme entsprechender
Primitivenprozessor Primitive in einen von dem eigenen Datenbanksystem
ausführbaren
Befehl. Durch die Transformation wird der Unterschied in dem Betriebsablauf
aufgrund der unterschiedlichen Datenbanksysteme absorbiert.
-
Die
Schritte S3.1 bis S3.5 in 3, die von jedem
Primitivenprozessor durchgeführt
werden, beschreiben den Prozess von dem Empfangen einer von dem
Skriptinterpreter ausgegebenen Primitiven bis zu dem Zurückgeben
eines Ausführungsergebnisses.
-
In
Schritt S3.1 wird eine Primitive erhalten. In Schritt S3.2 wird
die Primitive interpretiert. In Schritt S3.3 wird die Primitive
in einen Befehl für
ein Datenbanksystem transformiert, welches dem Primitivenprozessor
entspricht. In Schritt S3.4 gibt der Primitivenprozessor den Befehl
an das entsprechende Daten banksystem aus. Das heißt, der
Befehl wird in dem Datenbanksystem ausgeführt. In Schritt S3.5 wird das
Ergebnis der Ausführung
in der Primitivenform an den Skriptinterpreter zurückgegeben,
und dann endet der Betriebsablauf. Das Ergebnis in der Primitivenform
wird durch den Skriptinterpreter in die Skriptform transformiert.
-
<Meta-Ebenen-System>
-
Das
Meta-Ebenen-System hat die folgenden Rollen.
- 1.
Das Meta-Ebenen-System absorbiert Unterschiede in den Datenrepräsentationsformen
und einen Unterschied in der Definition der Attribute zwischen einer
Vielzahl von lokalen Datenbanksystemen.
- 2. Das Meta-Ebenen-System stellt eine Gruppe von Grundfunktionen
zum Kombinieren von lokalen Datenbanken bereit.
- 3. Das Meta-Ebenen-System verwaltet Daten, welche das Kombinieren
von lokalen Datenbanken unterstützen.
-
(Meta-Form und Meta-Daten)
-
Um
die vorstehend beschriebene Rolle 1 zu realisieren, stellt das Meta-Ebenen-System
eine Standard-Datenrepräsentationsform
für die
Daten bereit, die in der zu kombinierenden Datenbank enthalten sind.
Hierin wird die Standard-Datenrepräsentationsform als "Meta-Form" bezeichnet, und
werden von der Meta-Form repräsentierte
Daten als "Meta-Daten" bezeichnet.
-
(Meta-Datenbank und Meta-Datenbanksystem)
-
Um
die vorstehend beschriebene Rolle 2 zu realisieren, werden die für das vorliegende
System einzigartige Kombinierverarbeitung und Berechnungsverarbeitung
durch die Gruppe von Primitiven ausgeführt, die durch das vorstehend
erwähnte
mm XXX() klassifiziert werden.
-
Ferner
umfasst, um die vorstehend beschriebene Rolle 3 zu realisieren,
das Meta-Ebenen-System eine Meta-Datenbank und ein Meta-Datenbank-Verwaltungssystem.
Die Meta-Datenbank beinhaltet zum Beispiel Ortsinformationen von
lokalen Datenbanken, die dem Betriebsablauf unterzogen werden. Die
Meta-Datenbank weist darüber
hinaus eine Datenbank auf zum Liefern von Daten dann, wenn eine
von einem Benutzer eingegebene Anfrage nicht durch ledigliches Kombinieren
lokaler Datenbanken gelöst
werden kann. Dies wird durch die durch das vorstehend erwähnte mmdb
XXX() klassifizierten Primitiven und in dem Meta-Datenbanksystem
enthaltenen Datenbankverwaltungsinformationen realisiert.
-
<Beispiel des Systemaufbaus>
-
4 ist
ein Diagramm, das einen Systemaufbau des vorliegenden Systems zeigt.
Es wird angemerkt, dass der Aufbau des vorliegenden Systems nicht
auf den in 4 gezeigten einen beschränkt ist, so
dass ein anderer logisch machbarer Aufbau als der in dieser Figur
gezeigte verwendet werden kann.
-
(Systemaufbau in der Anwendungsebene)
-
In 4 umfasst
jeder Computer 202 und 207 eine zentrale Verarbeitungseinheit
(nachstehend als eine CPU bezeichnet), einen internen Speicher, eine
Peripheriegeräte-Steuereinrichtung,
ein Betriebssystem und dergleichen. Die Anwendungssoftware 12 und
die Skripttransformationseinheit 102 sind als ein Programm
auf einer als ein Speichermedium von Disketten- bzw. Platteneinheiten 201 und 206 dienenden
Diskette bzw. Platte gespeichert und werden von dem Computer 202 und 207 in
Antwort auf eine von einem Benutzer an Eingabe/Ausgabe-Anschlüssen bzw.
-Endgeräten 203, 204 und 208 eingegebene
Anforderung ausgelesen und ausgeführt.
-
(Systemaufbau in der Meta-Ebene)
-
Bezugnehmend
auf 4 hat ein Computer 211 einen ähnlichen
Aufbau wie der der Computer 202 und 207 und dient
als der Skriptinterpreter 8. Software für die Skriptinterpretationsverarbeitung
ist auf einer Platte gespeichert, welche ein Speichermedium einer
Platteneinheit 210 ist, und wird von dem Computer 211 in
Antwort auf eine durch das von der Anwendungsebene empfangene Skript 101 repräsentierte
Anfrage ausgelesen und ausgeführt.
-
Eine
Gruppe von Vorrichtungen 213, 214, 217 und 218 bildet
das Meta-Datenbanksystem 4. Computer 213 und 217 sind
für die
Meta-Datenbank 7 und
das Meta-Datenbank-Verwaltungssystem 6 vorhanden. In 4 existiert
die Meta-Datenbank als eine physikalische Datei von Platteneinheiten 214 und 218.
Darüber
hinaus dient der Computer 213 als ein Datenbanksystem,
welches die Meta-Datenbank 214 steuert, und als der entsprechende
Primitivenprozessor. Auf ähnliche
Art und Weise dient der Computer 217 als ein Datenbanksystem,
welches die Meta-Datenbank 218 steuert, und als der entsprechende
Primitivenprozessor.
-
Software
für die
Primitivenverarbeitung ist auf einer Platte gespeichert, welche
ein Speichermedium der Platteneinheiten 214 und 218 ist,
und wird von den Computern 213 und 217 in Antwort
auf eine durch die von dem Skriptinterpreter empfangene Primitive 107 repräsentierte
Anfrage ausgelesen und ausgeführt.
-
(Systemaufbau in der lokalen
Ebene)
-
In 4 existiert
die lokale Datenbank als eine Datei von Platteneinheiten 222,
223, 224 und 227, und dient ein Computer 220 als
ein lokales Datenbanksystem, welches die Datenbanken 222, 223 und 224 steuert,
sowie als der entsprechende Primitivenprozessor. Auf ähnliche
Art und Weise dient ein Computer 226 als ein Datenbanksystem,
welches die Datenbank 227 steuert, sowie als der entsprechende Primitivenprozessor.
-
Software
für die
Primitivenverarbeitung ist auf einer Platte gespeichert, welche
ein Speichermedium der Platteneinheiten 221 und 227 ist,
und wird von den Computern 220 und 226 in Antwort
auf eine durch die von dem Skriptinterpreter empfangene Primitive 105 repräsentierte
Anfrage ausgelesen und ausgeführt.
-
(Verbindung zwischen jeder
Ebene)
-
In 4 verbindet
ein Lokalbereichnetzwerk 251 – 256 jede der das
System in jeder Ebene bildenden Vorrichtungen, und ist über Netzwerkverbindungsvorrichtungen 205,
209, 215, 216, 219, 225 und 228 mit einem externen
System verbunden. Um das Lokalbereichnetzwerk mit einer externen
Vorrichtung zu verbinden, wird zum Beispiel eine dedizierte schnelle
digitale Leitung oder dergleichen verwendet. Zur Verbindung zwischen
einer externen Vorrichtung und dem Eingangs/Ausgangs-Anschluss in
der Anwendungsebene kann ein Einwählvorgang oder dergleichen über normale öffentliche
analoge Leitungen benutzt werden. Zum Beispiel kann die Verbindung
in einer Struktur realisiert werden, in der die Leitung 252 weggelassen
ist, der Eingangs/Ausgangs-Anschluss 208 direkt mit dem
Computer 207 verbunden ist, und die Netzwerkverbindungsvorrichtung 209 durch
einen Kommunikationsleitungsadapter, wie beispielsweise ein Modem-Gerät oder dergleichen,
ersetzt ist, welcher den Computer 207 mit öffentlichen
Leitungen verbindet.
-
Durch
das vorangehende Verbindungsverfahren ist es möglich, Skripte zwischen der
Anwendungsebene und der Meta-Ebene zu übertragen und zu empfangen,
und Primitive zwischen den in dem Meta-Datenbanksystem in der Meta-Ebene existierenden
Primitivenprozessoren und den in dem lokalen Datenbanksystem existierenden
Primitivenprozessoren zu übertragen
und zu empfangen.
-
<Datenbank-Kombinierverarbeitung durch
das vorliegende System>
-
Die
durch das vorliegende System ausgeführte Datenbankkombinierverarbeitung
wird nachstehend unter Verwendung des folgenden Beispiels einer
Anfrage und einer Antwort im Einzelnen beschrieben.
-
(Beispiel einer Anfrage)
-
Als
Hintergrund einer in der Anwendungsebene durchgeführten Anfrage
eines Benutzers ist ein Beispiel wie folgt gegeben: "Um Narita mit Ziel
New York am Sonntag zu verlassen, werde ich ab dem vorangehenden
Tag in einem Hotel in Tokio wohnen. Das Hotel in Tokio muss innerhalb
meines Hotelbudgets festgelegt werden. Ich möchte die Abfahrtzeit des den
Bahnhof von Tokio mit Ziel Haltestelle Flughafen Narita verlassenden
Zugs und die Abflugzeit eines Flugzeugs nach New York wissen."
-
Es
wird hierin angenommen, dass die folgenden Informationen als die
Inhalte (Element und Daten, die auszugeben sind) einer Anfrage zu
ermitteln sind:
- (1) Hotel: Der Name eines Hotels,
welches geographisch günstig
in der Nähe
des Tokioter Bahnhofs liegt und dessen Zimmerpreis innerhalb des Budgets
liegt;
- (2) Zug zur Haltestelle Flughafen Narita: Der Name eines Zugs
und seine Abfahrtszeit vom Tokioter Bahnhof; und
- (3) Flugzeug nach New York: Die Flugnummer und die Abflugzeit
für das
am Sonntag fliegende Flugzeug.
-
Als
eine Bedingung für
die Anfrage wird zum Beispiel "in
Chiyoda-ku liegendes Hotel" für "geographisch günstig in
der Nähe
des Tokioter Bahnhofs" eingegeben,
und wird "der Preis
für ein
Einzelzimmer beträgt
10000 ¥ oder
mehr und 19000 ¥ oder
weniger" für die Bedingung "innerhalb des Budgets" eingegeben. Ferner
ist es in diesem Beispiel wichtig, die für den Transport zum Flughafen
Narita notwendige Zeit zu berücksichtigen.
Daher ist es notwendig, eine Bedingung wie beispielsweise "der Zeitunterschied zwischen
der Ankunftszeit des Zugs am Flughafen Narita und der Abflugzeit
des Flugzeugs vom Flughafen Narita beträgt mehr als 40 Minuten und
weniger als 2 Stunden" hinzuzufügen. 7 zeigt
die vorstehend beschriebenen Inhalte in der organisierten Art und
Weise.
-
(Ausgabe der Anfrage in
Skriptform)
-
Um
die in 7 gezeigte Anfrage durchzuführen, generiert die Anwendungssoftware
Skripte wie beispielsweise das in 8 gezeigte
und gibt die Skripte in einer Dateiform an das System der Meta-Ebene
aus. Zeichen zwischen den Begrenzern "/*" und "/*" sind ein Kommentar,
welcher keinerlei Auswirkungen auf die tatsächliche Verarbeitung oder den tatsächlichen
Betriebsablauf hat. Zu Zwecken der Erklärung sind in 8 um
zehn inkrementierte Zeilennummern den Zeilen zugewiesen, die keine
Kommentare sind.
-
Jede
Zeile der Skripte wird durch das Zeilenende ";" begrenzt,
und das Ende eines Skripts wird durch das Skriptende "." be grenzt. Die Skripte sind mit einer
Syntax aufgebaut, um die Beschreibung in der Anwendungsebene zu
minimieren, und die Skripte werden durch den Skriptinterpreter 8 in
die entsprechenden Primitiven transformiert.
-
In
dem vorliegenden Ausführungsbeispiel wird
die Syntax in den vorstehend beschriebenen Skripten aufgebaut mit:
(1) der Art des Betriebsablaufs; (2) einem oder mehreren Argumenten
mit Bezug zu dem Objekt des Betriebsablaufs, dem Betriebsablauf
und dergleichen; (3) dem Ausgabeobjekt und (4) dem Dateiende. Vorstehendes
(2) wird durch den Begrenzer "#" unterschieden, jedes
Argument wird durch den Begrenzer "," unterschieden,
und jedes Dateiende wird durch ";" oder "." unterschieden.
-
(Skriptinterpretation
und Ausgabe einer Primitiven)
-
Wie
vorstehend beschrieben wurde, werden in dem System der Meta-Ebene die von der
Anwendungsebene ausgegebenen Skripte zeilenweise durch den Skriptinterpreter 8 interpretiert,
in Primitive transformiert, und an die entsprechende Datenbank ausgegeben.
Das heißt,
dass in diesem Beispiel Primitive, deren Verarbeitungsziel Hotelinformationen sind,
an eine Hoteldatenbank ausgegeben werden. Auf ähnliche Art und Weise werden
Primitive, deren Verarbeitungsziel Informationen bezüglich eines Zugs
zur Haltestelle Flughafen Narita sind, an die JR (Japan Railroad)-Fahrplandatenbank
ausgegeben. Primitive, deren Verarbeitungsziel Informationen bezüglich Informationen über internationale
Flüge sind, werden
an eine Flugplandatenbank für
internationale Flüge
ausgegeben. In dem vorliegenden Beispiel sind die Hoteldatenbank,
die JR-Fahrplandatenbank und die Flugplandatenbank für internationale
Flüge als
eine Datenbank relationaler Form beschrieben.
-
Die
Tabelle "Hotel" in 11 zeigt
die Inhalte der Hoteldatenbank, die Tabelle "Nex" in 14 zeigt die
Inhalte der JR-Fahrplandatenbank,
und die Tabellen "Luft" in den 15 – 18 zeigen
die Inhalte der Flugplandatenbank für internationale Flüge. Um den
Prozess des Ausführend
der Skripte, welche die in dem Beispiel beschriebene Anfrage durchführen, zu
zeigen, zeigt 12 die Inhalte der Tabelle "Hotel" nach Beendigung
der Skriptzeile 050 (8); zeigt 18 die
Inhalte der Tabelle "Luft" bei Beendigung der
Skriptzeile 120 (8); und zeigt 19 ein Ausgabebeispiel
des vorliegenden Systems nach Beendigung aller Skripte.
-
Die
Erfindung kann auf ein durch eine Vielzahl von Einrichtungen (z.
B. ein Hostcomputer, eine Schnittstelle, ein Leser, ein Drucker)
gebildetes System oder auf eine eine einzelne Einrichtung (z. B,
ein Kopiergerät,
ein Telefaxgerät)
umfassende Vorrichtung angewandt werden.
-
Ferner
kann die Erfindung durch Bereitstellen eines Speichermediums, das
Programmcodes zum Durchführen
der vorgenannten Prozesse speichert, für ein System oder eine Vorrichtung,
Lesen der Programmcodes mit einem Computer (z. B, eine CPU, eine
MPU) des Systems oder der Vorrichtung von dem Speichermedium, und
dann Ausführen
des Programms implementiert werden. In diesem Fall realisieren die
von dem Speichermedium gelesenen Programmcodes die neuen Funktionen
in Übereinstimmung
mit der Erfindung, und bildet das die Programmcodes speichernde
Speichermedium die Erfindung.
-
Ferner
kann das Speichermedium, wie beispielsweise eine Diskette, eine
Festplatte, eine optische Platte, eine magneto-optische Platte,
eine CD-ROM, eine CD-R, ein Magnetband, eine Speicherkarte des nicht
flüchtigen
Typs und ein ROM, zum Bereitstellen der Programmcodes verwendet werden.
-
Außer dass
die vorgenannten Funktionen gemäß dem vorstehenden
Ausführungsbeispiel durch
Ausführen
der Programmcodes, welche von einem Computer gelesen werden, realisiert
werden, beinhaltet die vorliegende Erfindung ferner einen Fall,
in dem ein BS (Betriebssystem) oder dergleichen, das auf dem Computer
arbeitet, einen Teil von Prozessen oder gesamte Prozesse in Übereinstimmung
mit den Vorgaben der Programmcodes durchführt und Funktionen in Übereinstimmung
mit dem vorstehenden Ausführungsbeispiel
realisiert.
-
Ferner
beinhaltet die Erfindung auch einen Fall, in dem, nachdem die von
dem Speichermedium gelesenen Programmcodes in eine Funktionserweiterungskarte,
welche in den Computer eingesetzt ist, oder in einen Speicher, welcher
in einer Funktionserweiterungseinheit bereitgestellt ist, welche
mit dem Computer verbunden ist, geschrieben sind, eine CPU oder
dergleichen, die in der Funktionserweiterungskarte oder -einheit
enthalten ist, einen Teil von Prozessen oder gesamte Prozesse in Übereinstimmung mit
Vorgaben der Programmcodes durchführt und Funktionen des vorstehenden
Ausführungsbeispiels realisiert.
-
In
einem Fall, in dem die Erfindung auf das vorgenannte Speichermedium
angewandt wird, speichert das Speichermedium Programmcodes entsprechend
jedem der in dem Ausführungsbeispiel
beschriebenen Ablaufdiagramme für
jede Ebene oder alle zusammen.
-
Wie
vorstehend dargelegt wurde, ist die Erfindung wirkungsvoll, da sie
ein Teilen und eine gemeinsame Verwendung einer Gruppe von Datenbanken
ermöglicht.
Insbesondere ist es dank der Erfindung möglich, durch Kombinieren unterschiedlicher Arten
von Datenbanken Gebrauch von mehreren Arten von Datenbanken zu machen.
-
Die
Erfindung ist nicht auf die vorstehenden Ausführungsbeispiele beschränkt, so
dass verschiedene Änderungen
und Modifikationen innerhalb des Schutzbereichs der Erfindung, wie
in den beigefügten
Patentansprüchen
definiert, vorgenommen werden können.