Abstract
Fibonacci is an object-oriented database programming language characterized by static and strong typing, and by new mechanisms for modeling data-bases in terms of objects with roles, classes, and associations. A brief introduction to the language is provided to present those features, which are particularly suited to modeling complex databases. Examples of the use of Fibonacci are given with reference to the prototype implementation of the language.
Similar content being viewed by others
References
Albano, A. Type hierarchies and semantic data models.ACM SIGPLAN Symposium on Programming Languages Issues in Software Systems, San Francisco, 1983.
Albano, A., Antognoni, G., and Ghelli, G. View operations on objects with roles. Submitted for publication.
Albano, A., Bergamini, R., Ghelli, G., and Orsini, R. An object data model with roles.Proceedings of the Nineteenth International Conference on VLDB, Dublin, 1993.
Albano, A., Brasini, C., Diotallevi, M., Ghelli, G., Orsini, R., and Rossi, R. A guided tour of the Fibonacci system. FIDE2 Technical Reports, FIDE/94/103, 1994a.
Albano, A., Cardelli, L., and Orsini, R. Galileo:A strongly typed, interactive conceptual language.ACM Transactions on Database Systems, 10(2):230–260, 1985. Also in: Zdonik, S.B. and Maier, D., eds.Readings in Object-Oriented Database Systems, San Mateo, CA: Morgan Kauffman, 1990, pp. 147–161.
Albano, A. and Ghelli, G. Object-oriented data base programming languages, invited paper.IEEE EuroComp Conference, Bologna, 1991.
Albano, A., Ghelli, G.,and Orsini, R. A relationship mechanism for a strongly typed object-oriented database programming language.Proceedings of Seventeenth International Conference on VLDB, Barcelona, 1991.
Albano, A., Ghelli, G., and Orsini, R. Fibonacci reference manual: A preliminary version. FIDE2 Technical Reports, FIDE/94/102, 1994b.
Atkinson, M.P. A vision of persistent systems. Invited paper.Proceedings of the International Conference on Deductive and Object-Oriented Databases, Munich, 1991.
Atkinson, M.P., Bailey, P.J., Chisholm, K.J., Cockshott, W.P., and Morrison, R. An approach to persistent programming.Computer Journal, 26(4):360–365, 1983.
Atkinson, M.P., Bancilhon, F., DeWitt, D., Dittrich, K.,Maier, D., and Zdonik, S.B. The object-oriented database manifesto.Proceedings of the DOOD, Kyoto, Japan, 1989.
Atkinson, M.P. and Buneman, O.P. Types and persistence in database programming languages.ACM Computing Surveys, 19(2):105–190, 1987.
Atkinson, M.P., Chisholm, K.J., and Cockshott, W.P. PS-algol: An algol with a persistent heap.ACM SIGPLAN Notices, 17(7):24–31, 1981.
Bancilhon, F., Cluet, S., and Delobel, C. A query language for the O2 objectoriented database system.Proceedings of the Second International Workshop on Database Programming Languages, Salishan Lodge, Oregon, 1989.
Bancilhon, F., Delobel, C., and Kannelakis, P., eds.Building an Object-Oriented Database System: The Story of O 2. Menlo Park, CA: Morgan Kaufmann, 1992.
Banerjee, J., Chou, H., Garza, J.F., Kim, W., Woelk, D., and Ballou, N.. Data model issues for object-oriented applications,ACM Transactions on Office Information Systems, 5(1):3–26, 1987.
Breazu-Tannen, V., Buneman, P., and Naqvi, S. Structural recursion as a query language.Proceedings of the Third International Workshop on Database Programming Languages, Nafplion, Greece, 1991.
Brown, A.L. Persistent object store. Persistent programming, Research Report 71-89, Department of Computer Science, University of Glasgow and St. Andrews, Scotland, 1989.
Cardelli, L. The functional abstract machine. AT&T Bell Labs Technical Report N. 107, Murray Hill, NJ, 1983.
Cardelli, L. The Quest language and system (tracking draft). Technical Report, Digital Equipment Corporation, Systems Research Center, Palo-Alto, California, 1990.
Cardelli, L. and Wegner, P. On understanding types, data abstraction and polymorphism.ACM Computing Surveys, 17(4):471–523, 1985.
Connor, R., McNally, D., and Morrison, R. Subtyping and assignment in database programming languages.Proceedings of the Third International Workshop on Data Base Programming Languages, Nafplion, Greece, 1991.
Dittrich, K. Object-oriented database systems: The next miles of the marathon.Information Systems, 15(1):161–167, 1990.
Fishman, D.H., Beech, D., Cate, H.P., Chow, E.C., Connors, T., Davis, J.D., Derrett, N., Hoch, C.G., Kent, W., Lyngbaek, P., Mahbod, B., Neimat, M.A., Ryan, T.A., and Shan, M.C. Iris: An object-oriented database management system.ACM Transactions on Office Information Systems, 5(1):48–69, 1987.
Fraternali, P. and Tanca, L. A structured approach for the definition of the semantics of active databases. Politecnico di Milano, Dipartimento di Elettronica e Informazione, Report 94-073, 1994.
Gemstone Product Overview, GemStone Version 1.0, Servio Logic Development Corporation, March 1986.
Ghelli, G. A class abstraction for a hierarchical type system.Third International Conference on Database Theory, Paris, 1990.
Kim, W.Introduction to Object-Oriented Databases, Cambridge, MA, The MIT Press, 1990.
Landin, P. The mechanical evaluation of expressions.Computer Journal, 6:308–320, 1964.
Matthes, F. and Schmidt, J.W. Bulk-types: Built-in or add-on.Proceedings of the Third International Workshop on Data Base Programming Languages, Nafplion, Greece, 1991.
Matthes, F. and Schmidt, J.W. Persistent polymorphic programming in Tycoon: An introduction. FIDE2 Technical Reports, FIDE/94/106, 1994.
Morrison, R., Brown, A.L., Connor, R.C.H., Cutts, Q.I., Dearle, A., Kirby, G.N.C., and Munro, D.S. The Napier88 Reference Manual (Release 2.0), FIDE2 Technical Reports, FIDE/94/104, 1994.
Mylopoulos, J., Bernestein, P.A., and Wong, H.K.T. A language facility for designing interactive database-intensive systems.ACM Transactions on Database Systems, 5(2):185–207, 1980.
Ontologic Inc., VBASE System Documentation, Billerica, MA., 1987.
Ontologic Inc. ONTOS Object Database Documentation, Release 1.5, Burlington, MA, 1989.
Richardson, J. and Schwartz, P. Aspects: Extending objects to support multiple, independent roles.Proceedings of the International Conference on the Management of Data, Denver, CO, 1991.
Rowe, L.A. and Shoens, K.A. Data abstraction, views and updates in RIGEL.Proceedings of the ACM SIGMOD Conference, Boston, MA, 1979.
Schmidt, J.W. Some high level language constructs for data of type relation.ACM Transactions on Database Systems, 2(3):247–261, 1977.
Schmidt, J.W. and Matthes, F. Language technology for post-relational data systems.Database Systems of the 90s, Vol. 466 of Lecture Notes in Computer Science, Berlin: Springer-Verlag, 1990.
Shilling, J.J. and Sweeney, P.F. Three steps to view: Extending the object-oriented paradigm. OOPSLA 89,ACM SIGPLAN Notices, 24(10):353–361, 1989.
Smith, J.M., Fox, S., and Landers, T. Reference Manual for ADAPLEX, CCA-81-02, Computer Corporation of America, January, 1981.
Stein, L.A. and Zdonik, S.B. Clovers: The Dynamic Behavior of Type and Instances. Brown University Technical Report No. CS-89-42, November, 1989.
Symbolics Inc., “StaticeTM,” Cambridge, MA 02142, USA, 1988.
Wasserman, A.I. The data management facilities of PLAIN,Proceedings of the ACM SIGMOD Conference, Boston, MA, 1979.
Zdonik, S.B. and Maier, D. Fundamentals of object-oriented databases. In: Zdonik, S.B. and Maier, D., eds.Readings in Object-Oriented Database Systems, San Mateo, CA: Morgan Kaufmann Publishers, Inc., 1990.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Albano, A., Ghelli, G. & Orsini, R. Fibonacci: A programming language for object databases. VLDB Journal 4, 403–444 (1995). https://doi.org/10.1007/BF01231643
Received:
Revised:
Accepted:
Issue Date:
DOI: https://doi.org/10.1007/BF01231643