Design and Implementation of an Extensible Database Management System Supporting User Defined Data Types and Functions

Current query languages for relational databases usually are fixed, i.e. they provide only a fixed set of data types and operations. It is usually not possible to extend this set by user defined data types or functions. This is a major drawback especially in advanced applications like engineering applications or office automation. In these areas special data types and special functions are needed quite frequently, e.g. a data type for matrices and a function for matrix multiplication. Since matrices and matrix multiplication are not provided in conventional query languages, the user has to model matrices by low level constructs as, for example, byte strings, and to write a rather cumbersome application program in a conventional programming language for interpreting these byte strings as matrices and for multiplying them. Another example of a missing function is even as simple as the square root function. Therefore, a mechanism is needed that allows the user to define his own data types and functions and add them somehow to the DBMS such that they can be used within the query language in the same way as a normal built-in function on basic data types. This paper describes an extension mechanism for data types and functions that has been implemented at the IBM Scientific Center in Heidelberg. The mechanism is based upon HDBL, an SQL based query language for complex objects. The functions themselves are Permission to copy without fee all or part of this material is granted ~ovided that the copies are not made or distrhted for direct commercial advantage, the VLDB copyright notice Md the title of the publication and its date appear. Imd notice is given chat copying is by permission of the Very Large Data Base Endowment. To copy otherwise. or to republish. raquires a fee and/or special permission from the Endowment.

[1]  Joachim W. Schmidt,et al.  Some high-level language constructs for data of type relation , 1977, SIGMOD '77.

[2]  Peter C. Lockemann,et al.  An object-oriented system for engineering applications , 1987, SIGMOD '87.

[3]  Michael Stonebraker,et al.  QUEL as a data type , 1984, SIGMOD '84.

[4]  Peter Dadam,et al.  Designing DBMS support for the temporal dimension , 1984, SIGMOD '84.

[5]  Roger L. Haskin,et al.  On extending the functions of a relational database system , 1982, SIGMOD '82.

[6]  Michael Stonebraker,et al.  The design of POSTGRES , 1986, SIGMOD '86.

[7]  Klaus Meyer-Wegener,et al.  PRIMA - a DBMS Prototype Supporting Engineering Applications , 1987, VLDB.

[8]  Klaus R. Dittrich,et al.  Object-Oriented Database Systems: The Notion and the Issue , 1986, OODBS.

[9]  Michael Stonebraker,et al.  The POSTGRES Data Model , 1987, Research Foundations in Object-Oriented and Semantic Database Systems.

[10]  Michael Stonebraker,et al.  Extending a database system with procedures , 1987, TODS.

[11]  Michael Stonebraker,et al.  Inclusion of new types in relational data base systems , 1986, 1986 IEEE Second International Conference on Data Engineering.

[12]  Peter Dadam,et al.  Cooperative Object Buffer Management in the Advanced Information Management Prototype , 1987, VLDB.

[13]  Henry F. Korth,et al.  SQL/NF: a query language for ¬1 NF relational databases , 1987, Inf. Syst..

[14]  Hamid Pirahesh,et al.  A data management extension architecture , 1987, SIGMOD '87.

[15]  Don Batory,et al.  Genesis: A Reconfigurable Database Management System , 1986 .

[16]  John Mylopoulos,et al.  A language facility for designing database-intensive applications , 1989 .

[17]  Hans-Jörg Schek,et al.  The relational model with relation-valued attributes , 1986, Inf. Syst..

[18]  Stephen Todd,et al.  The Peterlee Relational Test Vehicle - A System Overview , 1976, IBM Syst. J..

[19]  Donald D. Chamberlin,et al.  SEQUEL 2: A Unified Approach to Data Definition, Manipulation, and Control , 1976, IBM J. Res. Dev..

[20]  Renzo Orsini,et al.  GALILEO: a strongly-typed, interactive conceptual language , 1985, TODS.

[21]  Peter Dadam,et al.  A DBMS prototype to support extended NF2 relations: an integrated view on flat tables and hierarchies , 1986, SIGMOD '86.

[22]  Serge Abiteboul,et al.  Non First Normal Form Relations: An Algebra Allowing Data Restructuring , 1986, J. Comput. Syst. Sci..

[23]  Volker Linnemann Non first normal form relations and recursive queries: An SQL-based approach , 1987, 1987 IEEE Third International Conference on Data Engineering.

[24]  Peter Dadam,et al.  Design of an integrated DBMS to support advanced Applications , 1985, BTW.

[25]  P Pistor,et al.  A database language for sets, lists and tables , 1986, Inf. Syst..

[26]  Patrick Valduriez,et al.  Implementation Techniques of Complex Objects , 1986, VLDB.

[27]  Hans-Jörg Schek,et al.  Architecture and implementation of the Darmstadt database kernel system , 1987, SIGMOD '87.

[28]  Peter Pistor,et al.  Designing A Generalized NF2 Model with an SQL-Type Language Interface , 1986, VLDB.

[29]  Umeshwar Dayal,et al.  Simplifying Complex Objects: The PROBE Approach to Modelling and Querying Them , 1987, BTW.

[30]  Hamid Pirahesh,et al.  Extensibility in the Starburst Database System , 1986, OODBS.

[31]  Winfried Lamersdorf,et al.  Recursive data models for non-conventional database applications , 1984, 1984 IEEE First International Conference on Data Engineering.

[32]  Norbert Südkamp,et al.  An Application Program Interface for a Complex Object Database , 1988, JCDKB.

[33]  Patricia G. Selinger,et al.  Support for repetitive transactions and ad hoc queries in System R , 1981, TODS.