Abstract
This work presents a new approach to access existing relational databases from C++ programs in an easy and natural way. The coupling of both worlds makes use of data reverse engineering techniques. Semantics that is inherent to relational data is made explicit by using object-oriented concepts extensively. Relationships and subtypes are expressed directly in order to take great benefit of them. C++ application programs are thus given the ability to handle relational data as if they were C++ objects.
The key to our approach is a powerful specification language that allows for defining object-oriented views, i.e., describing how object types, relationships between them, and subtype hierarchies are derived from relational tables. Even complex relational situations can be remodelled in an intuitive and concise manner.
Given a concrete specification, a C++ database interface is generated preserving the object-oriented view for accessing relational data. Access methods are automatically implemented on top of the relational system.
Preview
Unable to display preview. Download preview PDF.
References
M. Aksit, L. Bergmans, S. Vural: An Object-Oriented Language-Database Integration Model: The Composition-Filters Approach. In [Mad92]
A. Alashqur, C. Thompson: O-R Gateway: A System for Connecting C++ Application Programs and Relational Databases. In: C++ Conference, Portland 1992, USENIX Association, Berkeley
E. Bertino, M. Negri, G. Pelagatti, L. Sbattella: Applications of Object-Oriented Technology to the Integration of Heterogeneous Database Systems. In: Distributed and Parallel Databases 1994, Vol. 2
Reverse Engineering. Special Issue of Comm. of the ACM 37(5), 1994
M. Castellanos, F. Saltor: Semantic Enrichment of Database Schemas: An Object-Oriented Approach. In: Proc. of 1st Int. Workshop on Interoperability in Multidatabase Systems Kyoto (Japan), 1991
R. Cattell (ed.): The ODMG-93 Standard for Object Databases. 2nd edition, Morgan-Kaufmann Publishers, San Mateo (CA) 1994
R. Chiang, T. Barron, V. Storey: Reverse Engineering of Relational Databases: Extraction of an EER model from a Relational Database. Data&Knowledge Engineering 12, 1994
Proc. 12th Int. Conf. on Entity-Relationship Approach. Karlsruhe 1993
M. Härtig: An Object-Oriented Integration Framework for Building Heterogeneous Database Systems. In [HNS92]
D.K. Hsia, E.J. Neuhold, R. Sacks-Davis (eds.): Proc. of the 5th IFIP WG 2.6 Database Semantics Conference (DS-5) on Interoperable Database Systems, Lorne (Australia), 1992
U. Hohenstein: Query Processing in Semantically Enriched Relational Databases. In: Basque Int. Workshop on Information Technology (BIWIT'95) “Data Management Systems”, San Sebastian (Spain), 1995
U. Hohenstein, C. Körner: A Graphical Tool for Specifying Semantic Enrichment of Relational Databases. In: 6th IFIP WG 2.6 Work. Group on Data Semantics (DS-6) “Semantics of Database Applications” 1995
U. Hohenstein, E. Odberg: A C++ Database Interface Based upon the Entity-Relationship Approach. In: Proc. of 11th British National Conf. on Database Systems (BNCOD11), Keele (England) 1993
J.-L. Hainault, C. Tonneau, M. Joris, M. Chandelon: Schema Transformation Techniques for Database Reverse Engineering. In [ERA93]
Legacy Systems. Special Issue of IEEE Software 12(1), 1995
W. Kim: On Unifying Relational and Object-Oriented Database Systems. In [Mad92]
M. Kaul, K. Drosten, E. Neuhold: ViewSystem: Integrating Heterogeneous Information Bases by Object-Oriented Views. In: Proc. 6th Int. Conf. on Data Engineering, Los Angeles 1990
O.L. Madsen (ed.): European Conf. on Object-Oriented Programming (ECOOP92), Utrecht 1992
V. Markowitz, J. Makowsky: Identifying Extended ER Object Structures in Relational Schemas. IEEE Trans. on Software Engineering 16(8), 1990
B. Narasimhan, S. Navathe, S. Jayaraman: On Mapping ER and Relational Models into OO Schemas. In [ERA93]
G. Pernul, H. Hasenauer: Combining Reverse with Forward Engineering — A Step forward to Solve the Legacy System Problem. In: Int. Conf. on Database and Expert Systems Applications, 1995
W. Premerlani, M. Blaha: An Approach for Reverse Engineering of Relational Databases. Communications of the ACM 37(5), May 1994
F. Saltor, M. Castellanos, M. Garcia-Solaco: Overcoming Schematic Discrepancies in Interoperable Databases. In [HNS92]
M. Schrefl, E. Neuhold: A Knowledged-Based Approach to Overcome Structural Differences in Object-Oriented Database Integration. In: The Role of Artifical Intelligence in Database & Information Systems. IFIP Working Conf., Canton (China) 1988
S. Spaccapietra, C. Parent: Conflicts and Correspondence Assertions in Interoperable Databases. ACM SIGMOD-RECORD 1991, 20(4)
B. Stroustrup: The C++ Programming Language. 2nd edition, Addison-Wesley 1991
L.-L. Yan, T.-W. Ling: Translating Relational Schema With Constraints Into OODB Schema. In [HNS92]
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hohenstein, U. (1996). Bridging the gap between C++ and relational databases. In: Cointe, P. (eds) ECOOP ’96 — Object-Oriented Programming. ECOOP 1996. Lecture Notes in Computer Science, vol 1098. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0053071
Download citation
DOI: https://doi.org/10.1007/BFb0053071
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61439-5
Online ISBN: 978-3-540-68570-8
eBook Packages: Springer Book Archive