DE69434096T2 - Verfahren und System, um mit einer graphischen Benutzerschnittstelle in einer Datenbank zu suchen - Google Patents

Verfahren und System, um mit einer graphischen Benutzerschnittstelle in einer Datenbank zu suchen Download PDF

Info

Publication number
DE69434096T2
DE69434096T2 DE69434096T DE69434096T DE69434096T2 DE 69434096 T2 DE69434096 T2 DE 69434096T2 DE 69434096 T DE69434096 T DE 69434096T DE 69434096 T DE69434096 T DE 69434096T DE 69434096 T2 DE69434096 T2 DE 69434096T2
Authority
DE
Germany
Prior art keywords
query
window
results
query statement
node
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
DE69434096T
Other languages
English (en)
Other versions
DE69434096D1 (de
Inventor
Li Austin Shih-Gong
Tate Bruce Austin Allan
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 DE69434096D1 publication Critical patent/DE69434096D1/de
Publication of DE69434096T2 publication Critical patent/DE69434096T2/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/248Presentation of query results
    • 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
    • G06F16/2428Query predicate definition using graphical user interfaces, including menus and forms
    • 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

Description

  • Diese Erfindung betrifft allgemein in Rechnern gespeicherte Datenbanken. Insbesondere betrifft sie ein System und ein Verfahren, die dazu dienen, eine Datenbank mit Hilfe einer grafischen Benutzeroberfläche zu durchsuchen.
  • In Rechnern gespeicherte Datenbanken haben immer mehr Interesse auf sich gezogen, nicht nur aufgrund der schnellen Zunahme der in diesen Datenbanken gespeicherten und aus diesen Datenbanken abgerufenen Datenmengen, sondern auch als Folge der Datenbeziehungen, die während des Prozesses der Speicherung oder des Abrufens hergestellt werden können. Mit der zunehmenden Verbreitung von relationalen Datenbanken haben die Schulung und Erfahrung eines typischen Endbenutzers abgenommen, während die verfügbaren Ressourcen zugenommen haben. Benutzer von Datenbanken wünschen sich insbesondere Verbesserungen an den grafischen Benutzeroberflächen zur Steuerung der Datenbankanwendungen, damit sie für den unerfahrenen Benutzer leichter verständlich werden.
  • Bei Verwendung einer Datenbank besteht eine der schwierigeren Aufgaben bei der Problemlösung häufig darin, die Quellen ausfindig zu machen, die ein bestimmtes Problem verursachen. Suchanweisungen oder Suchabfragen werden gewöhnlich verwendet, um strukturiert nach Informationen zu suchen, die in einer Datenbank gespeichert sind, um bei der Problemlösung zu helfen. Wenn Benutzer wenig klare Vorstellungen davon haben, wie die richtige Suchabfrage zur Lösung eines Problems aufgebaut werden soll, wird gewöhnlich so vorgegangen, dass mit der Prüfung eines Erstabfrageberichts begonnen wird, der das Ergebnis einer Erstabfrage für mehr Informationen ist. Auf der Grundlage dieser Informationen entscheidet der Benutzer dann, wie er die Suche eingrenzt oder die Datenbank mit einem höheren Detaillierungsgrad ("drill down") weiter durchsucht. Wenn diese eingegrenzten Suchläufe nicht das gewünschte Ergebnis hervorbringen, muss der Benutzer zu einer vorherigen Suchanweisung zurückgehen und es erneut versuchen.
  • Die derzeitigen Suchmethoden sind umständlich und verhindern eine wirkungsvolle Formulierung der Abfrage. Die meisten vorhandenen Systeme stellen keinen Abfrageverlauf bereit. Diese Systeme machen es schwierig, wiederkehrende Probleme zu lösen, da sie den Benutzer zwingen, (1) sich an alle vorherigen Ergebnisse zu erinnern oder (2) sich das Ergebnis manuell zu notieren. Dies ist mühsam.
  • In Proceedings of the 12th annual International ACMSIGIR Conference on research and development in Information retrieval, 28. Juni 1989, Cambridge, MA, USA, Seiten 29 bis 32, beschreiben R. Gpdin u. a. in "Design of a browsing interface for Information retrieval" die Auslegung einer Benutzerschnittstelle, die eine allmähliche Ausweitung oder Verfeinerung der Abfrage des Benutzers zulässt, indem ein Graph aus Begriffs- und Dokumentteilgruppen durchsucht wird. Es gibt jedoch hinderliche Details bei der Schnittstelle, und Möglichkeiten, die Komplexität des Aufbaus weiter einzuschränken, wären vorteilhaft.
  • Diejenigen Systeme, die einen Verlauf bereithalten, stellen gewöhnlich eine Art von linearem Protokoll bereit. Viele handelsübliche Datenbanken haben einen Verlaufsbefehl, der dem Benutzer den Zugriff auf dieses Protokoll ermöglicht. Die in dem Protokoll enthaltenen Informationen sind gewöhnlich nicht ausreichend. Sie können die Anzahl der Treffer enthalten, die einen suchspezifischen Satz von Anweisungen erfüllen. Unter Umständen enthalten sie nur die Erstabfrage. Es gibt ein doppeltes Problem bei diesen Lösungsansätzen. Erstens wird das Protokoll linear dargestellt. Diese lineare Darstellung spiegelt nicht den tatsächlichen Prozess der Problemlösung wider, bei dem eine Abfrage verfeinert werden kann, um eine andere zu erzeugen. Zweitens gibt es keine komfortable Möglichkeit, auf das Protokoll zuzugreifen. Wenn er aufgerufen wurde, entfernt der Verlaufsbefehl außerdem die ausführliche Abfrageanweisung und auch die ausführlichen Ergebnisse der letzten Abfrageanweisung vom Bildschirm. Der Benutzer muss sich diese Einzelheiten im Rahmen der eingeschränkten Zusammenfassung ins Gedächtnis zurückrufen, wenn er seine Suchstrategie ändert. Ferner besteht bei den meisten Suchsystemen das einzige Verfahren zur Änderung eines Suchlaufs darin, dass weitere Abfrageanweisungen geschrieben werden.
  • Die vorstehenden Nachteile nach dem Stand der Technik werden von der Erfindung in der beanspruchten Weise überwunden.
  • Es ist deshalb eine Aufgabe der Erfindung, eine Abfrageanweisung und eine grafische Darstellung ihres Ergebnisses bei einem Suchlauf in einer Datenbank gleichzeitig auf einer grafischen Benutzeroberfläche anzuzeigen.
  • Es ist eine weitere Aufgabe der Erfindung, die Beziehung der Abfrageanweisungen und der Abfrageergebnisse grafisch auf einer grafischen Benutzeroberfläche darzustellen.
  • Diese und andere Aufgaben werden von einer Suchfunktion mit einer Benutzerschnittstelle gelöst, die drei Fenster enthält:
    ein Abfragefenster, ein Diagrammfenster und ein Verlaufsfenster. Alle Fenster werden gleichzeitig auf der grafischen Benutzeroberfläche dargestellt. Das Abfragefenster zeigt den Text der zuletzt eingegebenen Abfrageanweisung an, entsprechend der eine in einem Rechnersystem gespeicherte Datenbank durchsucht wird. Das Diagrammfenster zeigt die aktuellen Ergebnisse der jüngsten Abfrageanweisung grafisch an. Das Verlaufsfenster stellt die Abfrageanweisungen und ihre Ergebnisse während der aktuellen Abfragesitzung dar, und die Abfrageanweisungen und ihre Ergebnisse werden grafisch als ein Baum dargestellt, in dem die Abfrageanweisungen und die Abfrageergebnisse Knoten sind und jedes Ergebnis einer Abfrageanweisung ein Kind der Abfrageanweisung ist, entsprechend der ein Suchlauf durchgeführt wurde, um es zu erzeugen.
  • Eine Eingabe in irgendeines der Fenster ändert die Darstellung der Daten in den anderen beiden Fenstern. Zusätzliche Abfrageanweisungen ändern die grafische Darstellung der Ergebnisse in dem Diagrammfenster und fügen neue Knoten zu dem in dem Verlaufsfenster dargestellten Baum hinzu. Wenn die grafische Darstellung der Ergebnisse in dem Diagrammfenster verändert wird, werden neue oder geänderte Abfrageanweisungen erzeugt und in dem Abfragefenster dargestellt, die ebenfalls Knoten zu dem Verlaufsfenster hinzufügen. Indem der Benutzer bestimmte Knoten in dem Baum im Verlaufsfenster auswählt, kann er zu vorherigen Abfragen zurückkehren und diese ändern, um neue Abfrageanweisungen zu erstellen. Durch Auswahl des Wurzelknotens in dem Verlaufsfenster kann der Benutzer unabhängig von irgendeiner vorherigen Abfrageanweisung eine neue Abfrageanweisung veranlassen. Entsprechend der neuen oder der geänderten Abfrageanweisungen wird ein Suchlauf durchgeführt, so dass die Abfrageergebnisse in dem Diagrammfenster bereitgestellt und neue Knoten in dem Verlaufsfenster erzeugt werden.
  • Diese und andere Merkmale, Vorteile und Aufgaben lassen sich durch Bezugnahme auf die folgende Beschreibung und die beigefügten Zeichnungen besser verstehen, in denen:
  • 1 ein Rechnersystem darstellt, das einen Systembildschirm, eine Systemeinheit, eine Maus und eine Tastatur enthält;
  • 2 eine Übersichtsdarstellung der Architektur des in 1 gezeigten Rechnersystems ist;
  • die 3A bis 3D die grafische Benutzeroberfläche des Suchsystems zeigen;
  • 4 die Datenstrukturen zeigt, die zur Darstellung der in den 3A bis 3D gezeigten grafischen Benutzeroberfläche verwendet werden;
  • die 5A bis 5C Flussdiagramme des Suchprozesses sind, wenn der Benutzer die in den 3A bis 3D gezeigte grafische Benutzeroberfläche verändert;
  • 6 die grafische Benutzeroberfläche des Suchsystems ist, wobei das Diagrammfenster einen Multimediadatenstrom darstellt.
  • Die Erfindung kann auf einer Vielzahl von Rechnern oder einem Rechnerverbund unter vielen verschiedenen Betriebssystemen ausgeführt werden. Der Rechner könnte beispielsweise ein Personal Computer, ein Kleinrechner, ein Großrechner oder ein Rechner sein, der in einem verteilten Netzwerk aus anderen Rechnern läuft. Obgleich die jeweilige Wahl des Rechners nur durch die Anforderungen an die Festplatte und den Festplattenspeicher beschränkt ist, könnten Rechner der Serie IBM PS/2 (PS/2 ist ein Warenzeichen der International Business Machine Corporation) in der vorliegenden Erfindung verwendet werden. Für weitere Informationen über die Rechnerserie IBM PS/2 sei der Leser auf das Technical Reference Manual Personal Systems/2 Model 50, 60 systems, IBM Corporation, Teile-Nr. 68X2224, Bestellnummer S68X-2224 und das Technical Reference Manual Personal Systems/2 (Model 80), IBM Corporation, Teile-Nr. 68X2256, Bestellnummer S68X-2254, verwiesen. Ein Betriebssystem, das ein Personal Computer IBM PS/2 ausführen kann, ist das IBM OS/2 2.0 (OS/2 ist ein Warenzeichen der International Business Machine Corp.). Für weitere Informationen über das Betriebssystem IBM OS/2 2.0 sei der Leser auf, Bestellnummern 10G6261, 10G6495, 10G6494, verwiesen.
  • Alternativ dazu könnte das Rechnersystem ein System der Rechnerreihe IBM RISC System/6000 (RISC System/6000 ist ein Warenzeichen der International Business Machine Corp.) sein, die unter dem Betriebssystem AIX (AIX ist ein Warenzeichen der International Business Machine Corp.) laufen. Die verschiedenen Modelle des RISC System/6000 sind in vielen Veröffentlichungen der IBM Corporation beschrieben, zum Beispiel in RISC System/6000, 7073 und 7016 POWERstation and POWERserver Hardware Technical Reference, Bestellnummer SA23-2644-00. Das Betriebssystem AIX ist in General Concepts and Procedure--AIX Version 3 for RISC System/6000, Bestellnummer SC23-2202-00 sowie in anderen Veröffentlichungen der IBM Corporation beschrieben.
  • In 1 ist ein Rechner 10 gezeigt, der eine Systemeinheit 11, eine Tastatur 12, eine Maus 13 und eine Tastatur 14 umfasst. Der Bildschirm 16 der Anzeigeeinheit 14 dient zur Darstellung der grafischen Benutzeroberfläche (GUI). Die vom Betriebssystem unterstützte grafische Benutzeroberfläche ermöglicht dem Benutzer die Nutzung eines gezielten Eingabeverfahrens ("point and shoot"), d. h., er bewegt den Mauszeiger 15 auf ein Symbol, das ein Datenobjekt darstellt, an einer bestimmten Stelle auf dem Bildschirm 16 und drückt eine der Maustasten, um einen Benutzerbefehl oder eine Benutzerauswahl auszuführen.
  • 2 zeigt ein Blockschaltbild der Komponenten des in 1 gezeigten Personal Computers. Die Systemeinheit 11 enthält einen Systembus oder eine Vielzahl von Systembussen 21, an den/die verschiedene Komponenten angeschlossen sind und über den/die die Kommunikation zwischen den verschiedenen Komponenten durchgeführt wird. Der Mikroprozessor 22 ist mit dem Systembus 21 verbunden und wird vom Nur-Lese-Speicher (ROM) 23 und dem Direktzugriffspeicher (RAM) 24 unterstützt, die ebenfalls an den Systembus 21 angeschlossen sind. Ein Mikroprozessor der IBM-Multimedia-PS/2-Rechnerserie ist ein Mikroprozessor der Mikroprozessorfamilie von Intel, zu der auch die Mikroprozessoren 386 und 486 gehören. Andere Mikroprozessoren einschließlich, jedoch nicht auf diese beschränkt, der Mikroprozessorfamilie von Motorola wie beispielsweise die Mikroprozessoren 68000, 68020 oder 68030 sowie verschiedene Prozessoren mit eingeschränktem Befehlssatz (Reduced Instruction Set Computer, RISC), die von IBM, Hewlett Packard, Sun, Intel, Motorola und anderen hergestellt werden, können in dem jeweiligen Rechner aber auch verwendet werden.
  • Der ROM 23 enthält neben anderem Code das Basic Input-Output System (BIOS), das grundlegende Hardware-Operationen wie zum Beispiel die Interaktion mit den Plattenlaufwerken und der Tastatur steuert. Der RAM 24 ist der Hauptspeicher, in den das Betriebssystem und Anwendungsprogramme geladen werden. Der Speicherverwaltungschip 25 ist mit dem Systembus 21 verbunden und steuert Zugriffsoperationen auf den Direktspeicher einschließlich der Übergabe von Daten zwischen dem RAM 24 und dem Festplattenlaufwerk 26 und dem Diskettenlaufwerk 27. Der ebenfalls an den Systembus 21 angeschlossene CD-ROM 32 dient zur Speicherung einer großen Datenmenge, beispielsweise eines Multimediaprogramms oder einer großen Datenbank.
  • Verschiedene E/A-Steuereinheiten sind ebenfalls an diesen Systembus 21 angeschlossen: die Tastatursteuereinheit 28, die Maussteuereinheit 29, die Videosteuereinheit 30 und die Audiosteuereinheit 31. Erwartungsgemäß stellt die Tastatursteuereinheit 28 die Hardwareschnittstelle für die Tastatur 12 bereit, die Maussteuereinheit 29 stellt die Hardwareschnittstelle für die Maus 13 bereit, die Videosteuereinheit 30 ist die Hardwareschnittstelle für den Bildschirm 14, und die Audiosteuereinheit 31 ist die Hardwareschnittstelle für die Lautsprecher 15a und 15b. Die Lautsprecher 15a und 15b können zur Übergabe von Audioobjekten an den Benutzer verwendet werden. Eine E/A-Steuereinheit 40 wie zum Beispiel ein Token-Ring-Adapter ermöglicht die Kommunikation über ein Netzwerk 46 mit anderen ähnlich konfigurierten Datenverarbeitungssystemen.
  • Eine der bevorzugten Ausführungen der vorliegenden Erfindung ist ein Satz von Befehlen in einem Code-Modul, das sich im Direktzugriffspeicher 24 befindet. Bis er vom Rechnersystem benötigt wird, kann der Befehlssatz in einem anderen Rechnerspeicher abgelegt werden, beispielsweise im Festplattenlaufwerk 26, auf einer optischen Platte zur letztendlichen Verwendung im CD-ROM 32 oder auf einer Diskette zur letztendlichen Verwendung im Diskettenlaufwerk 27. Wie in der Figur gezeigt ist, befinden sich das Betriebssystem 50 und der Präsentationsmanager 52 im RAM 24. In diesem Beispiel ist die Erfindung in einem Suchsystem 54 realisiert, das eine Datenbank 56 durchsucht und das Betriebssystem oder den Präsentationsmanager zur Darstellung der GUI verwendet. Manche Betriebssysteme wie zum Beispiel das Betriebssystem OS/2 haben einen integrierten Präsentationsmanager. Andere Systeme verwenden einen Präsentationsmanager, bei dem es sich um einen eigenständigen Code handelt. Alternativ dazu könnte die vorliegende Erfindung in einer eigenständigen Anwendung realisiert werden, die ihre eigene grafische Benutzeroberfläche hat.
  • Abfrageanweisungen, die zum Abruf von Daten aus Datenbanken verwendet werden, sind in der Technik bekannt. Die Structured Query Language (SQL) nach dem ANSI-Standard ist beispielsweise eine Sprache zur Erstellung solcher Anweisungen. Eine Abfrage legt in für einen Rechner erkennbaren Ausdrücken die Tabellen, in denen die Daten gefunden werden, die interessierenden Tabellenspalten, die von Zeilen zu erfüllenden Bedingungen, die Reihenfolge der Spalten, Unterscheidungsbedingungen, Verknüpfungen von Daten innerhalb von Tabellen und andere Beziehungen fest. Der Leser sei auf einen Text in der von der IBM Corporation 1991 veröffentlichten Broschüre "IBM Operating Systems/2 Extended Edition Database Manager Structured Query Language (SQL)" verwiesen, welcher SQL und seine Verwendungsmöglichkeiten beschreibt.
  • Wenn eine Verknüpfung bereitgestellt wird, um die Abfrageanweisung, ihren Bericht oder ihre Ergebnisse und den Abfrageverlauf miteinander zu verbinden, kann der Benutzer interaktiv ein Abfrageergebnis sehen, ein Abfrageergebnis verändern, um Prädikate zu erzeugen, die zu der nächsten Abfrageanweisung hinzugefügt werden sollen, die aktualisierte Abfrageanweisung ändern und das nächste Abfrageergebnis sehen, nachdem die neue Abfrageanweisung geändert und ausgeführt wurde. Darüber hinaus verzeichnet eine Protokolliereinrichtung die Aktivitäten, die ein Benutzer an der Abfrageanweisung, dem Abfrageergebnis und dem Abfrageverlauf, die miteinander verknüpft sind, in einer der Problemlösung dienenden Sitzung interaktiv durchgeführt hat und stellt den Abfrageverlauf in dem Verlaufsfenster dar. Benutzer haben dann die Möglichkeit, über die Protokolliereinrichtung zu einer beliebigen Abfrageanweisung oder einem beliebigen Abfrageergebnis zurückzukehren und anschließend diesen Prozess zur Lösung wiederkehrender Probleme zu konfigurieren. Das Suchsystem der vorliegenden Erfindung stellt eine wirksamere Möglichkeit zur Lösung wiederkehrender Probleme als jedes bisherige Verfahren bereit, da aktiv ein übersichtliches Verzeichnis der bisherigen Aktivität geführt wird und jederzeit gleichzeitig mit der neuesten Abfrageanweisung und dem neuesten Abfrageergebnis zur Verfügung steht. Eine versuchsweise Problemlösungssitzung nach dem Trial-and-Error-Verfahren kann gespeichert und bearbeitet werden, um Konzepte zur zukünftigen Verwendung zu erzeugen, was den Wert dieses Problemlösungsansatzes beträchtlich steigert.
  • Wie in den 3A bis 3D gezeigt ist, wird die Erfindung in Form der grafischen Benutzeroberfläche (GUI) unter Verwendung von drei Fenstern realisiert. Das Abfragefenster 101 enthält die neueste Abfrageanweisung in der aktuellen Abfrage. In diesem Fall wird SQL als Abfragesprache verwendet, aber der Fachmann versteht, dass andere Sprachen ohne weiteres an ihre Stelle treten könnten. Das Diagrammfenster 102 zeigt die Ergebnisse der Abfrageanweisung, die in dem Abfragefenster grafisch dargestellt wird. In diesem Fall werden Balkendiagramme verwendet, doch kann der Benutzer die Art der grafischen Darstellung frei wählen, die ein Kurvendiagramm, ein Kreisdiagramm, ein Balkendiagramm, ein Graph oder eine andere Darstellung sein könnte. Das dritte Fenster ist das Baum- oder das Verlaufsfenster 103. In der bevorzugten Ausführungsform der Erfindung wird der Verlauf der Abfrage als eine grafische Darstellung wiedergegeben, die einem Baum ähnelt, bei dem alle Abfrageanweisungen und ihre Ergebnisse als Knoten dargestellt werden.
  • Die Fenster stehen alle in einer Wechselbeziehung miteinander. Änderungen an der Abfrageanweisung führen zu Änderungen an dem Diagrammfenster, um die neuen Ergebnisse für die geänderte Abfrageanweisung, d. h. die Abfrageergebnisse, wiederzugeben. Ebenso kann der Benutzer die Abfrageanweisung auch ändern, indem er direkt am Diagramm Änderungen vornimmt. Die Auswahl einer Teilgruppe eines auf der X-Achse skalierten Parameters könnte beispielsweise zu weiteren Einschränkungen der SQL-Klausel WHERE führen. Das Verlaufsfenster, das eine grafische Darstellung eines Protokolls ist, zeichnet die Aktivität des Benutzers im Abfragefenster und auch im Diagrammfenster auf. Jede Abfrageanweisung oder jedes in Form eines Diagramms dargestellte Ergebnis wird als ein Knoten in dem Baum dargestellt. Ein in Form eines Diagramms dargestelltes Ergebnis ist das Kind der Abfrageanweisung, die ausgeführt wurde, um es zu erzeugen. Eine geänderte Abfrageanweisung ist das Kind der Abfrageanweisung, von der es erzeugt wurde. Die grafische Darstellung eines solchen Verlaufsprotokolls ermöglicht dem Benutzer das schnelle Auffinden von zuvor erstellen Abfrageanweisungen, was den Prozess der Datenauswertung erheblich beschleunigt.
  • Viele bekannte grafische Benutzeroberflächen unterstützen den Gedanken der "Auswahl". Um ein Objekt in der GUI auszuwählen, bewegt ein Benutzer einen Mauszeiger auf ein Objekt auf dem Bildschirm, das ein Fenster auf dem Bildschirm oder im Falle der vorliegenden Erfindung ein Knoten eines Baums oder ein Balken in einem Balkendiagramm sein kann. Das Betriebssystem überwacht die relative Position der Objekte innerhalb der GUI und des Mauszeigers, während er vom Benutzer bewegt wird. Der Benutzer drückt dann die entsprechende Maustaste, um das Objekt auszuwählen. Das Objekt wird dann vom Fenstermanager in der Hervorhebungsart "Hervorhebung für ausgewählte Objekte" dargestellt, was bedeutet, dass das Objekt von anderen Objekten optisch abgesetzt wird, beispielweise indem die Pixel um ein ausgewähltes Objekt invertiert oder die Farbe der Umrandung in einem ausgewählten Fenster geändert wird. Dieser Auswahlprozess wird allgemein als "klicken auf" ein Objekt bezeichnet.
  • Die 3A bis 3D zeigen die grafische Benutzeroberfläche 100 des Suchsystems der vorliegenden Erfindung, wie sie auf den Bildschirm des Systems dargestellt würde. In diesem der Veranschaulichung dienenden Beispiel muss der Leiter des Compact-Disk-(CD-)Verkaufs für eine Kette von Musikläden den optimalen Preis für eine CD finden. Er klickt zuerst auf das Abfragefenster 101 und wird aufgefordert, den Namen der Abfrageanweisung einzugeben. Er wählt den Systemstandard, Query1, 104, der Suchanweisungen nach dem Preis und dem Standort des Ladengeschäfts enthält. Er gibt die Abfrageparameter ein, um herauszufinden, wie viele Einheiten in einem bestimmten Ladengeschäft zu einem hohen Preis (> 20 US$) verkauft wurden. Er führt diese Abfrageanweisung aus und bittet um die Ergebnisse 105 in Form eines Balkendiagramms 103, indem er ein Symbol oder einen Menüpunkt für ein Ergebnis in Form eines Balkendiagramms auswählt oder indem er eine andere bekannte Auswahlprozedur durchführt. Die Abfrageanweisung und ihre in Form eines Diagramms dargestellten Ergebnisse werden als die Knoten 106, 107 in dem Baum 108 dargestellt. Zwar sind die Knoten in den Figuren als alphanumerische Zeichen dargestellt, doch könnten auch Symbole oder andere Bildzeichen verwendet werden. Er sieht in dem Diagrammfenster 102, dass die Verkaufszahlen zu diesem Preis und in diesem Ladengeschäft schlecht waren. Er bricht diese Abfrage ab. Er klickt auf das Verlaufsfenster 103 und anschließend auf den Wurzelknoten 109 des Baums 108, um noch einmal von vorne anzufangen. In 3A ist die GUI zu diesem Zeitpunkt gezeigt.
  • Nun Bezug nehmend auf 3B gibt er über die Tastatur in das Abfragefenster 101 eine neue Abfrageanweisung 110, Query2, nach den gesamten Verkaufszahlen in einem anderen Ladengeschäft ohne Preisbeschränkung ein. Er führt die Abfrage 110 aus und erzeugt im Diagrammfenster 102 ein Balkendiagramm 112. Query2 110 und ihre Ergebnisse 112 werden im Verlaufsfenster 103 als die Knoten 114, 115 im Baum 108 gezeigt. In 3B ist die GUI 100 zu diesem Zeitpunkt gezeigt.
  • Bezug nehmend auf das Balkendiagramm 112 sieht er, dass die Verkaufszahlen im Allgemeinen schlecht, im unteren Preisbereich aber gut waren. Nun Bezug nehmend auf 3C markiert er einen Bereich 120 auf der X-Achse 121, der dem Stückpreis entspricht und in dem er die Umsatzspitze sieht. Als Antwort auf die Veränderung des Diagrammfensters 102 durch den Verkaufsleiter wird das Abfragefenster 101 automatisch aktualisiert. Der Benutzer wird automatisch zum Abfragefenster 101 zurückgeführt. Ein Zeiger 134 auf die geänderte Abfrage 130 wird als ein Knoten im Baum 108 gespeichert.
  • Mit 3D fortfahrend wird die geänderte Abfrage ausgeführt, und ein neuer Knoten 135 wird zum Baum 108 hinzugefügt. Der Benutzer kann weiterhin zwischen dem Abfragefenster 101 und dem Diagrammfenster 102 arbeiten, um schrittweise weitere Detaillierungsgrade der Daten zu erhalten, oder den Baum 108 verwenden, um zu einer vorherigen Abfrageanweisung zurückzugehen. Eine jede der Abfrageanweisungen und ein jedes der Ergebnisse wird aufgezeichnet, im Protokoll festgehalten und im Verlaufsfenster 103 dargestellt. Aktionen wie beispielsweise die Art und weise, in der das Abfrageergebnis dargestellt werden soll, können gestartet werden, indem ein Menüpunkt aus der Aktionsleiste 138 ausgewählt wird. weitere Knoten 140, 141 stellen die ausführlichste Abfrage 142 und ihr in Form eines Diagramms dargestelltes Ergebnis 143 dar. Die im Diagrammfenster 102 dargestellten Ergebnisse könnten in einer Multimediapräsentation verwendet werden, die die umfassenden und ausführlichen Darstellungen der Daten vollständig unterstützt.
  • Mehrere Datenstrukturen müssen im RAM gespeichert werden, um die in den vorhergehenden Figuren gezeigte GUI dazustellen. Wie in 4 gezeigt ist, befindet sich im RAM 24 eine Baumdatenstruktur 200, die den Wurzelknoten 201 und mehrere Kindknoten 202 bis 205 enthält. Jeder der Kindknoten 202 bis 205 entspricht einem der Abfrageobjekte 210, 214 oder einem der Ergebnisobjekte 212, 216. Weitere Knoten werden zum Baum 200 hinzugefügt, während der Benutzer seine Suche fortsetzt und dabei weitere Abfrageanweisungen erstellt und Ergebnisobjekte erzeugt.
  • Das Wurzelobjekt 201 ist die Wurzel der Baumstruktur und gleichzeitig ein Knoten, der zur Speicherung der Diagramme (Ergebnisse) und der Abfrageanweisungen verwendet wird, die der Benutzer erstellt. Die KNOTEN-Objekte 202 bis 205 sind Datenstrukturen, die einen bestimmten Knoten in dem Baum enthalten. Knoten können Ergebnissen oder Abfrageanweisungen entsprechen. Knoten enthalten auch eine Liste von Kindern, die ebenfalls Knoten sind. Die Knotenobjekte enthalten mehrere Variablen, unter anderem: NODE_QUERY, einen Zeiger auf das Abfrageobjekt; er hat den Wert Null, wenn dieser Knoten ein Diagramm ist, NODE_GRAPH, bei dem es sich um einen Zeiger auf das Diagrammobjekt handelt; er hat den Wert Null, wenn dieser Knoten ein Diagramm ist, CHILD_LIST, die einen Zeiger auf das erste Kind einer Liste von Kindern, die Kinder dieses Knotens sind, enthält. Nachfolgende Kinder können gefunden werden, indem die Liste NEXT_SIBLING durchlaufen wird. NEXT_SIBLING enthält einen Zeiger auf den nächsten Geschwisterteil in einer Liste von Geschwistern. Der letzte Geschwisterteil in der Liste zeigt auf NULL. Der Elternknoten zeigt auf das erste Kind mit der vorstehenden Variablen CHILD_LIST.
  • ABFRAGE-Objekte 210, 214 sind Datenstrukturen, die alle Elemente enthalten, die eine Abfrageanweisung bilden. Die Variable QUERY_NAME enthält den Namen der Abfrageanweisung. Die Variable QUERY_BUFFER enthält den gesamten Text oder alle Daten, die die interne Darstellung der Abfrage bilden. Die Variable HAS_BEEN_RUN ist eine Boolsche Markierung, die auf "wahr" (true) gesetzt wird, wenn die Abfrage ausgeführt wurde.
  • Die Ergebnisobjekte 212, 216 sind Datenstrukturen, die alle Elemente enthalten, die ein Ergebnis und dessen grafische Darstellung bilden. Die Variable GRAPH_TYPE ist die Art des Diagramms, z. B. Balkendiagramm, Kurvendiagramm, Kreisdiagramm usw.). Die Variable GRAPH_BUFFER enthält den gesamten Text und alle Daten, die die interne Darstellung des Diagramms bilden. PARENT_NODE ist die Abfrage, die ausgeführt wurde, um dieses Diagramm zu erzeugen. Wenn dieses Diagramm geändert wird, wird die sich daraus ergebende Abfrage als Kind dieses Knotens gespeichert.
  • Mehrere andere Variablen werden zur Überwachung des Fortschritts des Benutzers in dem Suchlauf verwendet. THIS_QUERY: Die Variable QUERY wird verwendet, um den Namen der Abfrage aufzunehmen, mit der der Benutzer gerade arbeitet. THIS_GRAPH: Die Variable GRAPH wird verwendet, um das zuletzt gespeicherte Ergebnis aufzunehmen. CURRENT_NODE: Die Variable NODE wird verwendet, um die Position des Benutzers in dem Baum zu überwachen.
  • Ein Prozessablauf im Verlauf der Bedienung des Suchsystems durch den Benutzer ist in den 5A bis 5C veranschaulicht. Im Schritt 300 werden die drei Fenster initialisiert, und der aktuelle Knoten wird auf den Wurzelknoten in der Baumstruktur gesetzt. Dann wartet das System auf die erste Abfrageanweisung vom Benutzer. Wenn es die Abfrageanweisung im Schritt 302 empfängt, erstellt es das erste Abfrageobjekt und setzt die Abfrageanweisung in der Variablen QUERY_BUFFER. Als Nächstes wird dem Benutzer im Schritt 304 die Möglichkeit gegeben, die Abfrageanweisung zu benennen. Der für die Abfrage gewählte Name wird in die Variable QUERY_NAME eingegeben. Alternativ dazu kann ein standardmäßiger Namensgebungsmechanismus des Systems zur Benennung des Abfrageobjekts verwendet werden. Im Schritt 306 wird das Abfrageobjekt dann als ein Kind des aktuellen Knotens gespeichert, der in diesem Fall der Wurzelknoten ist. Im Schritt 308 wird die Variable CURRENT_NODE anschließend auf die Variable THIS_NODE gesetzt, bei der es sich um die aktuelle Abfrageanweisung handelt. Im Schritt 310 wird die Abfrageanweisung dann im Abfragefenster angezeigt.
  • An diesem Punkt wartet der Rechner auf die nächste Benutzereingabe. Im Schritt 312 empfängt der Rechner diese Eingabe, und im Schritt 314 stuft er die Eingabe in eine Kategorie ein. Eine der Möglichkeit, die es gibt, besteht darin, dass der Benutzer die erste Abfrageanweisung ändert, um eine zweite Abfrageanweisung zu schreiben, die die Erzeugung ihres eigenen Abfrageobjekts erforderlich macht. Im Schritt 316 wird die Variable QUERY_BUFFER des zweiten Abfrageobjekts auf die vom Benutzer geschriebene neue Abfrageanweisung gesetzt. Der Prozess kehrt zum Schritt 306 zurück, in dem die neue Abfrageanweisung als ein Kind des aktuellen Knotens gespeichert wird, bei dem es sich um die erste Abfrageanweisung handelt. Eine zweite Alternative, die in 5C gezeigt ist, besteht darin, die Abfrage auszuführen. Wenn die Benutzeraktion in den Schritten 312 und 314 eine Anforderung ist, den Baum mittels eines Mausklicks auf das Verlaufsfenster anzuzeigen, schaltet der Prozess zum Schritt 318, in dem der Suchverlauf aus dem Speicher abgerufen wird. Im Schritt 320 wird der Baum, der die grafische Darstellung des Suchverlaufs ist, im Verlaufsfenster angezeigt.
  • An diesem Punkt wartet das Suchsystem auf die nächste Benutzereingabe. Im Schritt 322 empfängt es die Eingabe. Mit 5B fortfahrend stellt das System die Art der vom Benutzer vorgenommenen Eingabe fest, Schritt 324. Wenn der Benutzer die Anforderung gestellt hat, den Baum zu bearbeiten, kann er im Schritt 326 Zweige des Baums löschen oder Knoten und Abfragen oder in Form eines Diagramms dargestellte Ergebnisse umbenennen. Nachdem ein erfolgreicher Suchlauf durchgeführt wurde, ist es für andere wichtig, den Prozess zu verstehen, der die gewünschten Ergebnisse hervorgebracht hat. Das Protokoll kann zu diesem Zweck verwendet werden. Der Baum kann gekürzt werden, um den erfolgreichen Suchlauf einfacher einzugeben. Knoten, in denen Tippfehler gemacht wurden, sollten beispielsweise gelöscht werden, um das Protokoll zu bereinigen, so dass es von anderen leicht zu verstehen ist. Um einen Knoten zu löschen, klickt der Benutzer auf den Knoten. Der Knoten ist markiert. Der Benutzer gibt dann einen Löschbefehl aus einem Aktionsleistenmenü oder einem anderen Mittel an. Dieser Knoten und alle seine Kinder werden gelöscht. Dies geschieht, indem der ausgewählte Knoten aus dem unmittelbaren Elternteil des ausgewählten Knotens entfernt wird. Es kann auch vorteilhaft sein, Abfrage-, Diagramm- oder Ergebnisknoten umzubenennen und ihnen dabei Namen zu geben, die die Knoten besser beschreiben. Dies kann in ähnlicher Weise geschehen. Indem man auf einen Knoten klickt, wird dieser markiert. Der Benutzer kann dann einen Umbenennungsbefehl aus einem Menüpunkt einer Aktionsleiste oder einem anderen Mittel angeben. Der Benutzer kann dann auf Wunsch über die Tastatur eine neue Zeichenfolge eingeben und anschließend die Eingabetaste drücken. Diese Zeichenfolge wird der neue Name für den Knoten. Sobald alle Änderungen eingegeben worden sind, wird der Baum im Schritt 328 mit den vom Benutzer vorgenommenen Änderungen im Plattenspeicher aktualisiert, und der Prozess kehrt zum Schritt 318 zurück.
  • Wenn die Aktion des Benutzers in der Auswahl eines Knotens in einem Baum besteht, wird der Knoten im Schritt 330 in der Hervorhebungsart "Hervorhebung für ausgewählte Objekte" angezeigt. Der Prozess kehrt zum Schritt 322 zurück, um auf eine neue Benutzereingabe zu warten. Wenn die Aktion des Benutzers im Öffnen eines Knotens besteht, stellt das System im Schritt 332 fest, ob der Knoten vom Typ Abfrageknoten oder Ergebnis-(Diagramm-)Knoten ist. Wenn der Knoten ein Abfrageknoten ist, wird der Abfragename im Schritt 334 von dem ausgewählten Knoten abgerufen, und dieser Name wird der Variablen CURRENT_NODE zugewiesen. Als Nächstes wird im Schritt 336 ein Test durchgeführt, um festzustellen, ob die Abfrageanweisung zuvor schon ausgeführt wurde. wenn ja, werden die Ergebnisse von der Abfrageanweisung im Schritt 338 abgerufen. Wie vorstehend erörtert wurde, befinden sich die Ergebnisse in einem Kindknoten der Abfrageanweisung des aktuellen Knotens. Diese Ergebnisse werden im Schritt 340 in einem Diagrammfenster angezeigt. Wenn die Abfrage noch nicht ausgeführt worden ist oder sobald die Ergebnisse in einem Diagrammfenster angezeigt worden sind, kehrt der Prozess zum Schritt 310 zurück, in dem die Abfrage in dem Abfragefenster angezeigt wird.
  • Wenn der geöffnete Knoten in dem Baum ein Ergebnisknoten ist, wird der Ergebnisname abgerufen, und im Schritt 342 wird der Variablen CURRENT_NODE dieser Name zugewiesen. Im Schritt 344 wird die entsprechende Abfrageanweisung, der Elternknoten des aktuellen Ergebnisknotens, vom Elternteil der Variablen CURRENT_NODE abgerufen. Im Schritt 346 wird die Abfrageanweisung im Abfragefenster angezeigt. An diesem Punkt schaltet der Prozess zum Schritt 360 in 5C. Wenn die Benutzereingabe im Schritt 314 von 5A auf Ausführung der Abfrage lautet, wird der Prozess in der in 5C gezeigten Weise durchgeführt. Zuerst wird im Schritt 350 ein Name des Ergebnisknotens aus der Benutzereingabe abgerufen und der Variablen THIS_GRAPH zugewiesen. Alternativ dazu kann ein Standardmechanismus verwendet werden, um den Namen des Ergebnisknotens zuzuweisen. Im Schritt 352 wird die Art einer grafischen Darstellung aus der Benutzereingabe abgerufen, und die Variable GRAPH_TYPE wird der Benutzereingabe zugewiesen. Im Schritt 354 werden der Name und die Art des Diagramms in einem Objekt gespeichert, bei dem es sich um das Kind des aktuellen Knotenobjekts handelt. Im Schritt 356 wird die Variable CURRENT_NODE dann dem Knoten der Variablen THIS_NODE zugewiesen, welcher der Ergebnisknoten ist. Im Schritt 360 werden die Ergebnisse der Abfrageanweisung in der vom Benutzer gewählten grafischen Darstellung im Diagrammfenster angezeigt.
  • Es gibt viele Verfahren, um die Ergebnisse, die die Bedingungen der Abfrageanweisung erfüllen, in Form von Diagrammen darzustellen. Beispielsweise nehmen handelsübliche Tabellenkalkulationsprogramme die Ergebnisse und stellen sie in einem Balken-, Kurven- oder Kreisdiagramm dar, wobei sie eine Legende und einen Wert verwenden. Zuerst betrachtet das System alle Spalten in der Tabelle und verwendet das erste Textfeld als Legende, und das erste numerische Feld wird als Wert für dieses Textfeld verwendet. Wenn diese Felder nicht geeignet sind, stellt die Anwendung dem Benutzer ein Fenster zur Verfügung, in das er über die Tastatur neue Legenden eingeben oder in dem er eine neue Spalte auswählen kann, um diese Standardwerte zu überschreiben.
  • Anschließend wartet das Rechnersystem auf die nächste Benutzeraktion. Im Schritt 362 wird die nächste Benutzeraktion empfangen, und im Schritt 364 wird sie ausgewertet. Die Benutzereingabe kann eine Anforderung für die Änderung des Diagramms sein, was eine geänderte Abfrageanweisung nach sich zieht. Im Schritt 366 markiert der Benutzer einen Bereich des Diagrammfensters, und im Schritt 368 wird die Abfrageanweisung als Folge der Markierung des Bereichs aktualisiert. Die sich ergebende neue Abfrage wird im Schritt 306 von 5A als ein Kind des aktuellen Knotens gespeichert.
  • Die Auswahl und die Markierung eines Teils der grafischen Darstellung der Ergebnisse in dem Diagrammfenster kann in Abhängigkeit von der Art der grafischen Darstellung auf viele verschiedene Arten durchgeführt werden. Wenn die grafische Darstellung der Ergebnisse in Bezug auf einen der Suchparameter linear erfolgt, kann die Abfrageanweisung in Bezug auf diesen Suchparameter entsprechend den Lehren der S. G. Li und anderen gemeinsam übertragenen Patentschrift mit dem Titel "Graphical Definition of Range in the Selection of Data From a Database Field", Seriennummer 0005265246, erteilt am 23. November 1993 und durch Bezugnahme Bestandteil hiervon, geändert werden. Beispielsweise werden Positionen auf der Achse, die den Suchparameter in einem Balkendiagramm darstellt, von einer Vielzahl von Heftsymbolen (tacks) festgelegt. Jede Position eines Heftsymbols entspricht einem Wert für den Suchparameter. Indem ein Feld zwischen zwei Positionen von Heftsymbolen markiert wird, kann der Benutzer eine SQL-Anweisung "between" ("zwischen") so ändern, dass sie den Werten entspricht, die zwischen die entsprechenden Werte der Suchparameter fallen.
  • Bei einem Kreis- oder einem Balkendiagramm zeigt jedes Kreissegment oder jeder Balken Informationen an, die zu einer bestimmten Kategorie oder einem bestimmten Bereich von Suchparametern gehören. Indem ein oder mehrere Kreissegmente oder Balken ausgewählt, d. h. markiert werden, könnte die Abfrageanweisung so geändert werden, dass nach Daten gesucht wird, die den ausgewählten Kategorien oder Bereichen entsprechen. Wenn die Ergebnisse in einem Kurven- oder Streudiagramm zwei- oder dreidimensional dargestellt werden, kann ein Rechteck oder ein Würfel um die interessierenden Bereiche gezeichnet werden. Jede einzelne Kante des Rechtecks oder des Würfels würde dem oberen oder dem unteren Wert in einem Wertebereich von Suchparametern entsprechen, der auf einer bestimmten Achse in Form eines Diagramms dargestellt wird. Die SQL-Klausel "between" für eine Vielzahl von Abfrageparametern kann so geändert werden, dass sie wie in der vorstehend in Bezug genommenen Anmeldung dem Auswahlbereich von Werten entspricht. Da mindestens einer der in Form eines Diagramms dargestellten Parameter ein Ergebnis- und nicht ein Suchparameter sein muss, kann die Auswahl mittels eines Rechtecks oder Würfels auch bedeuten, dass keine Ergebnisse dargestellt werden sollen, die außerhalb des ausgewählten Bereichs liegen.
  • Als weitere Möglichkeit könnte die Benutzereingabe in den Schritten 362 und 364 darin bestehen, dass die Abfrageanweisung angezeigt oder mit der Maus auf ein Abfragefenster geklickt wird. Im Schritt 370 wird der Eingabebereich des Bildschirms auf das Abfragefenster gesetzt, und der Prozess schaltet zum Schritt 312. Alternativ dazu möchte der Benutzer den Baum vielleicht in dem Baumfenster anzeigen, wobei der Prozess in diesem Fall zum Schritt 318 in 5A zurückkehrt.
  • Wenn in dem für das Verlaufsfenster vorgesehenen Anzeigebereich zu viele Knoten dargestellt werden sollen, kann der Benutzer über Bildlaufleisten, die sich an den Rändern der Fenster befinden, zu vorherigen Knoten zurückblättern. In einer alternativen Ausführungsform der Erfindung könnten die Abfrageanweisung und ihr Ergebnis mit einem einzigen Symbol angezeigt werden, um Anzeigebereich zu sparen. Wenn das Symbol ausgewählt wird, wird eine stark vergrößerte Version des Symbols dargestellt, bei der sowohl die Abfrageanweisung als auch das Ergebnis sichtbar sind und ausgewählt werden können. Während das Betriebssystem durch die Verwendung von Bildlaufleisten theoretisch unendlich lange Darstellungen handhaben kann, ist das Suchsystem mit einem großen Baum- und einem kleinen Verlaufsfenster bei der Zusammenfassung des Abfrageverlaufs nicht so leistungsfähig. Es ist jedoch immer noch besser als die Systeme nach dem Stand der Technik.
  • Eine alternative Ausführungsform würde es dem Benutzer ermöglichen, den Fensterinhalt des Abfragefensters oder des Diagrammfensters zu verschieben, um die zusammengehörigen Abfrageanweisungen und -ergebnisse gleichzeitig anzuzeigen. Damit würde ein hervorragendes Mittel bereitgestellt werden, um die Zusammenfassung der Abfrage, wie sie in dem Baum dargestellt wird, besser verstehen zu können. Da die Abfrageanweisung und ihre Ergebnisse als neue Eltern und Kinder verknüpft werden, könnte eine Eingabe in die Bildlaufleisten ein weiterer Eintrittspunkt in den vorstehend in Verbindung mit den 5A bis 5C beschriebenen Prozess sein.
  • Während der Blättervorgang oder andere Manipulationen stattfinden, könnte der aktuelle Knoten in dem Baum jedes Mal, wenn die Darstellung in dem Verlaufsfenster aufgefrischt wird, besonders hervorgehoben werden.
  • Wie vorstehend erwähnt wurde, ist das Suchsystem nicht auf die SQL-Abfrage beschränkt. Es gibt mehrere Abfragesprachen, die im Rahmen dieser Erfindung gut funktionieren würden. Query By Example (QBE) von IBM ist ein Beispiel für eine weitere Abfragesprache, die in diesem Zusammenhang gut funktionieren würde. Darüber hinaus ist die grafische Darstellung nicht auf ein Diagramm beschränkt. Tatsächlich können Bilddaten in einer relationalen Datenbank ganz einfach gespeichert werden. Viele relationale Datenbankverwaltungsprogramme speichern Bildinformationen in einer Datei. In der relationalen Datenbanktabelle, die einen Verweis auf die Bildinformationen enthält, wird ein Zeiger oder Offset auf die Datei in der relationalen Datenbank gespeichert. Dieses Verfahren kann auch zur Speicherung von weiteren Arten von Multimediadaten wie zum Beispiel Toninformationen verwendet werden, wobei die relationale Datenbanktabelle den Titel und die Speicherspurnummer auf einer gewöhnlichen Musik-CD enthalten kann.
  • Wie in 6 gezeigt ist, ist ein Filmarchivierungssystem, das, wenn es durchsucht wird, Ergebnisse als Bewegtbild anzeigt, eine ideale Anwendung. Verwendet man die Abfrageanweisung zur Auswahl einer Liste von Vollbildern und das Diagrammfenster 401 zur Darstellung der Ergebnisse, kann diese Lösung wirksam zum Auffinden von Clips in einer Videodatenbank eingesetzt werden. Eine relationale Datenbanktabelle könnte Datensätze enthalten, von denen jeder Folgendes aufweist: 1) einen Film- oder Auswahlnamen, 2) den Namen der Datei, die den Film enthält, 3) eine Vollbildkennung, die den Offset innerhalb der Datei des betreffenden Vollbilds enthält, 4) einen Zeitstempel zu Synchronisationszwecken (das Vollbild wird zu dem Zeitpunkt, den dieser Zeitstempel ausweist, angezeigt). Die Abfrageanweisung 403 im Abfragefenster 405 könnte wie folgt lauten: SELECT FRAMES, FROM movie_table, WHERE TIME>1:00:00 and time<1:00:30 and MOVIE-"Terminator 5" (WÄHLE AUS DER Film_Tabelle VOLLBILDER MIT EINER ZEITDAUER>1:00:00 und einer Zeitdauer<1:00:30 AUS DEM FILM "Terminator 5" AUS); diese Abfrageanweisung 403 würde die 30 Sekunden des Videofilms 406, die der Abfrageanweisung entsprechen, im Diagrammfenster 401 anzeigen. Um den Blättervorgang durch die Vollbilder wirksam zu gestalten, könnten die Schaltflächen "Zurück", "Schnellvorlauf", "Wiedergabe" sowie die Einzelschrittschaltflächen 407 dargestellt und in der gewohnten Weise genutzt werden. Mit dem Verlaufsfenster 409 würde wie zuvor ein komfortables Mittel bereitgestellt werden, mit dem sich die zuvor betrachteten Filmclips und die zu ihrer Anzeige verwendeten Abfrageanweisungen nachvollziehen ließen.

