-We present a novel approach for supporting Composite Objects (CO) as an abstraction over the relational data. This approach brings the advanced CO model to existing relational databases and applications, without requiring an expensive migration to other DBMSs which support CO. The concept of views in relational DBMSs (RDBMS) gives the basis for providing the CO abstraction. This model is strictly an extension to the relational model, and it is fully upward compatible with it. We present an overview of the data model. We put emphasis in this paper on showing how we have made the extensions to the architecture and implementation of an RDBMS (Starburst) to support this model. We show that such a major extension to the data model is in fact quite attractive both in terms of implementation cost and query performance. We introduce a CO cache for navigation through components of a CO. With this technique, the performance of navigation through COs, which has been of a concern in RDBMSs in the past, is in fact quite satisfactory. We present our practical experience in using this facility. We show that our work on CO enables existing RDBMSs to incorporate efficient CO facilities at a low cost and at a high degree of application reusability and database sharability.
MOTIVATIONIt is widely agreed now that complex applications, such as design applications, multi-media and AI applications, and even advanced business applications can benefit significantly from database interfaces that support composite (or complex) objects (shortly, CO) [15,23]. A generally accepted characterization defines a CO consisting of several components (possibly from different types) with relationships in between [2, 5, 11, 26, 36, 19}. Interestingly, object oriented DBMSs (OODBMSs) have adopted a very similar model [1,43,14,27]. This is particularly true for OODBMSs used in practice. Especially 00 programming environments have made advances in handling of COs.Such environments facilitate the growth of complex applications. As a result, there is considerable pressure on RDBMSs for better support of COs. To respond to this demand, several systems today are bridging 00 environments with relational. An example of such a system is the Persistence DBMS [20], which builds a layer on the top of RDBMSs, providing better support for COs. These systems essentially extract the data from the relational and port data to 00 environments. · One straightforward way of extracting data with complex structure is to follow the parent/child relationships: for each parent instance, execute a query to get the children; repeat the same thing for each child to get its children, and so on. However, this style of data extraction leads to numerous queries, and does not lend itself to effective set-oriented processing. Essentially, the process of data extraction is broken into fragmented queries where the number of fragments is in the order of number of instances of parent components in the extracted data. A better approach is to employ much more powerful set-oriented p...