GRIFON - a Graphical Interface to an Object Oriented Database
Total Page:16
File Type:pdf, Size:1020Kb
GRIFON - A Graphical Interface to an Object Oriented Database. A Thesis by: Padraig Moran B.Sc. Supervisors: Mr. Renaat Verbruggen, Mr. Michael Ryan. Submitted to the School of Computer Applications Dublin City University for the degree of Master of Science August 1991 DECLARATION : No portion of this work has been submitted in support of an application for another degree or qualification in Dublin City University or any other University or Institute of Learning. Acknowledgements I would like to thank IBM Ireland Information Services Ltd. (IISL), for their generous scholarship, help and support which made it possible for me to pursue this research. I would like to express my gratitude to the staff at DSL, especially Mr. John Dermody for his guidance and interest, and Mr. John Murphy for his invaluable advice and support. I would like to sincerely thank my supervisors, Renaat Verbruggen and Michael Ryan for their interest, support, patience, advice and encouragement. Thanks are also due to Dr. Alan Smeaton for materialising relevant research papers, seemingly out of the blue. I would like to express my thanks to Rev. T. Moran for the use of his computer, which substantially helped the writing of this thesis. Special appreciation is due to all in number 9, and especially Joanne, without whose support and sustenance this thesis would never have materialised. Finally I would like to acknowledge the support of my family, colleagues, and friends. To Mam, Dad and Nan who between them gave me the encouragement to pursue my studies and the invaluable chance to do so. Abstract The aim of the research outlined in this thesis is to establish what type of interface would be most suitable for object oriented databases. In particular it examines how graphical interface technologies might be used to present the database in a clearer form In support of the research, a prototype interface system has also been developed to a commercial database to illustrate the practicality of the development of such an interface, and the increased effectiveness of the resultant system. The thesis outlines the features provided by the interface, the benefits accrued from such a system, and the problems associated with its development. Finally, it examines how such a system fits into the current work being carried out in the area of user interaction with databases. Table of Contents Chapter 1 - Introduction.................................................................................................. 1 1.1 Background.................................................................................................. 1 1.2 Overview of Object-Oriented Databases (OODB)....................................... 8 1.2.1 Programming Languages ............................................................. 8 1.2.2 Artificial Intelligence.................................................................... 9 1.2.3 Database .................................................................................... 10 1.3 Overview of Human-Computer Interaction................................................ 12 1.4 Conclusions............................................................................................... 12 Chapter 2 - Object Oriented Databases.......................................................................... 14 2.1 Introduction............................................................................................... 14 2.2 Semantic Database Model ......................................................................... 16 2.3 Object-Oriented Databases......................................................................... 19 2.3.1 Core Object-Oriented Database features........................................ 19 2.3.1.1 Object and Object Identifier....................................... 20 2.3.1.2 Attributes and Methods .............................................. 21 2.3.1.3 G a ss........................................................................... 23 2.3.1.4 Class Hierarchy and Inheritance ................................ 24 2.3.1.5 Late Binding................................................................ 28 2.3.1.6 Extensibility................................................................ 29 2.3.1.7 Computational Completeness ..................................... 30 2.3.1.8 DBMS Components.................................................... 31 2.3.1.9 Query Facility............................................................. 31 2.3.2 Supplementary Features............................................................. 33 2.4 Available Object Oriented Databases......................................................... 34 2.4.1 POSTGRES.............................................................................. 34 2.4.1.1 Background ................................................................ 34 2.4.1.2 System Structure......................................................... 35 2.4.1.3 System Features ......................................................... 36 2.4.1.3.1 Versioning .................................................. 36 2.4.1.3.2 Data Types ................................................ 37 2.4.1.3.3 User-defined Procedures ............................ 37 2.4.1.3.4 Rules and Attributes .................................. 38 2.4.1.4 Conclusion.................................................................. 39 2.4.2 EXODUS Extensible DBMS .................................................... 40 2.4.2.1 Background ............................................................... 40 2.4.2.2 System Structure......................................................... 40 2.4.2.3 System Features ........... 42 2.4.2.4 Conclusion.................................................................. 43 2.4.3 GemStone .................................................................................. 44 2.4.3.1 Background ............................................................... 44 2.4.3.2 System Structure......................................................... 45 2.4.3.3 System Features ......................................................... 46 2.4.3.3.1 Query Language ......................................... 47 2.4.3.4 Conclusion.................................................................. 47 2.4.4 ONTOS - Object Database........................................................ 48 2.4.4.1 Background ............................................................... 48 2.4.4.2 System Structure........................................................ 48 2.4.4.3 System Features ........................................................ 49 2.4.4.3.1 The Database ............................................. 49 2.4.4.3.2 Transaction Model...................................... 50 2.4.4.3.3 Data Manipulation - CreationJDeletion,Modification & Accession 51 2.4.4.3.4 Exception Handling.................................... 52 2.4.4.3.5 Versioning Mechanism................................ 53 2A4.3.6 Query Facility............................................. 53 2.4.4.3.7 Inverse Relationships................................ 55 2.4.4.4 Conclusion.................................................................. 55 2.5 Conclusions................................................................................. 56 Chapter 3 - Human Computer Interaction & User Interfaces...................................... 58 3.1 Introduction............................................................................................... 58 3.1.1 Software Developments............................................................. 59 3.1.2 Hardware Developments ........................................................... 60 3.2 Current Types of User Interfaces ............................................................. 62 3.2.1 Structured Command Languages.............................................. 62 3.2.1.1 Query Languages (QL) ............................................. 63 3.2.1.2 Natural Language Interfaces...................................... 6 6 3.2.1.2.1 Conceptual Domain ! ................................ 6 6 3.2.1.2.2 Functional Domain ..................................... 6 6 3.2.1.2.3 Syntactic Domain ....................................... 67 3.2.1.2.4 Lexical Domain............................................ 67 3.2.2 Menu Based Interfaces................................................................ 69 3.2.2.1 Menus vs Commands.................................................. 69 3.2.3 Windowing Interfaces ................................................................ 71 3.2.4 Direct Manipulation Interfaces .................................................. 76 3.3 Databases and Interfaces ........................................................................... 78 3.3.1 SNAP: A Graphics-Based Schema Manager.............................. 79 3.3.1.1 Introduction ................................................................ 79 3.3.1.2 System Description..................................................... 79 3.3.1.2.1 Schema Design in SN A P............................ 79 3.3.1.2.2 Schema Browsing in SNAP ....................... 80 3.3.1.2.3 Query Specification in SN A P..................... 81 3.3.2 ISIS: Interface for a Semantic Information System .................. 84 3.3.2.1 Introduction ................................................................ 84 3.3.2.2 System Description..................................................... 84 3.3.2.2.1 Schema Representation................................ 85 3.3.2.2.2 Data Representation....................................