Claims (12)

  1. Verfahren zum Durchsuchen einer Datenbank, die auf einem Rechnersystem gespeichert ist, das die folgenden Schritte umfasst: Anzeigen einer ersten Abfrageanweisung in einem Abfragefenster (101) auf einem Bildschirm (100); Anzeigen eines ersten Satzes von Ergebnissen aus einem Datenbanksuchlauf entsprechend der ersten Abfrageanweisung in einem Diagrammfenster (102) auf dem Bildschirm (100); und Anzeigen von mindestens einem ersten Symbol, das die erste Abfrageanweisung und den ersten Satz von Ergebnissen darstellt, in einem Verlaufsfenster (103) auf dem Bildschirm (100); so dass das Abfragefenster, das Diagrammfenster und das Verlaufsfenster (101, 102, 103) gleichzeitig auf dem Bildschirm (100) dargestellt werden; dadurch gekennzeichnet, dass das mindestens erste Symbol als zwei Knoten in einer Baumstruktur (108) dargestellt wird und der erste Satz von Ergebnissen ein Kindknoten des ersten Abfrageanweisungsknotens ist.
  2. Verfahren nach Anspruch 1, das des Weiteren die folgenden Schritte umfasst: Anzeigen einer zweiten Abfrageanweisung, die eine Änderung der ersten Abfrageanweisung ist; Anzeigen eines zweiten Satzes von Ergebnissen in dem Diagrammfenster (102); und Anzeigen von mindestens einem zweiten Symbol, das die zweite Abfrageanweisung und den zweiten Satz von Ergebnissen darstellt, in dem Verlaufsfenster (103), wobei das mindestens zweite Symbol als zwei Knoten in einer Baumstruktur dargestellt wird und die zweite Abfrageanweisung ein Kindknoten des ersten Abfrageanweisungsknotens ist und der zweite Satz von Ergebnissen ein Kindknoten des zweiten Abfrageanweisungsknotens ist.
  3. Verfahren nach Anspruch 1 oder 2, das des Weiteren die folgenden Schritte umfasst: als Antwort auf eine Benutzereingabe Auswählen eines Knotens in der Baumstruktur (108); Darstellen einer Abfrageanweisung, die von dem ausgewählten Knoten dargestellt wird, in dem Abfragefenster (101); und Anzeigen eines Satzes von Ergebnissen aus dem Suchlauf entsprechend der Abfrageanweisung, die von dem ausgewählten Knoten dargestellt wird, in dem Diagrammfenster (102).
  4. Verfahren nach Anspruch 1 oder 2, das des Weiteren die folgenden Schritte umfasst: als Antwort auf eine Benutzereingabe Auswählen eines Knotens in der Baumstruktur (108); Darstellen eines Satzes von Ergebnissen, der von dem ausgewählten Knoten dargestellt wird, in dem Diagrammfenster (102); und Anzeigen der Abfrageanweisung, von welcher der Satz von Ergebnissen, der von dem ausgewählten Knoten dargestellt wird, abgeleitet wurde, in dem Abfragefenster (101).
  5. Verfahren nach Anspruch 3, das des Weiteren die folgenden Schritte umfasst: als Antwort auf eine Benutzereingabe Ändern der von dem ausgewählten Knoten dargestellten Abfrageanweisung, um eine dritte Abfrageanweisung zu erstellen; Darstellen der dritten Abfrageanweisung in dem Abfragefenster (101); Anzeigen eines dritten Satzes von Ergebnissen in einem grafischen Format in dem Diagrammfenster (102); und Anzeigen von mindestens einem dritten Symbol, das die dritte Abfrageanweisung und den dritten Satz von Ergebnissen darstellt, in dem Verlaufsfenster (103).
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei die Ergebnisse in einem Multimediaformat angezeigt werden.
  7. System zum Durchsuchen einer auf einem Rechner gespeicherten Datenbank, das Folgendes umfasst: ein Mittel, um eine erste Abfrageanweisung in einem Abfragefenster (101) auf einem Bildschirm (100) anzuzeigen; ein Mittel, um einen ersten Satz von Ergebnissen aus einem Datenbanksuchlauf entsprechend der ersten Abfrageanweisung in einem Diagrammfenster (102) auf dem Bildschirm (100) anzuzeigen; und ein Mittel, um mindestens ein erstes Symbol, das die erste Abfrageanweisung und den ersten Satz von Ergebnissen darstellt, in einem Verlaufsfenster (103) auf dem Bildschirm (100) anzuzeigen; so dass das Abfragefenster, das Diagrammfenster und das Verlaufsfenster (101, 102, 103) gleichzeitig auf dem Bildschirm (100) dargestellt werden; dadurch gekennzeichnet, dass das mindestens erste Symbol als zwei Knoten in einer Baumstruktur (108) dargestellt wird und der erste Satz von Ergebnissen ein Kindknoten des ersten Abfrageanweisungsknotens ist.
  8. System nach Anspruch 8, das des Weiteren Folgendes umfasst: ein Mittel, um eine zweite Abfrageanweisung anzuzeigen, die eine Änderung der ersten Abfrageanweisung ist; ein Mittel, um einen zweiten Satz von Ergebnissen in dem Diagrammfenster (102) anzuzeigen; und ein Mittel, um mindestens ein zweites Symbol, das die zweite Abfrageanweisung und den zweiten Satz von Ergebnissen darstellt, in dem Verlaufsfenster (103) anzuzeigen, wobei das mindestens zweite Symbol als zwei Knoten in einer Baumstruktur dargestellt wird und die zweite Abfrageanweisung ein Kindknoten des ersten Abfrageanweisungsknotens ist und der zweite Satz von Ergebnissen ein Kindknoten des zweiten Abfrageanweisungsknotens ist.
  9. System nach Anspruch 7 oder 8, das des Weiteren Folgendes umfasst: ein Mittel, um als Antwort auf eine Benutzereingabe einen Knoten in der Baumstruktur (108) auszuwählen; ein Mittel, um eine Abfrageanweisung, die von dem ausgewählten Knoten dargestellt wird, in dem Abfragefenster (101) darzustellen; und ein Mittel, um einen Satz von Ergebnissen aus dem Suchlauf entsprechend der Abfrageanweisung, die von dem ausgewählten Knoten dargestellt wird, in dem Diagrammfenster (102) anzuzeigen.
  10. System nach Anspruch 7 oder 8, das des Weiteren Folgendes umfasst: ein Mittel, um als Antwort auf eine Benutzereingabe einen Knoten in der Baumstruktur (108) auszuwählen; ein Mittel, um einen Satz von Ergebnissen, der von dem ausgewählten Knoten dargestellt wird, in dem Diagrammfenster (102) darzustellen; und ein Mittel, um die Abfrageanweisung, von welcher der Satz von Ergebnissen, der von dem ausgewählten Knoten dargestellt wird, abgeleitet wurde, in dem Abfragefenster (101) anzuzeigen.
  11. System nach Anspruch 9, das des Weiteren Folgendes umfasst: ein Mittel, um die Abfrageanweisung, die von dem ausgewählten Knoten dargestellt wird, als Antwort auf eine Benutzereingabe zu ändern, um eine dritte Abfrageanweisung zu erstellen; ein Mittel, um die dritte Abfrageanweisung in dem Abfragefenster (101) darzustellen; ein Mittel, um die Datenbank entsprechend der dritten Abfrageanweisung zu durchsuchen und um einen dritten Satz von Ergebnissen in einem grafischen Format in dem Diagrammfenster (102) anzuzeigen; und ein Mittel, um ein drittes und ein viertes Symbol, die die dritte Abfrageanweisung beziehungsweise den dritten Satz von Ergebnissen darstellen, in dem Verlaufsfenster (103) zu erstellen.
  12. System nach einem der Ansprüche 7 bis 11, wobei die Ergebnisse in einem Multimediaformat angezeigt werden.
DE69434096T 1993-06-04 1994-05-06 Verfahren und System, um mit einer graphischen Benutzerschnittstelle in einer Datenbank zu suchen Expired - Lifetime DE69434096T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US72626 1993-06-04
US08/072,626 US5911138A (en) 1993-06-04 1993-06-04 Database search facility having improved user interface

Publications (2)

Publication Number Publication Date
DE69434096D1 DE69434096D1 (de) 2004-12-02
DE69434096T2 true DE69434096T2 (de) 2006-02-02

Family

ID=22108805

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69434096T Expired - Lifetime DE69434096T2 (de) 1993-06-04 1994-05-06 Verfahren und System, um mit einer graphischen Benutzerschnittstelle in einer Datenbank zu suchen

Country Status (9)

Country Link
US (1) US5911138A (de)
EP (1) EP0627691B1 (de)
JP (1) JPH076179A (de)
KR (1) KR0143357B1 (de)
CN (1) CN1044415C (de)
AT (1) ATE280975T1 (de)
DE (1) DE69434096T2 (de)
ES (1) ES2229210T3 (de)
TW (1) TW378298B (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130067387A1 (en) * 2007-10-02 2013-03-14 Lg Electronics Inc. Mobile terminal and method of controlling the same
DE102015014678A1 (de) 2015-11-16 2017-05-18 BAULINO Verlag GmbH Bausanierungsplanverfahren

Families Citing this family (195)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3425784B2 (ja) * 1993-09-20 2003-07-14 富士通株式会社 文献情報検索装置
JP3339937B2 (ja) * 1993-10-29 2002-10-28 富士通株式会社 データベース検索装置
US5694546A (en) 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
US5946678A (en) * 1995-01-11 1999-08-31 Philips Electronics North America Corporation User interface for document retrieval
JP3548617B2 (ja) 1995-01-31 2004-07-28 株式会社日立製作所 情報検索装置
US5951641A (en) * 1995-02-15 1999-09-14 Questel Method for accessing data received from a server, and terminal using same
US6457004B1 (en) * 1997-07-03 2002-09-24 Hitachi, Ltd. Document retrieval assisting method, system and service using closely displayed areas for titles and topics
US5864819A (en) * 1996-11-08 1999-01-26 International Business Machines Corporation Internal window object tree method for representing graphical user interface applications for speech navigation
US6144968A (en) * 1997-03-04 2000-11-07 Zellweger; Paul Method and apparatus for menu access to information objects indexed by hierarchically-coded keywords
US6631522B1 (en) * 1998-01-20 2003-10-07 David Erdelyi Method and system for indexing, sorting, and displaying a video database
US6272489B1 (en) * 1998-05-12 2001-08-07 International Business Machines Corp. Visually oriented, easily navigable search facility
US6665687B1 (en) 1998-06-26 2003-12-16 Alexander James Burke Composite user interface and search system for internet and multimedia applications
US7269585B1 (en) * 1998-06-26 2007-09-11 Alexander James Burke User interface and search system for local and remote internet and other applications
WO2000008581A1 (en) * 1998-08-03 2000-02-17 Harvest Technology, Inc. Dynamic flow-through context switching of investment data into multiple investment tools
IL126373A (en) * 1998-09-27 2003-06-24 Haim Zvi Melman Apparatus and method for search and retrieval of documents
US6313833B1 (en) 1998-10-16 2001-11-06 Prophet Financial Systems Graphical data collection and retrieval interface
JP3760057B2 (ja) * 1998-11-19 2006-03-29 株式会社日立製作所 複数文書データベースを対象とした文書検索方法および文書検索サービス
US7020847B1 (en) * 1999-03-09 2006-03-28 Siemens Aktiengesellschaft Search and navigation device for hypertext documents
JP2000315206A (ja) 1999-04-30 2000-11-14 Fujitsu Ltd 検索条件の組み合わせに基づく検索システムおよび方法
US6941317B1 (en) 1999-09-14 2005-09-06 Eragen Biosciences, Inc. Graphical user interface for display and analysis of biological sequence data
US6125395A (en) * 1999-10-04 2000-09-26 Piiq.Com, Inc. Method for identifying collections of internet web sites with domain names
US6732088B1 (en) * 1999-12-14 2004-05-04 Xerox Corporation Collaborative searching by query induction
US10002167B2 (en) 2000-02-25 2018-06-19 Vilox Technologies, Llc Search-on-the-fly/sort-on-the-fly by a search engine directed to a plurality of disparate data sources
US6915308B1 (en) * 2000-04-06 2005-07-05 Claritech Corporation Method and apparatus for information mining and filtering
US6654749B1 (en) 2000-05-12 2003-11-25 Choice Media, Inc. Method and system for searching indexed information databases with automatic user registration via a communication network
US20010051942A1 (en) * 2000-06-12 2001-12-13 Paul Toth Information retrieval user interface method
US6772194B1 (en) * 2000-06-27 2004-08-03 Cisco Technology, Inc. Directory band shell extension
US6574624B1 (en) * 2000-08-18 2003-06-03 International Business Machines Corporation Automatic topic identification and switch for natural language search of textual document collections
US20020049792A1 (en) * 2000-09-01 2002-04-25 David Wilcox Conceptual content delivery system, method and computer program product
CN101382971A (zh) * 2000-09-12 2009-03-11 株式会社医药分子设计研究所 分子功能网络的生成方法
US6598042B1 (en) * 2000-09-29 2003-07-22 International Business Machines Corporation System and method for query by category
JP3934325B2 (ja) * 2000-10-31 2007-06-20 株式会社日立製作所 文書検索方法、文書検索装置及び文書検索プログラムの記憶媒体
US7340446B2 (en) * 2000-12-11 2008-03-04 Microsoft Corporation Method and system for query-based management of multiple network resources
US6782383B2 (en) * 2001-06-18 2004-08-24 Siebel Systems, Inc. System and method to implement a persistent and dismissible search center frame
US7213013B1 (en) 2001-06-18 2007-05-01 Siebel Systems, Inc. Method, apparatus, and system for remote client search indexing
US7464072B1 (en) 2001-06-18 2008-12-09 Siebel Systems, Inc. Method, apparatus, and system for searching based on search visibility rules
US7546287B2 (en) 2001-06-18 2009-06-09 Siebel Systems, Inc. System and method to search a database for records matching user-selected search criteria and to maintain persistency of the matched records
US8249885B2 (en) * 2001-08-08 2012-08-21 Gary Charles Berkowitz Knowledge-based e-catalog procurement system and method
US20030071837A1 (en) * 2001-08-30 2003-04-17 Intel Corporation System and method for explaining search logic and results
US7752266B2 (en) 2001-10-11 2010-07-06 Ebay Inc. System and method to facilitate translation of communications between entities over a network
US20030176929A1 (en) * 2002-01-28 2003-09-18 Steve Gardner User interface for a bioinformatics system
JPWO2003077159A1 (ja) * 2002-03-11 2005-07-07 株式会社医薬分子設計研究所 分子機能ネットワークの生成方法
US8078505B2 (en) 2002-06-10 2011-12-13 Ebay Inc. Method and system for automatically updating a seller application utilized in a network-based transaction facility
US7209915B1 (en) * 2002-06-28 2007-04-24 Microsoft Corporation Method, system and apparatus for routing a query to one or more providers
US20040267703A1 (en) * 2002-10-02 2004-12-30 Board Of Regents, The University Of Texas System System and method for accessing medical records
US20040138988A1 (en) * 2002-12-20 2004-07-15 Bart Munro Method to facilitate a search of a database utilizing multiple search criteria
US7774191B2 (en) * 2003-04-09 2010-08-10 Gary Charles Berkowitz Virtual supercomputer
US7089235B2 (en) * 2003-04-17 2006-08-08 International Business Machines Corporation Method for restricting queryable data in an abstract database
US7290219B2 (en) 2003-04-28 2007-10-30 International Business Machines Corporation System and method for selection based action bar
ATE350715T1 (de) * 2003-05-15 2007-01-15 Targit As Methode und benutzerschnittstelle für das bilden einer darstellung von daten mit meta-morphing
US7779018B2 (en) * 2003-05-15 2010-08-17 Targit A/S Presentation of data using meta-morphing
US7178109B2 (en) * 2003-08-12 2007-02-13 Chordiant Software, Inc. Process/viewer interface
US6990637B2 (en) 2003-10-23 2006-01-24 Microsoft Corporation Graphical user interface for 3-dimensional view of a data collection based on an attribute of the data
US20050187911A1 (en) * 2004-02-24 2005-08-25 Microsoft Corporation Visual query
US8468444B2 (en) * 2004-03-17 2013-06-18 Targit A/S Hyper related OLAP
WO2005091702A2 (es) * 2004-03-23 2005-10-06 Angel Palacios Sistema, procedimiento y programa para la gestión de expresiones de cálculo mediante estructuras gráficas arbóreas
US9189568B2 (en) 2004-04-23 2015-11-17 Ebay Inc. Method and system to display and search in a language independent manner
US7359902B2 (en) 2004-04-30 2008-04-15 Microsoft Corporation Method and apparatus for maintaining relationships between parts in a package
US7383500B2 (en) 2004-04-30 2008-06-03 Microsoft Corporation Methods and systems for building packages that contain pre-paginated documents
US8661332B2 (en) 2004-04-30 2014-02-25 Microsoft Corporation Method and apparatus for document processing
US7580948B2 (en) 2004-05-03 2009-08-25 Microsoft Corporation Spooling strategies using structured job information
US8363232B2 (en) 2004-05-03 2013-01-29 Microsoft Corporation Strategies for simultaneous peripheral operations on-line using hierarchically structured job information
US8243317B2 (en) * 2004-05-03 2012-08-14 Microsoft Corporation Hierarchical arrangement for spooling job data
US20050246384A1 (en) * 2004-05-03 2005-11-03 Microsoft Corporation Systems and methods for passing data between filters
US7755786B2 (en) 2004-05-03 2010-07-13 Microsoft Corporation Systems and methods for support of various processing capabilities
US7440132B2 (en) 2004-05-03 2008-10-21 Microsoft Corporation Systems and methods for handling a file with complex elements
US7519899B2 (en) * 2004-05-03 2009-04-14 Microsoft Corporation Planar mapping of graphical elements
US7607141B2 (en) 2004-05-03 2009-10-20 Microsoft Corporation Systems and methods for support of various processing capabilities
US7634775B2 (en) * 2004-05-03 2009-12-15 Microsoft Corporation Sharing of downloaded resources
US20050262057A1 (en) * 2004-05-24 2005-11-24 Lesh Neal B Intelligent data summarization and visualization
US7765225B2 (en) 2004-08-03 2010-07-27 The Hong Kong Polytechnic University Search system
US7213041B2 (en) * 2004-10-05 2007-05-01 Unisys Corporation Saving and restoring an interlocking trees datastore
US7774295B2 (en) * 2004-11-17 2010-08-10 Targit A/S Database track history
US7584111B2 (en) * 2004-11-19 2009-09-01 Microsoft Corporation Time polynomial Arrow-Debreu market equilibrium
US7363306B1 (en) * 2005-01-27 2008-04-22 Hewlett-Packard Development Company, L.P. Method and system for graphical representation
US8548799B2 (en) * 2005-08-10 2013-10-01 Microsoft Corporation Methods and apparatus to help users of a natural language system formulate queries
US20070050379A1 (en) * 2005-08-25 2007-03-01 International Business Machines Corporation Highlighting entities in a display representation of a database query, results of a database query, and debug message of a database query to indicate associations
US8688671B2 (en) * 2005-09-14 2014-04-01 Millennial Media Managing sponsored content based on geographic region
US10592930B2 (en) 2005-09-14 2020-03-17 Millenial Media, LLC Syndication of a behavioral profile using a monetization platform
US9703892B2 (en) 2005-09-14 2017-07-11 Millennial Media Llc Predictive text completion for a mobile communication facility
US10911894B2 (en) 2005-09-14 2021-02-02 Verizon Media Inc. Use of dynamic content generation parameters based on previous performance of those parameters
US20110313853A1 (en) 2005-09-14 2011-12-22 Jorey Ramer System for targeting advertising content to a plurality of mobile communication facilities
US10038756B2 (en) 2005-09-14 2018-07-31 Millenial Media LLC Managing sponsored content based on device characteristics
US10585942B2 (en) * 2005-09-14 2020-03-10 Millennial Media Llc Presentation of search results to mobile devices based on viewing history
US7676394B2 (en) 2005-09-14 2010-03-09 Jumptap, Inc. Dynamic bidding and expected value
US8532633B2 (en) 2005-09-14 2013-09-10 Jumptap, Inc. System for targeting advertising content to a plurality of mobile communication facilities
CN100396002C (zh) * 2005-11-23 2008-06-18 华为技术有限公司 一种利用关联查询进行鉴权的系统及其方法
US8924335B1 (en) 2006-03-30 2014-12-30 Pegasystems Inc. Rule-based user interface conformance methods
JP4656428B2 (ja) * 2006-04-26 2011-03-23 ソニー株式会社 コンテンツ処理装置および方法、並びにプログラム
EP2021953A2 (de) * 2006-05-16 2009-02-11 Targit A/S Verfahren zum herstellen eines intelligenten armaturenbretts für die datenüberwachung
DK176532B1 (da) 2006-07-17 2008-07-14 Targit As Fremgangsmåde til integration af dokumenter med OLAP ved brug af sögning, computerlæsbart medium og computer
US7991800B2 (en) * 2006-07-28 2011-08-02 Aprimo Incorporated Object oriented system and method for optimizing the execution of marketing segmentations
US8639782B2 (en) 2006-08-23 2014-01-28 Ebay, Inc. Method and system for sharing metadata between interfaces
US8706751B2 (en) * 2006-12-13 2014-04-22 International Business Machines Corporation Method for providing a user interface driven by database tables
US20080249984A1 (en) * 2007-04-03 2008-10-09 Coimbatore Srinivas J Use of Graphical Objects to Customize Content
DK176516B1 (da) * 2007-04-30 2008-06-30 Targit As Computerimplementeret fremgangsmåde samt computersystem og et computerlæsbart medium til at lave videoer, podcasts eller slidepræsentationer fra en Business-Intelligence-application
US8090603B2 (en) * 2007-05-11 2012-01-03 Fansnap, Inc. System and method for selecting event tickets
US8868620B2 (en) * 2007-06-08 2014-10-21 International Business Machines Corporation Techniques for composing data queries
US8392347B2 (en) 2007-06-20 2013-03-05 Kansai Paint Co., Ltd. Coating color database creating method, search method using the database, their system, program, and recording medium
US20080319975A1 (en) * 2007-06-22 2008-12-25 Microsoft Corporation Exploratory Search Technique
US20090119254A1 (en) * 2007-11-07 2009-05-07 Cross Tiffany B Storing Accessible Histories of Search Results Reordered to Reflect User Interest in the Search Results
US20090150387A1 (en) * 2007-11-08 2009-06-11 Marchewitz Jodi L Guided research tool
US8280901B2 (en) * 2008-01-03 2012-10-02 Masterfile Corporation Method and system for displaying search results
US8195641B2 (en) * 2008-04-21 2012-06-05 Microsoft Corporation Query authoring by modifying a view of the results of the query
US8214765B2 (en) * 2008-06-20 2012-07-03 Microsoft Corporation Canvas approach for analytics
US8429194B2 (en) 2008-09-15 2013-04-23 Palantir Technologies, Inc. Document-based workflows
US8332400B2 (en) * 2008-09-23 2012-12-11 Sage Inventions, Llc System and method for managing web search information in navigation hierarchy
US8055638B2 (en) * 2008-12-11 2011-11-08 Microsoft Corporation Providing recent history with search results
US8060524B2 (en) * 2008-12-11 2011-11-15 Microsoft Corporation History answer for re-finding search results
GB2466341A (en) * 2008-12-17 2010-06-23 Ibm Method of graphically creating binary expressions
DE102008062830B3 (de) * 2008-12-23 2010-07-22 Cerebrix Gmbh Vorrichtung und Verfahren zum Speichern, Suchen und Darstellen von Informationen
US8843435B1 (en) 2009-03-12 2014-09-23 Pegasystems Inc. Techniques for dynamic data processing
US8468492B1 (en) 2009-03-30 2013-06-18 Pegasystems, Inc. System and method for creation and modification of software applications
US8756229B2 (en) * 2009-06-26 2014-06-17 Quantifind, Inc. System and methods for units-based numeric information retrieval
WO2011053112A1 (en) * 2009-11-02 2011-05-05 Mimos Berhad System and method for visual query of semantic information
US20110113057A1 (en) 2009-11-12 2011-05-12 Salesforce.Com, Inc. Subscriptions for enterprise level business information networking
WO2011084470A1 (en) * 2009-12-15 2011-07-14 Mycare,Llc Health care device and systems and methods for using the same
US9552280B2 (en) * 2010-05-13 2017-01-24 Microsoft Technology Licensing, Llc Visual analysis and debugging of complex event flows
US8326861B1 (en) 2010-06-23 2012-12-04 Google Inc. Personalized term importance evaluation in queries
US8316019B1 (en) * 2010-06-23 2012-11-20 Google Inc. Personalized query suggestions from profile trees
US8880487B1 (en) 2011-02-18 2014-11-04 Pegasystems Inc. Systems and methods for distributed rules processing
US9002873B1 (en) * 2011-05-31 2015-04-07 Google Inc. Pipeline query interface
US9092482B2 (en) 2013-03-14 2015-07-28 Palantir Technologies, Inc. Fair scheduling for mixed-query loads
US8732574B2 (en) 2011-08-25 2014-05-20 Palantir Technologies, Inc. System and method for parameterizing documents for automatic workflow generation
US8504542B2 (en) 2011-09-02 2013-08-06 Palantir Technologies, Inc. Multi-row transactions
US8560494B1 (en) 2011-09-30 2013-10-15 Palantir Technologies, Inc. Visual data importer
US9589070B2 (en) * 2011-10-10 2017-03-07 Salesforce.Com, Inc. Method and system for updating a filter logic expression representing a boolean filter
US9195936B1 (en) 2011-12-30 2015-11-24 Pegasystems Inc. System and method for updating or modifying an application without manual coding
EP2812820A4 (de) * 2012-02-06 2015-09-23 Mycare Llc Verfahren zum durchsuchen genomischer datenbanken
US9378526B2 (en) 2012-03-02 2016-06-28 Palantir Technologies, Inc. System and method for accessing data objects via remote references
EP2885735A2 (de) * 2012-08-14 2015-06-24 Koninklijke Philips N.V. Verfahren und system zur anzeige von algorithmischen richtlinien
US9798768B2 (en) 2012-09-10 2017-10-24 Palantir Technologies, Inc. Search around visual queries
US9449062B2 (en) * 2012-09-28 2016-09-20 Sap Se Data exploration combining visual inspection and analytic search
US9348677B2 (en) 2012-10-22 2016-05-24 Palantir Technologies Inc. System and method for batch evaluation programs
US9471370B2 (en) 2012-10-22 2016-10-18 Palantir Technologies, Inc. System and method for stack-based batch evaluation of program instructions
US9952860B2 (en) 2013-03-13 2018-04-24 Veriscape, Inc. Dynamic memory management for a virtual supercomputer
US9367463B2 (en) 2013-03-14 2016-06-14 Palantir Technologies, Inc. System and method utilizing a shared cache to provide zero copy memory mapped database
US9898167B2 (en) 2013-03-15 2018-02-20 Palantir Technologies Inc. Systems and methods for providing a tagging interface for external content
US9740369B2 (en) 2013-03-15 2017-08-22 Palantir Technologies Inc. Systems and methods for providing a tagging interface for external content
US8868486B2 (en) 2013-03-15 2014-10-21 Palantir Technologies Inc. Time-sensitive cube
US8909656B2 (en) 2013-03-15 2014-12-09 Palantir Technologies Inc. Filter chains with associated multipath views for exploring large data sets
US20140330821A1 (en) * 2013-05-06 2014-11-06 Microsoft Corporation Recommending context based actions for data visualizations
US9105000B1 (en) 2013-12-10 2015-08-11 Palantir Technologies Inc. Aggregating data from a plurality of data sources
JP6284178B2 (ja) * 2013-12-25 2018-02-28 株式会社日立国際電気 顧客情報検索システム
US8924429B1 (en) 2014-03-18 2014-12-30 Palantir Technologies Inc. Determining and extracting changed data from a data source
US10606855B2 (en) 2014-07-10 2020-03-31 Oracle International Corporation Embedding analytics within transaction search
US10585892B2 (en) 2014-07-10 2020-03-10 Oracle International Corporation Hierarchical dimension analysis in multi-dimensional pivot grids
US20160026923A1 (en) 2014-07-22 2016-01-28 Palantir Technologies Inc. System and method for determining a propensity of entity to take a specified action
US10223423B2 (en) 2014-10-02 2019-03-05 Splunk Inc. Custom communication alerts
US10469396B2 (en) 2014-10-10 2019-11-05 Pegasystems, Inc. Event processing with enhanced throughput
CN104463436A (zh) * 2014-11-20 2015-03-25 国家电网公司 输变电信息处理方法及装置
US9348880B1 (en) 2015-04-01 2016-05-24 Palantir Technologies, Inc. Federated search of multiple sources with conflict resolution
US9514205B1 (en) 2015-09-04 2016-12-06 Palantir Technologies Inc. Systems and methods for importing data from electronic data files
US10558339B1 (en) 2015-09-11 2020-02-11 Palantir Technologies Inc. System and method for analyzing electronic communications and a collaborative electronic communications user interface
US9772934B2 (en) 2015-09-14 2017-09-26 Palantir Technologies Inc. Pluggable fault detection tests for data pipelines
US10331899B2 (en) 2015-10-24 2019-06-25 Oracle International Corporation Display of dynamic contextual pivot grid analytics
US9652510B1 (en) 2015-12-29 2017-05-16 Palantir Technologies Inc. Systems and user interfaces for data analysis including artificial intelligence algorithms for generating optimized packages of data items
US10698599B2 (en) 2016-06-03 2020-06-30 Pegasystems, Inc. Connecting graphical shapes using gestures
US10554516B1 (en) 2016-06-09 2020-02-04 Palantir Technologies Inc. System to collect and visualize software usage metrics
US9678850B1 (en) 2016-06-10 2017-06-13 Palantir Technologies Inc. Data pipeline monitoring
US10698647B2 (en) 2016-07-11 2020-06-30 Pegasystems Inc. Selective sharing for collaborative application usage
US10621314B2 (en) 2016-08-01 2020-04-14 Palantir Technologies Inc. Secure deployment of a software package
US10133782B2 (en) 2016-08-01 2018-11-20 Palantir Technologies Inc. Techniques for data extraction
US11256762B1 (en) 2016-08-04 2022-02-22 Palantir Technologies Inc. System and method for efficiently determining and displaying optimal packages of data items
US10552531B2 (en) 2016-08-11 2020-02-04 Palantir Technologies Inc. Collaborative spreadsheet data validation and integration
US10373078B1 (en) 2016-08-15 2019-08-06 Palantir Technologies Inc. Vector generation for distributed data sets
EP3282374A1 (de) 2016-08-17 2018-02-14 Palantir Technologies Inc. Benutzerschnittstellendaten-mustertransformator
US10650086B1 (en) 2016-09-27 2020-05-12 Palantir Technologies Inc. Systems, methods, and framework for associating supporting data in word processing
US10152306B2 (en) 2016-11-07 2018-12-11 Palantir Technologies Inc. Framework for developing and deploying applications
US10261763B2 (en) 2016-12-13 2019-04-16 Palantir Technologies Inc. Extensible data transformation authoring and validation system
US11157951B1 (en) 2016-12-16 2021-10-26 Palantir Technologies Inc. System and method for determining and displaying an optimal assignment of data items
US10509844B1 (en) 2017-01-19 2019-12-17 Palantir Technologies Inc. Network graph parser
US10180934B2 (en) 2017-03-02 2019-01-15 Palantir Technologies Inc. Automatic translation of spreadsheets into scripts
US10572576B1 (en) 2017-04-06 2020-02-25 Palantir Technologies Inc. Systems and methods for facilitating data object extraction from unstructured documents
US10824604B1 (en) 2017-05-17 2020-11-03 Palantir Technologies Inc. Systems and methods for data entry
US10534595B1 (en) 2017-06-30 2020-01-14 Palantir Technologies Inc. Techniques for configuring and validating a data pipeline deployment
US10204119B1 (en) 2017-07-20 2019-02-12 Palantir Technologies, Inc. Inferring a dataset schema from input files
US10754820B2 (en) 2017-08-14 2020-08-25 Palantir Technologies Inc. Customizable pipeline for integrating data
US11016936B1 (en) 2017-09-05 2021-05-25 Palantir Technologies Inc. Validating data for integration
US11379525B1 (en) 2017-11-22 2022-07-05 Palantir Technologies Inc. Continuous builds of derived datasets in response to other dataset updates
US10552524B1 (en) 2017-12-07 2020-02-04 Palantir Technolgies Inc. Systems and methods for in-line document tagging and object based data synchronization
US10783162B1 (en) 2017-12-07 2020-09-22 Palantir Technologies Inc. Workflow assistant
US10360252B1 (en) 2017-12-08 2019-07-23 Palantir Technologies Inc. Detection and enrichment of missing data or metadata for large data sets
US11176116B2 (en) 2017-12-13 2021-11-16 Palantir Technologies Inc. Systems and methods for annotating datasets
US10853352B1 (en) 2017-12-21 2020-12-01 Palantir Technologies Inc. Structured data collection, presentation, validation and workflow management
GB201800595D0 (en) 2018-01-15 2018-02-28 Palantir Technologies Inc Management of software bugs in a data processing system
US10599762B1 (en) 2018-01-16 2020-03-24 Palantir Technologies Inc. Systems and methods for creating a dynamic electronic form
US10885021B1 (en) 2018-05-02 2021-01-05 Palantir Technologies Inc. Interactive interpreter and graphical user interface
US11263263B2 (en) 2018-05-30 2022-03-01 Palantir Technologies Inc. Data propagation and mapping system
US11061542B1 (en) 2018-06-01 2021-07-13 Palantir Technologies Inc. Systems and methods for determining and displaying optimal associations of data items
US10795909B1 (en) 2018-06-14 2020-10-06 Palantir Technologies Inc. Minimized and collapsed resource dependency path
US11048488B2 (en) 2018-08-14 2021-06-29 Pegasystems, Inc. Software code optimizer and method
US11086861B2 (en) * 2019-06-20 2021-08-10 International Business Machines Corporation Translating a natural language query into a formal data query
US11567945B1 (en) 2020-08-27 2023-01-31 Pegasystems Inc. Customized digital content generation systems and methods
US20220197915A1 (en) * 2020-12-21 2022-06-23 4IQ, Inc. Dynamic entity visualization of search results

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4480304A (en) * 1980-10-06 1984-10-30 International Business Machines Corporation Method and means for the retention of locks across system, subsystem, and communication failures in a multiprocessing, multiprogramming, shared data environment
US4399504A (en) * 1980-10-06 1983-08-16 International Business Machines Corporation Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment
US4400773A (en) * 1980-12-31 1983-08-23 International Business Machines Corp. Independent handling of I/O interrupt requests and associated status information transfers
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
US4847754A (en) * 1985-10-15 1989-07-11 International Business Machines Corporation Extended atomic operations
US5041967A (en) * 1987-10-13 1991-08-20 Bell Communications Research, Inc. Methods and apparatus for dynamic menu generation in a menu driven computer system
US4875159A (en) * 1987-12-22 1989-10-17 Amdahl Corporation Version management system using plural control fields for synchronizing two versions of files in a multiprocessor system
JP2760794B2 (ja) * 1988-01-29 1998-06-04 株式会社日立製作所 データベース処理方法および装置
US4965719A (en) * 1988-02-16 1990-10-23 International Business Machines Corporation Method for lock management, page coherency, and asynchronous writing of changed pages to shared external store in a distributed computing system
US5050072A (en) * 1988-06-17 1991-09-17 Modular Computer Systems, Inc. Semaphore memory to reduce common bus contention to global memory with localized semaphores in a multiprocessor system
US5101488A (en) * 1989-05-02 1992-03-31 Motorola, Inc. Method for retrieving and updating data in a real-time data base system
JP3134204B2 (ja) * 1991-07-19 2001-02-13 株式会社日立製作所 情報検索用端末装置及び情報検索用端末装置における情報表示・入出力方法
US5161225A (en) * 1989-10-23 1992-11-03 International Business Machines Corporation Persistent stream for processing time consuming and reusable queries in an object oriented database management system
US5241671C1 (en) * 1989-10-26 2002-07-02 Encyclopaedia Britannica Educa Multimedia search system using a plurality of entry path means which indicate interrelatedness of information
US5062038A (en) * 1989-12-18 1991-10-29 At&T Bell Laboratories Information control system
WO1991012580A1 (en) * 1990-02-08 1991-08-22 Hewlett-Packard Company Method and apparatus for graphical interrogation of a database
US5265014A (en) * 1990-04-10 1993-11-23 Hewlett-Packard Company Multi-modal user interface
CA2055056C (en) * 1990-12-10 1996-05-14 Shih-Gong Li Graphic definition of range in the selection of data from a database field
JP2819517B2 (ja) * 1990-12-17 1998-10-30 インターナショナル・ビジネス・マシーンズ・コーポレイション データベース照会を行う方法およびシステム
WO1992016903A1 (en) * 1991-03-12 1992-10-01 Wang Laboratories, Inc. Database management system graphical query front end
US5421008A (en) * 1991-11-08 1995-05-30 International Business Machines Corporation System for interactive graphical construction of a data base query and storing of the query object links as an object
FR2696853B1 (fr) * 1992-10-12 1994-12-23 Bull Sa Procédé d'aide à l'optimisation d'une requête d'un système de gestion, de base de données relationnel et procédé d'analyse syntaxique en résultant.
US5426781A (en) * 1992-04-30 1995-06-20 International Business Machines Corporation Computerized report-based interactive database query interface
US5428735A (en) * 1992-12-28 1995-06-27 International Business Machines Corporation Method and apparatus for maintaining a record of set-creating data processing activities and associated data sets

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130067387A1 (en) * 2007-10-02 2013-03-14 Lg Electronics Inc. Mobile terminal and method of controlling the same
US9507517B2 (en) * 2007-10-02 2016-11-29 Microsoft Technology Licensing, Llc Mobile terminal and method of controlling the same
DE102015014678A1 (de) 2015-11-16 2017-05-18 BAULINO Verlag GmbH Bausanierungsplanverfahren

Also Published As

Publication number Publication date
CN1102897A (zh) 1995-05-24
EP0627691A1 (de) 1994-12-07
KR0143357B1 (ko) 1998-08-17
EP0627691B1 (de) 2004-10-27
ES2229210T3 (es) 2005-04-16
DE69434096D1 (de) 2004-12-02
US5911138A (en) 1999-06-08
ATE280975T1 (de) 2004-11-15
JPH076179A (ja) 1995-01-10
CN1044415C (zh) 1999-07-28
KR950001505A (ko) 1995-01-03
TW378298B (en) 2000-01-01

Similar Documents

Publication Publication Date Title
DE69434096T2 (de) Verfahren und System, um mit einer graphischen Benutzerschnittstelle in einer Datenbank zu suchen
DE19842688B4 (de) Verfahren zum Filtern von Daten, die von einem Datenanbieter stammen
DE60016772T2 (de) Verfahren und system für die publikation und revision von hierarchisch organisierten sätzen von statischen intranet- und internet-seiten
EP0910829B1 (de) Datenbanksystem
DE69837772T2 (de) Browser für hierarchische Strukturen
DE10135445B4 (de) Integriertes Verfahren für das Schaffen einer aktualisierbaren Netzabfrage
DE69533193T2 (de) Paralleles verarbeitungssystem zum durchlaufen einer datenbank
DE60130475T2 (de) Durchführung von kalkulationen eines tabellenkalkulationstyps in einem datenbanksystem
DE19960043B4 (de) Verfahren zum Navigieren in einer Baumstruktur
EP1311989B1 (de) Verfahren zur automatischen recherche
DE60035432T2 (de) System zur verwaltung der rdbm fragmentierungen
DE69628374T2 (de) Datenverwaltungssystem
DE69719641T2 (de) Ein Verfahren, um Informationen auf Bildschirmgeräten in verschiedenen Grössen zu präsentieren
DE19959765B4 (de) Datei-Editor für mehrere Datenuntermengen
DE10120870A1 (de) Navigieren in einem Index für den Zugriff auf eine mehrdimensionale Subjektdatenbank
DE4301766A1 (en) Double sided flip over electronic page on screen graphics - has paper containing calendar on one side turned over by cursor movement to allow option selection
DE69632835T2 (de) Verfahren zur automatischen verarbeitung von information über benutzerdaten
DE10121791B4 (de) Verfahren und Vorrichtung für dynamische Web-Seitenanordnung
DE60310881T2 (de) Methode und Benutzerschnittstelle für das Bilden einer Darstellung von Daten mit Meta-morphing
EP1159689A2 (de) Such- und navigationseinrichtung für hypertext-dokumente
DE60127801T2 (de) System und Methode zum Durchstöbern von knotenverbundenen Strukturen basierend auf einem geschätzten Interessegrad
DE602004003230T2 (de) System und Verfahren in einer Datentabelle zur Erzeugung von rekursiven skalierbaren Vorlageninstanzen
DE19715723A1 (de) Array-Verfahren
EP1224579A2 (de) Verfahren zur behandlung von datenobjekten
DE602005002846T2 (de) Verfahren zur Datenverarbeitung und assoziiertes Softwareprogramm

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8328 Change in the person/name/address of the agent

Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 7