A C++ binding for Penguin: a system for data sharing among heterogeneous object models

  • Arthur M. Keller
  • Catherine Hamon
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 730)


The relational model supports the view concept, but relational views are limited in structure. OODBMSs do not support the view concept, so that all applications must share the same arrangement of object classes and inheritance. We describe the Penguin system and its support for the view concept. Each application can have its own arrangement of object classes and inheritance, and these are defined as views of an integrated, normalized conceptual data model, in our case the Structural Model. We define view-objects in a language-independent manner on top of the conceptual data model. These view-objects can be complex objects supporting a composite structure. We discuss the extension of Penguin to support PART-OF (reference) and IS-A graphs for composite view-objects. We also discuss the C++ binding to Penguin, where C++ code is generated for object classes corresponding to the view-objects along with basic operations on them (creation, query, navigate, browsing, and update).


Relational Database Object Class Atomic Attribute Candidate Tree View Concept 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    S. Abiteboul and Bidoit. Non First Normal Form Relations: An Algebra Allowing Data Restructuring. Journal of Computer and System Sciences, December 1986.Google Scholar
  2. 2.
    T. Andrews and C. Andrews. Combining Language and Database Advances in an Object-Oriented Development Environment. Proceedings of OOPSLA, Orlando, Florida, 1987.Google Scholar
  3. 3.
    T. Barsalou. View Objects for Relational Databases. Ph.D. dissertation, Stanford University, March 1990, technical report STAN-CS-90-1310.Google Scholar
  4. 4.
    T. Barsalou and G. Wiederhold. Complex Objects For Relational Databases. Computer Aided Design, Vol. 22 No.8, Buttersworth, Great Britain, October 1990.Google Scholar
  5. 5.
    T. Barsalou, N. Siambela, A. M. Keller, G. Wiederhold. Updating Relational Databases through Object-Based Views. ACM SIGMOD, Denver, May 1991.Google Scholar
  6. 6.
    A. Carlson. Penguin System Internal Maintenance Specifications. Unpublished document, October 1992.Google Scholar
  7. 7.
    R. Cattell. Object Data Management: Object Oriented and Extended Relational Systems. Addison-Wesley, 1991.Google Scholar
  8. 8.
    E.F. Codd. A Relational Model of Data for Large Shared Data Banks. CACM, 13(6), June 1970.Google Scholar
  9. 9.
    O. Deux. The Story of O2. IEEE Transactions on Knowledge and Data Engineering, 2(1), March 1990.Google Scholar
  10. 10.
    L. Haas, W. Chang, G. Lohman, J. McPherson, G. Lapis, B. Lindsay, H. Pirahesh, M. Carey, and E. Shekita. Starburst Mid-Flight: As the Dust Clears. IEEE Transactions on Knowledge and Data Engineering, 2(1), March 1990.Google Scholar
  11. 11.
    C. Hamon and A. M. Keller. Two-Level Caching of Composite Object Views of Relational Databases. Submitted for publication, 1993.Google Scholar
  12. 12.
    A. M. Keller. Updating Relational Databases Through Views. Ph.D. dissertation, Stanford University, February 1985, technical report STAN-CS-85-1040.Google Scholar
  13. 13.
    A. M. Keller. The Role of Semantics in Translating View Updates. IEEE Computer, 19(1), January 1986.Google Scholar
  14. 14.
    A. M. Keller. Choosing a View Update Translator by Dialog at View Definition Time. 12th Int. Conf. on Very Large Data Bases, Kyoto, Japan, August 1986.Google Scholar
  15. 15.
    A. M. Keller. Unifying Database and Programming Language Concepts Using the Object Model, (extended abstract). Int. Workshop on Object-Oriented Database Systems, IEEE Computer Society, Pacific Grove, CA, September 1986.Google Scholar
  16. 16.
    A. M. Keller and L. Harvey. A Prototype View Update Translation Facility. Report TR-87-45, Dept. of Computer Sciences, Univ. of Texas at Austin, December 1987.Google Scholar
  17. 17.
    A.M. Keller, R. Jensen, S. Agarwal. Persistence Software: Bridging Object-Oriented Programming and Relational Databases. ACM SIGMOD, 1993.Google Scholar
  18. 18.
    J. Kiernan, C. de Maindreville, and E. Simon. The Design and Implementation of an Extensible Deductive Database System. SIGMOD Record, September 1989.Google Scholar
  19. 19.
    W. Kim. Introduction to Object-Oriented Databases. The MIT Press, 1990.Google Scholar
  20. 20.
    K. H. Law, G. Wiederhold, T. Barsalou, N. Sambela, W. Sujansky, and D. Zingmond. Managing Design Objects in a Sharable Relational Framework. ASME meeting, Boston, August 1990.Google Scholar
  21. 21.
    B. S. Lee and G. Wiederhold. Outer Joins and Filters for Instantiating Objects from Relational Databases through Views. Center for Integrated Facilities Engineering (CIFE), Stanford University, Technical Report 30, May 1990.Google Scholar
  22. 22.
    B. S. Lee. Efficiency in Instantiating Objects from Relational Databases Through Views. Ph.D. dissertation, Stanford University, December 1990, technical report STAN-CS-90-1346.Google Scholar
  23. 23.
    D. Maier, J. Stein, A. Otis, and A. Purdy. Development of an Object-Oriented DBMS. Proceedings of OOPSLA, Portland, Oregon, 1986.Google Scholar
  24. 24.
    Z.M. Ozsoyoglu and L.Y. Yuan. A New Normal Form for Nested Relations. ACM Transactions on Database Systems, 12(1), 1987.Google Scholar
  25. 25.
    P. Pistor and F. Andersen. Designing a General NFNF Data Model with an SQL-Type Language Interface. Twelfth International Conference on VLDB, Kyoto, Japan, 1986.Google Scholar
  26. 26.
    M. A. Roth, H. F. Korth, and A. Silberschatz. Extended Algebra and Calculus for Nested Relational Databases. ACM TODS, 13(4), December 1988.Google Scholar
  27. 27.
    M. Stonebraker. Object Management in Postgres Using Procedures. On Object-Oriented Database Systems, Springer-Verlag, 1991.Google Scholar
  28. 28.
    B. Stroustrup. The C++ Programming Language. Addison-Wesley, 1986.Google Scholar
  29. 29.
    T. Takahashi and A.M. Keller. Querying Heterogeneous Object Views of a Relational Database. Submitted for publication, 1993.Google Scholar
  30. 30.
    D.C. Tsichritzis, T. Bogh. Fitting Round Objects into Square Databases. OOPSLA, New Orleans, 1989.Google Scholar
  31. 31.
    J. D. Ullman. Principles of Database and Knowledge-Base Systems. Volume 1: Classical Database Systems, Computer Science Press, 1988.Google Scholar
  32. 32.
    G. Wiederhold and R. ElMasri. The Structural Model for Database Design. In Entity-Relationship Approach to System Analysis and Design, North-Holland, 1980.Google Scholar
  33. 33.
    G. Wiederhold. Views, Objects and Databases. IEEE Computer, 19(12), 1986.Google Scholar
  34. 34.
    G. Wiederhold, T. Barsalou, and S. Chaudhuri. Managing Objects in a Relational Framework. Stanford Technical report CS-89-1245, January 1989, Stanford University.Google Scholar
  35. 35.
    G. Wiederhold, T. Barsalou, B. S. Lee, N. Siambela, and W. Sujansky. Use of Relational Storage and a Semantic Model to Generate Objects: The PENGUIN Project. Database '91: Merging Policy, Standards and Technology, The Armed Forces Communications and Electronics Association, Fairfax VA, June 1991.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Arthur M. Keller
    • 1
  • Catherine Hamon
    • 1
  1. 1.Computer Science DeptStanford UniversityStanford

Personalised recommendations