A relational database as a high-level index to a distributed object database in engineering design system

Engineering applications deal with data of large volume, high complexity and rich semantic properties. Research has shown that traditional DBMS's and their query languages are unable to model and query data for these kinds of applications. The need for object-oriented engineering databases is widely recognized and much research is concentrated in this area. High level query languages, like SQL, have proven to be very useful as a tool for traditional databases. They provide the end-user with quick and easy access to the data of interest. In an engineering database an appropriate search engine should be able to provide similar capabilities for object oriented DB's tuned towards the needs of an engineer end-user. Two methods are presented for providing such a search engine. The first one extends SQL to adapt it to the object model. Different extensions to SQL are described and evaluated. The second one, is extensively analyzed in this thesis and describes a pragmatic architecture for engineering design systems that divides the databases of those systems into a relational database and an object oriented database. In this architecture, the relational database is used to find designs in the object database, and the object database is used to support the concurrent editing of designs by multiple users and processes on networks of workstations. This architecture has the advantage of allowing the relational database to concentrate on providing fast indexing methods to find designs, and the object database to concentrate on providing good concurrency and version control tools for design editing. The two part architecture is described and its advantages are analyzed, but we primarily concentrate on the role of the relational system. We describe why and how a relational database and its query language SQL might be used in this way for engineering design systems, give a classification on the types of anticipated engineering queries, extract a generic relational schema, give formulas that can be used to quantify the size of the relational system, describe incremental update techniques for the relational database, and finally give a performance evaluation for the described system. The contributions of this thesis are theoretical as well as experimental: (1) Establish a pragmatic architecture for interactive object oriented engineering databases. (2) Show how a relational database system can be used as a high level Search Engine for interactive engineering object-oriented databases. (3) Establish precalculation as valid approach for answering engineering queries. (4) Classify the different kinds of queries anticipated in an engineering environment. (5) Describe a generic relational schema tuned towards answering engineering queries. (6) Give mathematical formulas that can be used to quantify the size of the relational database. (7) Describe incremental materialization for the relational database system.