Fibonacci(ID:5759/fib001)


Programming Language for Object Databases


Related languages
DSM => Fibonacci   Incorporated some features of
Fibonacci => Galileo   Influence
Fibonacci => Tycoon/Fibonacci Add-On Experiment   Incorporated into

References:
  • Albano, A.; Ghelli, G. and R. Orsini. A relationship mechanism for a strongly typed object-oriented database programming language. In Proc. VLDB ?91, pages 565?575, 1991 view details
  • Albano, Antonio; Bergamini, Roberto; Ghelli, Giorgio; Orsini, Renzo "An Introduction to the Database Programming Language Fibonacci" pp247-266 view details
          in SEBD 1993 view details
  • Albano, Antonio; Brasini, C.; Diotallevi, Milena; Ghelli, Giorgio; Orsini, Renzo "A Guided Tour of the Fibonacci System" pp371-394 view details
          in SEBD 1994 view details
  • Albano, Antonio; Ghelli, Giorgio; Orsini, Renzo "Fibonacci: A Programming Language for Object Databases" pp403-444 view details Abstract: Fibonacci is a statically and strongly typed, object-oriented database programming language incorporating new mechanisms to model databases 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 modelling complex databases. Examples of its use are given referring to the prototype implementation of the language.
          in Very Large Data Bases Journal 4(3) 1995 view details
  • Ghelli, G. ; F. Nanni, G. Puglielli, A. Albano. Fibonacci Modules: A Modularization Mechanism for Object Databases . Interdata Project Technical Report T1-R39, 1999. view details Abstract: An overview of the features of the Fibonacci type system is presented, with particular reference to those used in the definition of modules. The resulting module system is characterized by a high flexibility and expressivity, which is mainly due to the fact that modules are first class values. The paper describes Fibonacci module system and shows how these modules can be used to organize complex object databases in smaller, interrelated units.

          in Very Large Data Bases Journal 4(3) 1995 view details
  • Ghelli, G.; Nanni, F. and Albano A. "Fibonacci Modules: A Modularization Mechanism for Object Databases" Interdata TR T1-R39 view details Abstract: An overview of the features of the Fibonacci type system is
    presented, with particular reference to those used in the definition of modules. The resulting module system is characterized by a high flexibility and expressivity, which is mainly due to the fact that modules are first class values. The paper describes Fibonacci module system and shows how these modules can be used to organize complex object databases in smaller, interrelated units.
          in Very Large Data Bases Journal 4(3) 1995 view details
    Resources
    • Fibonacci language home page

      Fibonacci: An Object Database Programming Language


      The main contributions are the proposal of three orthogonal mechanisms: objects with roles, classes and associations. Classes are modifiable collections of values with the same type, organized in inclusion hierarchies on which constraints, such as inclusion or mutual disjointness, can be defined. Associations represent modifiable n-ary symmetric relations between classes: they can be organized into a specialization hierarchy, with the referential integrity constraint actually enforced. Moreover, other constraints, such as cardinality, surjectivity, dependency and non- mutability, can be defined on associations in a declarative way. Fibonacci has the typical functionalities of database languages (persistence, transactions, a query language, integrity constraints), and it provides a modularization mechanism as first class values for the structuring of complex databases in interrelated units, and for the definition of external schemas.

      The language design and implementation has been a source of research problems that have been addressed at a more general type-theoretic level; these type-theoretic studies, on the other side, have often been the basis of innovative design decisions in our database programming language research. This research may be categorized as: type-checking and strong typing problems, and foundations for object-oriented database languages.

      external link