DE3382808T2 - Datenbankzugriffsverfahren mit einem benutzerfreundlichen Menü - Google Patents

Datenbankzugriffsverfahren mit einem benutzerfreundlichen Menü

Info

Publication number
DE3382808T2
DE3382808T2 DE3382808T DE3382808T DE3382808T2 DE 3382808 T2 DE3382808 T2 DE 3382808T2 DE 3382808 T DE3382808 T DE 3382808T DE 3382808 T DE3382808 T DE 3382808T DE 3382808 T2 DE3382808 T2 DE 3382808T2
Authority
DE
Germany
Prior art keywords
path
database
paths
segments
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE3382808T
Other languages
English (en)
Other versions
DE3382808D1 (de
Inventor
John M Knapman
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE3382808D1 publication Critical patent/DE3382808D1/de
Publication of DE3382808T2 publication Critical patent/DE3382808T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/24Querying
    • G06F16/242Query formulation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access

Landscapes

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

Description

  • Die vorliegende Erfindung betrifft ein Datenbankverwaltungssystem und insbesondere ein Datenbankzugriffsverfahren, das einem Benutzer ohne Kenntnisse oder Erfahrung im Bereich der Datenverarbeitung einen einfachen Zugriff auf Daten in der Datenbank mit Hilfe eines benutzerfreundlichen Menüs ermöglicht.
  • Nähere Informationen zu Datenbanksystemen können der Veröffentlichung von C.J. DATE mit dem Titel An introduction to database systems , Vol 1, Dritte Ausgabe, herausgegeben von der Addison-Wesley Publishing Company, 1981, entnommen werden. Als Hintergrund für den Gegenstand der Erfindung wird auf Teil 3 dieser Veröffentlichung mit den Kapiteln 15 bis 22 verwiesen, in denen das hierarchische Konzept der Datenbankverwaltung beschrieben wird, das der vorliegenden Erfindung zugrunde liegt.
  • Zu Beispielzwecken wird die Sprache DL/I (Data Language I) verwendet, eine von der International Business Machines Corp. für Datenverarbeitungsanwendungen entwickelte Datenverarbeitungs sprache. DL/I verwendet Programmkommunikationsblöcke (PCBs) als Mittel, um die Speicherung sowie den Zugriff auf Daten in Massenspeichereinheiten zu steuern. Diese PCBs, deren Anzahl und Zeichen je nach den Anforderungen der Endbenutzer unterschiedlich sind, werden von einem Datenbankverwalter erstellt. PCBs können auf periodischer Basis vom Datenbankverwalter hinzugefügt oder aktualisiert werden. Ein Programmierer schreibt ein oder mehrere Programme, die diese PCBs verwenden, um Daten auf einer Massenspeichereinheit wie z.B. einem Plattenstapel zu speichern oder darauf zuzugreifen.
  • Angenommen, das Unternehmen, für das das System entworfen wird, stellt Teile für Haushaltsgeräte her. In diesem Unternehmen benötigen vermutlich eine Reihe von Mitarbeitern Zugriff auf die Datenbank. Der Betriebsleiter muß die Lagerbestands- und Bestellmengen kennen, um zu bestimmen, welche Teile in welcher Stückzahl hergestellt werden müssen. Der Werksmeister muß die Auslastung an jedem Fertigungsstandort kennen, um zu bestimmen, wann Maschinen zu Wartungszwecken heruntergefahren werden können und wann das Bedienpersonal frei nehmen kann. Für eine Abfrage, die vom Benutzer des Datenbankverwaltungssystems gestellt wird, wird gewöhnlich mehr als ein PCB für den Zugriff auf die gewünschte Information benötigt. Der Programmierer ist somit dafür verantwortlich, daß Programme unter Berücksichtigung der Abfragen geschrieben werden, die von verschiedenen Benutzern des Datenbankverwaltungssystems gestellt werden können. Es versteht sich, daß der Programmierer nicht alle möglichen Arten von Abfragen in seinem Programm berücksichtigen kann, und wenn ein Benutzer Zugriff auf Informationen in einer Weise wünscht, die von den existierenden Programmen nicht unterstützt wird, muß der Programmierer ein neues Programm schreiben, das auf die Art der Abfragen des Benutzers zugeschnitten ist. Dieser Ansatz kann einen hohen Kosten- und Zeitaufwand verursachen und kommt im Falle zeitkritischer Informationen von vornherein nicht in Frage.
  • Daher besteht ein Gegenstand der vorliegenden Erfindung darin, ein verbessertes Datenbankzugriffsverfahren bereitzustellen, das einem Benutzer einen einfachen Zugriff auf Daten ermöglicht, auch wenn kein spezifisches Programm unter Verwendung der für den Datenzugriff erforderlichen PCBs geschrieben wurde.
  • Mit der in Patentanspruch 1 offenbarten Erfindung wird dies dadurch erreicht, daß zuerst automatisch ein Datenverzeichnis von Eingangsdatenbanken angezeigt wird und dann auf eine bestimmte Abfrage hin automatisch der beste Zugriffspfad zu einem Element ausgewählt wird. Im spezielleren Sinn betrifft die Erfindung ein Verfahren, das zuerst automatisch aus Definitionen von Datenbankbeschreibungen und Programmkommunikationsblöcken (PCB) eine Gruppe von Eingangsdatenbanken konstruiert, die sich auf die unterschiedlichen Zugriffspfade beziehen, die für den Zugriff auf die gewünschten Informationen auf eine Benutzerabfrage hin verwendet werden können, wobei jede der auf physikalischen Beziehungen oder logisch definierten Datenbeziehungen basierenden Eingangsdatenbanken eine einzelne hierarchische Struktur aufweist, aus der jeder physikalische und logische Pfad ersichtlich ist, der von einem physikalischen Stammsegment mit konsolidierten, doppelten logischen und physikalischen Pfaden aus zugänglich ist. Die Eingangsdatenbanken werden dem Urheber der Abfrage in Form eines Menüs angezeigt, aus dem der Benutzer Segmentfelder und PCBs auswählen kann, die zur Konstruktion der Eingangsdatenbanken verwendet wurden. Anschließend werden alle möglichen Zugriffspfade mit Blick auf die in der Abfrage abzurufenden Segmente bewertet, und der optimale Zugriffspfad wird automatisch entsprechend den gewichteten Prioritäten basierend auf den Schlüsselwerten, die den Segmenten jedes Pfads zugeordnet wurden, ausgewählt.
  • Hierbei wird darauf hingewiesen, daß - wenn sich ein Auswahlkriterium in einer Abfrage auf ein Feld bezieht, das einen DL/I-Sekundärindex aufweist - die zu verwendende hierarchische DL/I-Struktur und der zu verwendende PCB anders als im üblichen Fall sind. Ebenso müssen eine abweichende Struktur und ein anderer PCB verwendet werden, wenn sich eine Abfrage auf den Schlüssel eines logischen Elters bezieht. Die Erfindung hält den Urheber der Abfrage von einer solchen, für ihn möglicherweise nicht nachvollziehbaren Problematik fern, indem sie alle möglichen Zugriffspfade zu den DL/I-Segmenten bewertet, die in einer Abfrage abgerufen werden sollen.
  • Im folgenden wird die Erfindung unter Bezugnahme auf die Zeichnungen beschrieben, in denen:
  • Fig. 1 eine bildliche Darstellung der funktionalen Anwendung der Sprache DL/I und der Verbesserung gemäß der vorliegenden Erfindung zeigt,
  • Fig. 2A, 2B und 2C vereinfachte Darstellungen von drei PCBs zeigen, die für ein Teilefertigungsunternehmen generiert werden könnten,
  • Fig. 3 ein Flußdiagramm zur Herstellung der Eingangsdatenbank gemäß der Erfindung zeigt, und
  • Fig. 4 ein Flußdiagramm zur Auswahl der PCBs für die Datenbankabfrage gemäß der Erfindung zeigt,
  • Fig. 1 zeigt eine funktionale Anwendung von DL/I (Data Language I), in der PCBs 11 von einem Datenbankverwalter 10 erstellt werden und ein Programmierer 12 ein Programm 13 unter Verwendung der PCBs für die Speicherung von bzw. für den Zugriff auf Daten in einer Massenspeichereinheit 14 wie z.B. einem Plattenstapel schreibt.
  • In Fig. 2A, 2B und 2C sind drei der zahlreichen PCBs, die vom Datenbankverwalter für dieses Unternehmen gene riert werden können, in vereinfachter Form dargestellt. In Fig. 2A beginnt die Hierarchie der PCBs mit der Teileidentifikation, die typischerweise ein alphanumerisches Zeichen ist. Ausgehend von der Teileidentifikation kann auf Informationen über den Lagerbestand oder Lagervorrat, auf für die betreffende Bestandsnummer eventuell generierten, technischen Änderungsmitteilungen sowie auf den (die) Fertigungsort(e) der Teile zugegriffen werden. Darüber hinausgehend könnte mit diesem PCB nicht nur auf die Bestandsmengen, sondern auch auf Informationen über den Lagerort der Vorräte zugegriffen werden, und hinsichtlich der technischen Änderungsmitteilungen könnte auch ermittelt werden, von welchen Technikern diese erstellt wurden. Eventuell sind einige dieser Informationen geschützt und nicht für allebenutzer verfügbar, und wenngleich Zugriffsbeschränkungen ein Merkmal von DL/I sind, sind sie für den Gegenstand der Erfindung nicht von Bedeutung und werden daher nicht weiter diskutiert. Aus Fig. 2A ist ersichtlich, daß der PCB ein Indizierschema ist. Jede Ebene dieses Schemas wird als segment bezeichnet.
  • Fig. 2B zeigt einen weiteren PCB, der seinen Ausgangspunkt am Fertigungsstandort hat und zur Teileidentifikation führt. Mit diesem PCB kann ermittelt werden, welche Teile an jedem Fertigungsstandort hergestellt werden. In einem kleinen Unternehmen kann der Fertigungsstandort eine Werkzeugmaschine innerhalb des Werks bezeichnen und in einem großen Unternehmen sogar einen gesonderten geographischen Standort. Der in Fig. 2B gezeigte PCB kann als invertierte Teilmenge des PCB aus Fig. 2A betrachtet werden. Fig. 2C zeigt ein drittes Beispiel für einen PCB, der seinen Ausgangspunkt am Lagerstandort hat, von dem aus auf Informationen über die Lagervorräte und die zugehörige Teileidentifikation zugegriffen werden kann. Dar- über hinaus ist der Zugriff auf Lieferangaben, wie z.B. Ablaufplanung, Bestimmungsort und Frachtführer, möglich. Andere PCBs könnten typischerweise personalbezogene Angaben enthalten und Zugriff auf Schichtpläne, Urlaubspläne o.ä. bieten.
  • Die vorliegende Erfindung bietet nun einem Benutzer 15 (Fig. 1) ohne Kenntnisse oder Erfahrung im Bereich der Datenverarbeitung die Möglichkeit, über PCBs 11 auf Daten im Massenspeicher 14 zuzugreifen. Dieser Vorgang wird automatisch innerhalb von zwei Operationen durchgeführt.
  • Das System gestattet eine logische sowie physikalische Verbindung der PCBs für den Zugriff auf Informationen in Antwort auf die Benutzerabfrage. Die physikalische Verbindung der Segmente ist in den in Fig. 2A und 2B veranschaulichten PCBs impliziert. Fig. 2C veranschaulicht eine logische Verbindung. In diesem PCB ist der Fertigungsort nicht physikalisch mit dem Bestands-/Teileidentifikationssegment verbunden, statt dessen ist er logisch mit diesem Segment verbunden. Diese logische Verbindung ermöglicht eine Verbindung mit anderen PCBs wie z.B. mit dem in Fig. 2A gezeigten PCB. Auf diese Weise kann eine Anzahl von Pfaden erstellt werden, um auf die gewünschte Information auf eine Benutzerabfrage hin zuzugreifen.
  • Bei der ersten Operation liest das System die physikalische DL/I-Datenbankbeschreibung (DBD), die logische DBD und die PCB-Quellenanweisungen, die alle von DL/I ebenfalls benutzt werden. Auf der Basis dieser Informationen erstellt das system ein Datenverzeichnis und konsolidiert die möglichen Zugriffspfade in Eingangsdatenbanken. Die nächste Operation wird online durchgeführt. Das System bewertet alle möglichen Zugriffspfade, die für eine Abfrage in Frage kommen, gewichtet sie anhand ihrer Effizienz und wählt den besten Zugriffspfad aus.
  • Die erste vom System durchgeführte Operation ist im Flußdiagramm von Fig. 3 dargestellt. Im ersten, durch Block 20 veranschaulichten Schritt werden alle physikalischen DBDs gelesen, und anschließend wird in Block 21 eine Eingangsdatenbank für jede physikalische Datenbankbeschreibung (DBD) erstellt. Eine Eingangsdatenbank wird durch ein Strukturglied (ein benanntes Hauptelement) im Datenverzeichnis beschrieben. Jedes Segment und Feld wird durch eine Zeile in einem Strukturglied beschrieben.
  • Der nächste Schritt in Block 22 besteht darin, alle Sekundärindex-DBDs zu lesen, die indexierten Felder in den Eingangsdatenbank-Strukturgliedern aufzufinden und in Block 23 die Indexzielsegmente entsprechend der Definition des indexierten Feldes zu speichern. In Block 24 werden alle logischen DBDs gelesen, und die physikalische Quelleneingangsdatenbank für jede DBD wird lokalisiert. Dies bedeutet, daß die physikalische Datenbank, dessen Stamm der Ursprung des Stamms der logischen Datenbank ist, lokalisiert wird.
  • Wie in Entscheidungsblock 25 veranschaulicht wird, muß das System nun eine Einscheidung treffen. Jedes Segment in der logischen DBD kann ihren Ursprung in der Eingangsdatenbank haben oder auch nicht. Ist dies der Fall, wird wie in Block 26 angegeben eine zusätzliche Zeile im Anschluß an die physikalische Segmentzeile hinzugefügt. Andernfalls wird ein neues Segment an der korrekten hierarchischen Position wie durch Block 27 angegeben eingetragen. Zwei Segmente mit einem gemeinsamen Ursprung werden zusammen mit zwei aufeinanderfolgenden Zeilen behandelt. Verknüpfte Segmente werden als zwei einzelne Teile behandelt. Für jedes auf diese Weise hinzugefügte logische Segment wird das Ursprungssegment in einer anderen Eingangsdatenbank lokalisiert, und die Felder werden daraus wie durch Block 28 angegeben kopiert.
  • Als nächstes werden in Block 29 alle Programmspezifikationsblöcke (PSBs; ein PSB enthält mehrere PCBs) und die in ihnen enthaltenen PCBs gelesen, um die Eingangsdatenbank und die Segmente zu finden, auf die jeder Block verweist. Anschließend wird in Block 30 die PCB-Identifikation für jedes Segment aufgezeichnet. Die PCB-Identifikation umfaßt den PSB- Namen sowie die PCB-Nummer. Wenn mehrere PCBs auf ein Segment - physikalisch oder logisch - verweisen, werden neue Segmentzeilen erstellt, eine pro Segment und PCB. Wenn ein PCB eine sekundäre Verarbeitungsseguenz (Sekundärindex) verwendet, wird dies in einer Segment-PCB-Zeile erfaßt, und die PCB- Identifikation wird für das indexierte Feld wie in Block 31 angegeben aufgezeichnet.
  • An diesem Punkt werden alle Eingangsdatenbanken abgetastet, und diejenigen Segmente, auf die kein PCB verweist, sowie Eingangsdatenbanken, die keine Segmente enthalten, auf die verwiesen wird, werden wie in Block 32 angegeben eliminiert. Schließlich wird eine Gruppe von Feldquerverweis-Strukturgliedern erzeugt, d.h. ein Strukturglied für jedes Feld im Datenverzeichnis, wie durch Block 33 angegeben. Jedes erzeugte Strukturglied zeigt jede Eingangsdatenbank, jedes Segment und jede PCB-Identifikation, mit deren Hilfe das Feld gefunden werden kann.
  • Die zweite vom System durchgeführte Operation ist in Fig. 4 dargestellt, doch bevor mit einer Diskussion dieser Figur fortgefahren wird, müssen bestimmte Begriffsdefinitionen vorgenommen werden. Die Erfindung bietet Menüs, mit deren Hilfe ein Benutzer Eingangsdatenbanken, Segmente und Felder auswählen kann. Wenn der Benutzer ein Segment identifiziert, identifiziert er das erste Segment aus einer Gruppe von gleichwertigen Segmenten, die in der oben beschriebenen Eingangsdatenbankoperation zusammengefaßt sind. Jedes dieser gleichwertigen Segmente ist intern durch einen Segmentnamen und eine PCB-Identifikation gekennzeichnet. Diese Kombination definiert einen Pfad von Segmenten vom Stamm zum benannten Segment. Sind auf diese Weise zwei gleichwertige Kombinationen aus Segmentname/PCB-Identifikation gleichwertig, werden die definierten Pfade als kongruent bezeichnet.
  • Ein Teilpfad eines Pfades besitzt ausgehend vom Stamm die gleiche PCB-Identifikation und die gleichen Segmentnamen wie der Pfad, ist jedoch kürzer als dieser. Von einer Überlappung von zwei Pfaden spricht man, wenn ein Teilpfad vorhanden ist, der beiden gemeinsam ist.
  • Wenn die Pfade auf ihrer gesamten Länge eine gemeinsame physikalische Quelle verwenden, ihre zugehörigen Segmente jedoch in entgegengesetzter Reihenfolge vorliegen, werden sie als entgegengesetzte Pfade bezeichnet. Im Sinne dieser Definition (a) müssen alle in einem Pfad verwendeten Felder im anderen Pfad vorhanden sein, (b) werden paarige Segmente als identisch betrachtet, sofern nicht ihre logischen Eltern mit ihren physikalischen Eltern übereinstimmen und (c) können einer oder beide Pfade in einer sekundären Datenstruktur vorhanden sein, die mit einem Sekundärindex verknüpft ist. Diese Beziehung zwischen Pfaden ist von entscheidender Bedeutung. Bei jedem logischen Pfad oder Sekundärindexpfad, der in puncto Zugriffseffizienz nützlich sein soll, muß das zugehörige Stammschlüsselfeld vom Benutzer in einem Auswahlkriterium angegeben sein. Wenn der Benutzer den zugehörigen Stammschlüssel angegeben hat, enthält der identifizierte Pfad ein Segment, das in diesem Stamm seinen Ursprung hat; ansonsten ist dies nicht der Fall.
  • Wie aus Block 40 in Fig. 4 hervorgeht, wird für jedes vom Benutzer angegebene Segment der definierte Pfad betrachtet, und jeder derart definierte Teilpfad wird in den längsten Pfad konsolidiert. Für jedes vom Benutzer identifizierte Feld werden dann in Block 41 alle in Frage kommenden Zugriffspfade anhand der Feldquerverweis-Strukturglieder lokalisiert. Dies sind die Kandidatenpfade. Ist ein Kandidatenpfad nicht entgegengesetzt, sondern ein Teilpfad eines entgegengesetzten Pfads, wird er in Entscheidungsblock 42 so erweitert, daß er entgegengesetzt ist (siehe Block 43); andernfalls geschieht dies nicht. Alle Kandidatenpfade außer solchen, die entweder kongruent mit bzw. oder entgegengesetzt zu einem vom Benutzer identifizierten Pfad sind, werden wie in Block 44 angegeben eliminiert.
  • An diesem Punkt in der Operation werden für jeden identifizierten Pfad alle Kandidaten entweder als kongruent oder als entgegengesetzt betrachtet. In Block 45 wird jeder Kandidat abhängig davon gewichtet, ob er einen primären physikalischen Schlüssel, primären logischen Schlüssel oder einen Sekundärindex mit einer Gleichheits- oder Bereichsbeziehung verwendet. Die nächste Priorität gilt der Kongruenz gegenüber Entgegengesetztheit. Schließlich wird der identifizierte Pfad in Relation zu den anderen Kandidaten gewichtet. Jeder der obigen Faktoren wird halb so stark wie der vorangegangene Faktor gewichtet.
  • Zur Auswahl eines PSB werden in Block 46 die den in jedem PSB enthaltenen Kandidatenpfaden zugewiesenen Gewichte summiert, und in Block 47 wird der höchste PSB gewählt. Alle nicht in diesem PSB enthaltenen Kandidaten werden eliminiert. In Block 47 wird eine Konsistenzprüfung durchgeführt, um sicherzustellen, daß alle als überlappend identifizierten Pfade beim gewählten PSB immer noch überlappen; ist dies nicht der Fall, wird dieser PSB verworfen und statt dessen der nächstbeste gewählt. Der Benutzer wird benachrichtigt, wenn kein zufriedenstellender PSB verfügbar ist, und die Verarbeitung endet bei Entscheidungsblock 48.
  • Für jeden identifizierten Pfad wird der einzig beste kongruente Pfad und der einzig beste entgegengesetzte Pfad (sofern vorhanden) ermittelt, wie durch Block 49 angegeben wird. Der kongruente und identifizierte Pfad können identisch sein.
  • Erfordert die vom Benutzer definierte Abfrage ein Zählen, Summieren oder eine sonstige Berechnung, die von der hierarchischen Reihenfolge der Segmente in einem identifizierten Pfad abhängig ist, und überlappt der betreffende Pfad keinen anderen Pfad in der Abfrage, wird ein entgegengesetzter Pfad mit hoher Priorität anstelle des identifizierten Pfads abgerufen. Dieses Verfahren wird als Pfadinvertierung bezeichnet und durch die Folge von Blöcken 50, 51 und 52 in Fig. 4 angegeben. Wenn eine oder beide dieser Bedingungen falsch sind und ein entgegengesetzter Pfad mit hoher Priorität verfügbar ist, wird er abgerufen, um Stammschlüssel des identifizierten Pfads oder des kongruenten Pfads zu erhalten. Diese werden verwendet, um nur diejenigen Elemente abzurufen, die die Auswahlkriterien in zufriedenstellender Weise erfüllen können. Diese Option ist weniger effizient als die Pfadinvertierung und wird als Stammschlüsselwiederherstellung bezeichnet, wie durch Block 53 angegeben wird. Obgleich sie weniger effizient ist, ist sie immer noch weitaus besser als ein vollständiges Durchsuchen der Datenbank.
  • Zusammenfassend ist zu sagen, daß die Erfindung ein Verfahren zur Verbesserung eines Datenbankverwaltungssystems bietet, das sowohl physikalische als auch logische DBDs sowie alle PCBs zwecks Erstellung eines Datenverzeichnisses liest. Dieses Datenverzeichnis beschreibt Eingangsdatenbanken, die dem Benutzer online in Form von Menüs angezeigt werden. Ausgehend von den Auswahlkriterien des Benutzers werden Zugriffspfade aus dem Datenverzeichnis ermittelt.

Claims (6)

1. Ein Datenbankzugriffsverfahren zur Vereinfachung der Aufgabe des Zugriffs auf gewünschte Informationen in Antwort auf eine Benutzerabfrage und unter Verwendung der Data Language/I (DL/I) in einem hierarchischen Datenbankverwaltungssystem des Typs, der vom Benutzer angegebene Auswahlkriterien in Verbindung mit entsprechenden, von einem Datenbankverwalter erstellten Programmkommunikationsblöcken (PCB) (11) für eine beliebige zu verwendende hierarchische Datenstruktur erfordert, wobei das Verfahren durch folgende Schritte gekennzeichnet ist:
Automatisches Konstruieren eines Datenverzeichnisses aus Beschreibungen einer Ursprungsdatenbank (14) und PCB- Anweisungen, Hauptelementen oder Einträgen der aus Eingangsdatenbanken gebildeten Datenverzeichnisses, wobei die Eingangsdatenbanken mit Hilfe folgender Schritte erstellt werden:
Lesen (20) der physikalischen und logischen Datenbankbeschreibungen (DBD) und der PCB-Daten,
Einrichten (21) einer Eingangsdatenbank pro physikalischer DBD,
Lokalisieren (24) der Eingangsdatenbank mit dem Stammsegment für jede logische DBD, und
Auffinden (25-31) der Eingangsdatenbank und Segmente, auf die jede PCB-Anweisung verweist,
wodurch eine Gruppe von Querverweis-Eingangsdatenbanken erzeugt wird, die das Datenverzeichnis bilden und wobei jede eine einzige hierarchische Struktur aufweist, die jeden physikalischen und logischen Pfad zeigt, der von einem physikalischen Stammsegment aus mit konsolidierten, doppelten logischen und physikalischen Pfaden zugänglich ist,
Darstellen der Eingangsdatenbanken für den Urheber der Abfrage (15) in Form eines Menüs, aus dem Segmentfelder und PCBs, aus denen die Eingangsdatenbanken konstruiert wurden, vom Benutzer ausgewählt werden können,
in Antwort auf eine Benutzerabfrage automatisches Auflisten (41, 42, 44) der in Frage kommenden Zugriffspfade zu den abzurufenden Segmenten, und
automatisches Auswählen (45-49) des optimalen Zugriffspfads entsprechend den gewichteten Prioritäten basierend auf den Schlüsselwerten, die den Segmenten jedes Pfads zugeordnet wurden.
2. Das Verfahren gemäß Patentanspruch 1, in dem der Schritt des Konstruierens eines aus Eingangsdatenbanken gebildeten Datenverzeichnisses weiterhin den Schritt des Eliminierens (32) solcher Segmente umfaßt, auf die nicht durch PCBs verwiesen wird, sowie solcher Eingangsdatenbanken, die keine Segmente enthalten, auf die verwiesen wird.
3. Das Verfahren gemäß den oben genannten Patentansprüchen 1 oder 2, in dem der Auflistungsschritt die folgenden Schritte umfaßt:
Identifizieren (41, 42) von Kandidatenpfaden als in Frage kommende Pfade für den Zugriff auf die gewünschte Information für jedes vom Benutzer gewählte Segment, und Eliminieren (44) aller Kandidatenpfade mit Ausnahme solcher Pfade, die Segmente aus dem Stammsegment zu einem benannten Segment enthalten, die als kongruent bezeichnet werden, und solcher Pfade, die ein Stammsegment gemeinsam verwenden, bei denen die Segmente jedoch in entgegengesetzter Reihenfolge vorliegen und die als entgegengesetzt bezeichnet werden.
4. Das Verfahren gemäß Patentanspruch 1, 2 oder 3, in dem der Auswahlschritt die folgenden Schritte umfaßt:
Zuordnen (45) eines Gewichts zu jedem möglichen Zugriffspfad, abhängig davon, ob er einen primären physikalischen Schlüssel, einen primären logischen Schlüssel oder einen Sekundärindex verwendet und kongruent ist, und
Summieren (46) der den in Frage kommenden Zugriffspfaden zugeordneten Gewichte mit dem Programmspezifikationsblock, der einen oder mehrere PCBs mit der höchsten gewichteten Summe umfaßt, die gewählt wurde.
5. Das Verfahren gemäß Patentanspruch 4, bei dem sich die zugeordneten Gewichte für jeden nachfolgenden Faktor um diepotenz2reduzieren.
6. Das Verfahren gemäß Patentanspruch 4 oder 5, bei dem der Auswahlschritt weiterhin die folgenden Schritte umfaßt:
Durchführen einer Konsistenzprüfung, um sicherzustellen, daß die als überlappend identifizierten Pfade bei einem gewählten PSB immer noch überlappen,
Zurückweisen (47, 48) des gewählten PSB und Verwenden des nächsten PSB, wenn eine Überlappung nicht gefunden wurde, und Ermitteln (49) des besten kongruenten Pfads und des einzig besten entgegengesetzten Pfads (falls vorhanden) für jeden Kandidatenpfad,
wenn die vom Benutzer definierte Abfrage ein Zählen, Summieren oder eine andere Berechnung erfordert, die von der hierarchischen Reihenfolge von Segmenten in einem identifizierten Pfad abhängig ist, und wenn dieser Pfad keinen anderen Pfad in der Abfrage überlappt, Abrufen (51, 52) eines entgegengesetzten Pfads (sofern vorhanden) mit hoher Priorität anstelle des identifizierten Pfads, doch
wenn eine oder beide dieser Bedingungen falsch ist und ein entgegengesetzter Pfad mit hoher Priorität verfügbar ist, Abrufen (53) des entgegengesetzten Pfads mit hoher Priorität, um Stammschlüssel des identifizierten Pfads zu erhalten, damit die Elemente, welche die Auswahlkriterien erfüllen können, abgerufen werden können.
DE3382808T 1983-01-21 1983-11-10 Datenbankzugriffsverfahren mit einem benutzerfreundlichen Menü Expired - Lifetime DE3382808T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/459,792 US4531186A (en) 1983-01-21 1983-01-21 User friendly data base access

Publications (2)

Publication Number Publication Date
DE3382808D1 DE3382808D1 (de) 1996-10-10
DE3382808T2 true DE3382808T2 (de) 1997-03-13

Family

ID=23826175

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3382808T Expired - Lifetime DE3382808T2 (de) 1983-01-21 1983-11-10 Datenbankzugriffsverfahren mit einem benutzerfreundlichen Menü

Country Status (4)

Country Link
US (1) US4531186A (de)
EP (1) EP0114221B1 (de)
JP (1) JPS59140571A (de)
DE (1) DE3382808T2 (de)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4829427A (en) * 1984-05-25 1989-05-09 Data General Corporation Database query code generation and optimization based on the cost of alternate access methods
US4769772A (en) * 1985-02-28 1988-09-06 Honeywell Bull, Inc. Automated query optimization method using both global and parallel local optimizations for materialization access planning for distributed databases
JPS62173545A (ja) * 1986-01-27 1987-07-30 Hitachi Ltd デ−タデイクシヨナリ・デイレクトリの維持管理方式
JP2644728B2 (ja) * 1986-01-27 1997-08-25 株式会社日立製作所 データディクショナリ・ディレクトリシステム
US4879648A (en) * 1986-09-19 1989-11-07 Nancy P. Cochran Search system which continuously displays search terms during scrolling and selections of individually displayed data sets
US5206949A (en) * 1986-09-19 1993-04-27 Nancy P. Cochran Database search and record retrieval system which continuously displays category names during scrolling and selection of individually displayed search terms
US4862498A (en) * 1986-11-28 1989-08-29 At&T Information Systems, Inc. Method and apparatus for automatically selecting system commands for display
US5257374A (en) * 1987-11-18 1993-10-26 International Business Machines Corporation Bus flow control mechanism
US4887206A (en) * 1987-12-29 1989-12-12 International Business Machines Corporation Automated system for estimating impact on inventory cost due to an engineering change to a component
US5142674A (en) * 1988-03-08 1992-08-25 International Business Machines Corporation Interchange object data base index which eliminates the need for private copies of interchange documents files by a plurality of application programs
US5121477A (en) * 1988-04-08 1992-06-09 International Business Machines Inc. System for interactively creating action bar pull-down windows of a user interface for use at program run time
US5513332A (en) * 1988-05-31 1996-04-30 Extended Systems, Inc. Database management coprocessor for on-the-fly providing data from disk media to all without first storing data in memory therebetween
US5065347A (en) * 1988-08-11 1991-11-12 Xerox Corporation Hierarchical folders display
US5167011A (en) * 1989-02-15 1992-11-24 W. H. Morris Method for coodinating information storage and retrieval
US4932021A (en) * 1989-04-03 1990-06-05 At&T Bell Laboratories Path learning feature for an automated telemarketing system
US5442783A (en) * 1990-01-22 1995-08-15 Motorola, Inc. Method and apparatus for transferring data base information
JPH0415839A (ja) * 1990-05-10 1992-01-21 Toshiba Corp 分散データベース管理装置
US5317729A (en) * 1990-10-24 1994-05-31 International Business Machines Corporation Method for the storage of multi-versioned data with retrieval based on searched query
GB9023096D0 (en) * 1990-10-24 1990-12-05 Int Computers Ltd Database search processor
US5301317A (en) * 1992-04-27 1994-04-05 International Business Machines Corporation System for adapting query optimization effort to expected execution time
US5412806A (en) * 1992-08-20 1995-05-02 Hewlett-Packard Company Calibration of logical cost formulae for queries in a heterogeneous DBMS using synthetic database
US5675784A (en) * 1995-05-31 1997-10-07 International Business Machnes Corporation Data structure for a relational database system for collecting component and specification level data related to products
US5913205A (en) * 1996-03-29 1999-06-15 Virage, Inc. Query optimization for visual information retrieval system
US6081798A (en) * 1996-04-24 2000-06-27 International Business Machines Corp. Object oriented case-based reasoning framework mechanism
US6266663B1 (en) 1997-07-10 2001-07-24 International Business Machines Corporation User-defined search using index exploitation
US6278994B1 (en) 1997-07-10 2001-08-21 International Business Machines Corporation Fully integrated architecture for user-defined search
US6219662B1 (en) 1997-07-10 2001-04-17 International Business Machines Corporation Supporting database indexes based on a generalized B-tree index
US6285996B1 (en) 1997-07-10 2001-09-04 International Business Machines Corp. Run-time support for user-defined index ranges and index filters
US6192358B1 (en) 1997-07-10 2001-02-20 Internatioanal Business Machines Corporation Multiple-stage evaluation of user-defined predicates
US6253196B1 (en) 1997-07-10 2001-06-26 International Business Machines Corporation Generalized model for the exploitation of database indexes
US6278990B1 (en) 1997-07-25 2001-08-21 Claritech Corporation Sort system for text retrieval
US5940819A (en) * 1997-08-29 1999-08-17 International Business Machines Corporation User specification of query access paths in a relational database management system
US6014664A (en) * 1997-08-29 2000-01-11 International Business Machines Corporation Method and apparatus for incorporating weights into data combinational rules
US6618718B1 (en) 1997-10-14 2003-09-09 International Business Machines Corporation Apparatus and method for dynamically generating query explain data
US6389425B1 (en) 1998-07-09 2002-05-14 International Business Machines Corporation Embedded storage mechanism for structured data types
US6381711B1 (en) * 1998-10-20 2002-04-30 International Business Machines Corporation Method and apparatus for unified, pre-addressed, context-sensitive reporting
US6381607B1 (en) 1999-06-19 2002-04-30 Kent Ridge Digital Labs System of organizing catalog data for searching and retrieval
US7699701B2 (en) * 2001-07-05 2010-04-20 Dbs Limited Partnership Method and system for providing real time sports betting information
US20030050994A1 (en) * 2001-07-27 2003-03-13 Robert Pollack Method of aggregating, classifying, reporting and cross-tabbing data in real time
US7296183B2 (en) * 2004-01-23 2007-11-13 Microsoft Corporation Selectable data field consistency checking
US7526486B2 (en) 2006-05-22 2009-04-28 Initiate Systems, Inc. Method and system for indexing information about entities with respect to hierarchies
AU2007254820B2 (en) 2006-06-02 2012-04-05 International Business Machines Corporation Automatic weight generation for probabilistic matching
US7685093B1 (en) * 2006-09-15 2010-03-23 Initiate Systems, Inc. Method and system for comparing attributes such as business names
US8356009B2 (en) * 2006-09-15 2013-01-15 International Business Machines Corporation Implementation defined segments for relational database systems
US7698268B1 (en) * 2006-09-15 2010-04-13 Initiate Systems, Inc. Method and system for filtering false positives
US8359339B2 (en) * 2007-02-05 2013-01-22 International Business Machines Corporation Graphical user interface for configuration of an algorithm for the matching of data records
US8515926B2 (en) 2007-03-22 2013-08-20 International Business Machines Corporation Processing related data from information sources
US8423514B2 (en) * 2007-03-29 2013-04-16 International Business Machines Corporation Service provisioning
US8429220B2 (en) * 2007-03-29 2013-04-23 International Business Machines Corporation Data exchange among data sources
US8321393B2 (en) * 2007-03-29 2012-11-27 International Business Machines Corporation Parsing information in data records and in different languages
US8370355B2 (en) * 2007-03-29 2013-02-05 International Business Machines Corporation Managing entities within a database
EP2193415A4 (de) 2007-09-28 2013-08-28 Ibm Verfahren und system zur analyse eines systems für den abgleich von datensätzen
US8713434B2 (en) 2007-09-28 2014-04-29 International Business Machines Corporation Indexing, relating and managing information about entities
AU2008304255B2 (en) * 2007-09-28 2013-03-14 International Business Machines Corporation Method and system for associating data records in multiple languages
US20100042953A1 (en) * 2008-08-18 2010-02-18 Douglas Albert Stewart Method, computer, and computer program for displaying a hierarchical navigation scheme

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4042912A (en) * 1975-06-19 1977-08-16 Honeywell Information Systems Inc. Database set condition test instruction
US4044334A (en) * 1975-06-19 1977-08-23 Honeywell Information Systems, Inc. Database instruction unload
US4205371A (en) * 1975-11-03 1980-05-27 Honeywell Information Systems Inc. Data base conversion system
US4422158A (en) * 1980-11-28 1983-12-20 System Development Corporation Method and means for interrogating a layered data base
US4445171A (en) * 1981-04-01 1984-04-24 Teradata Corporation Data processing systems and methods

Also Published As

Publication number Publication date
US4531186A (en) 1985-07-23
EP0114221B1 (de) 1996-09-04
JPH0330896B2 (de) 1991-05-01
EP0114221A3 (de) 1987-04-15
EP0114221A2 (de) 1984-08-01
DE3382808D1 (de) 1996-10-10
JPS59140571A (ja) 1984-08-11

Similar Documents

Publication Publication Date Title
DE3382808T2 (de) Datenbankzugriffsverfahren mit einem benutzerfreundlichen Menü
DE69533193T2 (de) Paralleles verarbeitungssystem zum durchlaufen einer datenbank
DE68925746T2 (de) Versionen-Verwaltungswerkzeug
DE3688529T2 (de) Verfahren zur Auffrischung von Mehrspaltentabellen in einer relationellen Datenbank mit Mindestinformation.
DE60208778T2 (de) Datenstruktur für informationssysteme
DE68926849T2 (de) Struktur und Verfahren zur Anordnung rekursiv abgeleiteter Daten in einer Datenbank
DE69031758T2 (de) Verfahren zur Organisation von und zum Zugriff auf Produkt beschreibenden Daten in Zusammenhang mit einem technischen Prozess
DE3855706T2 (de) Automatisierte Rechnung von Materialien
DE69128958T2 (de) Schneide- und Klebefilterung von unbegrenzten, dynamischen, unmodifizierbaren Datenströmen
DE69736748T2 (de) Editierumgebung für objektmodelle und verfahren zu deren anwendung
DE3752196T2 (de) Vorrichtung für Datenverarbeitungsverteilung über eine Mehrzahl von Steuerungsorten
EP0910829B1 (de) Datenbanksystem
EP1258812B1 (de) Virtuelle Datenbank heterogener Datenstrukturen
DE69904588T2 (de) Datenbankzugangswerkzeug
EP0855062B1 (de) Informationssystem und verfahren zur speicherung von daten in einem informationssystem
DE69610509T2 (de) Spezifizierende indexierungen für datenbanken
DE3855212T2 (de) Verfahren zur Berechnung eines transitiven Abschlusses
DE19513308A1 (de) Dreidimensionales Dateisystem unter Verwendung einer virtuellen Knotenarchitektur
WO2002007495A1 (de) System zur unterstützung einer fehlerursachenanalyse
DE19955718A1 (de) Paralleler Datenbank-Support für Workflow-Management-Systeme
DE10251440A1 (de) Reproduzierbare Auswahl von Elementen in einer Hierarchie
DE69123493T2 (de) Verarbeitungsverfahren und Gerät um einen Dateinamen von einem logischen zu einem richtigen Namen zu erstellen
DE19534819B4 (de) Verfahren und Vorrichtung zum Konfigurieren einer Datenbank
DE69027524T2 (de) Verfahren und System zur automatischen Steuerung der Verteilung von Datenobjekten
EP1166228B1 (de) Verfahren zur nutzung von fraktalen semantischen netzen für alle arten von datenbank-anwendungen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition