Eine Einfache Ad-Hoc Suchmaschine Für Relationale Datenbanken

Eine Einfache Ad-Hoc Suchmaschine Für Relationale Datenbanken

SASHERD: Eine einfache ad-hoc Suchmaschine für relationale Datenbanken Entwurf und Implementierung eines Prototyps DIPLOMARBEIT zur Erlangung des akademischen Grades eines Magisters der Sozial- und Wirtschaftswissenschaften im Diplomstudium Wirtschaftinformatik eingereicht von Georg Lengenfelder Angefertigt am Institut für anwendungsorientierte Wissensverarbeitung Abteilung für Datenbanken und Expertensysteme Betreuung und Beurteilung: a. Univ.-Prof. Dr. Josef Küng August 2015 Eidesstattliche Erklärung Ich erkläre an Eides statt, dass ich die vorliegende Diplomarbeit selbständig und ohne fremde Hilfe verfasst, andere als die angegebenen Quellen und Hilfsmittel nicht benützt bzw. die wörtlich oder sinngemäß entnommenen Stellen als solche kenntlich gemacht habe. Die vorliegende Diplomarbeit ist mit dem elektronisch übermittelten Textdoku- ment identisch. Georg Lengenfelder Wien, August 2015 Widmung Diese Arbeit ist meinen Eltern Heribert und Helga Lengenfelder gewidmet, die mich während all der verschieden intensiven Phase meines Wirtschaftsinfor- matik-Studiums auf vielfältige Weise unterstützt haben. Danksagung Prof. Josef Küng, vom Institut für Anwendungsorientierte Wissensverarbeitung an der JKU Linz danke ich für den Themenimpuls zu dieser Arbeit, die Freiheiten bei der Gestaltung des Prototyps, sein scharfsinniges Feedback dazu; nicht zuletzt auch noch für die Anleitung bei der Erstellung dieser wissenschaftlichen Arbeit und sein Entgegenkommen bezüglich des zeitlichen Verlaufs der Fertigstellung. Horst Trixl, technischer Mitarbeiter an der TU-Wien danke ich für Einrich- tung und zur Verfügungsstellung eines Diplomanden-Arbeitsplatzes, an dem ein Teil des Prototyps entstanden ist. Christiane Gschirr, meiner wundervollen Partnerin danke ich sehr herzlich für die Unterstützung in der Endphase meines Studiums und für die Ermutigung zur Bildungskarenz um diese Arbeit und das Studium (doch noch) abzuschließen. Paul und Clemens Lengenfelder, meinen Brüdern danke ich von ganzem Herzen für Alles, was wir gemeinsam unternommen und erlebt habt – die Kinder- und Jugendjahre und meine frühe Studentenzeit in Linz. Zudem noch ein kleines Extra Dankeschön für Pauls Ratschläge und Ermunterungen, was die Arbeitsweise zur Erstellung dieser Arbeit betrifft. Wolfram Weineck und Christian Topf meinen langjährigen Freunden danke ich für die schöne, gemeinsame Studentenzeit in Linz und deren nachdrückliche Aufforderungen das Studium ordentlich abzuschließen. Nina Mühlberger, meiner langjährigen Freundin, danke ich für die gemein- same Zeit und die Unterstützung nach der Übersiedlung nach Wien. 0 Abstract Since the success of WWW-search engines like Google, Yahoo! and others, key- word-based search became a very popular form of human-computer-interaction. A user enters some keywords of interest, and (s)he gets some web-pages that sat- isfies his/her need for information. The contents of billions of webpages already are accessible by this easy way of interaction. In contrast to this, to retrieve data, that is stored in relational databases, users must be familiar with the use of a query language like SQL and the structure of the database itself. HCI-studies came to the conclusion that SQL is powerful but not appropriate for casual-users. To overcome this problem, many different approaches and systems have emerged over the last decades, like user-interfaces that are based on forms, examples, natural language or graphical representation. In recent years a couple of ap- proaches that translate keywords into SQL added to that list. In this paper, frist I’ll outline some of the approaches and prototype-systems that provide keyword-based querying of relational database systems. Second I’ll present a prototype-system called “SASHERD” (A simple ad-hoc search engine for relational databases), and its development. Therefore, this diploma-thesis is composed of two sections. The first section (chapters 1-3) is structured as follows: Chapter 1 gives an introduction including the goals of this diploma thesis. In chapter 2 technical foundations are intro- duced: relational database systems and search engines. Chapter 3 starts with an outline of alternatives to SQL, followed by a survey of other prototype-systems that have been studied in related work. In the second section the development of the prototype-system is described. Chapter 4 contains the specification and the testing-environment including some test-cases. The architecture, design and algorithms used, are described in detail in chapter 5. Chapter 6 gives a brief insight in the components and Java classed used for implementation. In chapter 7, the use of SASHERD is demonstrated using the testcases from the specification. Finally a summary and some useful extensions make up chapter 8. SAHSERD: Eine einfache ad-hoc Suchmaschine für relationale Datenbanken I 0 Inhaltsverzeichnis 0 Abstract .................................................................................................................I 0 Inhaltsverzeichnis .............................................................................................. II 0 Abbildungsverzeichnis ...................................................................................... IV 1 Einleitung............................................................................................................. 1 1.1 Motivation, Problemstellung 1 1.2 Ziele der Arbeit 2 1.3 Gliederung der Arbeit 3 2 Technische Grundlagen....................................................................................... 5 2.1 Relationale Datenbanksysteme 5 2.1.1 Grundbegriffe 5 2.1.2 Relationale Datenbanksysteme 8 2.1.3 Relationale Algebra und SQL 9 2.2 Suchmaschinen 12 2.2.1 Information Retrieval 12 2.2.2 Internet-Suchmaschinen 16 3 Begriffsbasierte Suche in relationalen Datenbanken ...................................... 27 3.1 Datenabfragen mit SQL: Defizite und alternative Ansätze 27 3.1.1 Assistenten und Formulierungshilfen 29 3.1.2 Abfragemasken 30 3.1.3 Systeme zur visuellen Datenabfrage 32 3.1.4 Natürlich-sprachliche Benutzerschnittstellen 36 3.1.5 Unscharfe Abfragen 40 3.1.6 Begriffsbasierte Abfragen 42 3.2 Ansätze zur begriffsbasierten Suche in relationalen Datenbanken 48 4 Spezifikation ...................................................................................................... 57 4.1 Basisanforderungen 57 4.2 Zusätzliche Anforderungen 58 4.3 Rahmenbedingungen 59 4.4 Testumgebung 59 4.4.1 Testdatenbank 59 4.4.2 Testfälle 60 5 Entwurf............................................................................................................... 64 5.1 Allgemeiner Lösungsansatz 64 5.1.1 Systemkomponenten 65 5.2 Lösungsalternativen zum Suchmodul 66 5.2.1 Lösungsalternative A: Wort-Index + Views + Datensatz-Ids 67 II SAHSERD: Eine einfache ad-hoc Suchmaschine für relationale Datenbanken 5.2.2 Lösungsalternative B: Wort-Index + Views + Zugriffspfade 72 5.2.3 Lösungsalternative C: Ad-hoc Suche + Joins + Zugriffspfade 75 5.3 Entwurfsentscheidung 83 5.4 Problembereiche und Erweiterungen 84 5.4.1 ad Suchmodul: ad-hoc Suche 85 5.4.2 ad Suchmodul: Bildung der SQL-Anfragen 102 5.4.3 ad Suchmodul: Schnittstelle 122 5.4.4 ad Ergebnispräsentation 125 5.4.5 Interne Datenstrukturen 129 6 Implementierung............................................................................................. 133 6.1 Systemarchitektur 133 6.2 Hauptkomponenten 134 6.2.1 Benutzerschnittstelle 134 6.2.2 AdHocDBSearchEngine 138 6.2.3 DataDictionary 138 6.2.4 ViewBuilder 139 6.3 Hilfsklassen 139 6.3.1 DBAccessPath 139 6.3.2 HitDBAccessPath 139 6.3.3 SearchResult 140 6.3.4 DBResultView 140 6.3.5 ERGraph 141 6.3.6 ListUtils 141 6.4 Entwicklungsumgebung 142 7 Proof-of-Concept ............................................................................................. 143 7.1 Start von SAHSERD 143 7.2 Testfälle 143 7.2.1 Einfache Anfragen mit einem Suchbegriff 144 7.2.2 Einfache Abfragen mit mehreren Suchbegriffen 146 7.2.3 Komplexe Abfragen 148 8 Schlussbetrachtung ......................................................................................... 155 8.1 Zusammenfassung 155 8.1.1 Untersuchungsbereich 155 8.1.2 Prototyp SAHSERD 156 8.2 Ausblick 157 8.2.1 Erweiterungsmöglichkeiten für SAHSERD 157 0 Literaturverzeichnis ........................................................................................ 159 0 Anhang ............................................................................................................. 164 Anhang A: Testdatenbank UniLinz 164 Anhang B: SAHSERD Datenstrukturen 185 SAHSERD: Eine einfache ad-hoc Suchmaschine für relationale Datenbanken III 0 Abbildungsverzeichnis Abbildung 1: Komponenten eines DBMS (übernommen aus [Ullm08]) ................................. 7 Abbildung 2: Tabellendarstellung einer Relation und ihre Elemente mit Beispiel.................. 8 Abbildung 3: Architektur eines IR-Systems............................................................................... 13 Abbildung 4: Term-document Incidence Matrix ...................................................................... 14 Abbildung 5: Dokument- und Abfragevektoren im Vektorraum............................................. 15 Abbildung 6: Schematische Architektur einer (WWW-)Suchmaschine ................................. 23 Abbildung 7: Autovervollständigung im SQL Editor von SQuirreL ......................................... 29 Abbildung 8: Assistenten zur Abfrageerstellung aus SAS SQL Query Window ....................... 30 Abbildung 9: Beispiel für ein Suchformular der Bibliothek

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    197 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us