SlideShare a Scribd company logo
The
 Object
Oriented
Database
 System
Paper Facts

• 1989
   The Object-Oriented Database System Manifesto
    (246 citations)
   M. Atkinson, F. Bancilhon, D. DeWitt, K. Dittrich,
    D. Maier, S. Zdonik
• 1990
   Third-Generation Database System Manifesto
    (19 citations)
   M. Stonebraker, L. Rowe, B. Lindsay, M. Carey,
    M. Brodie, P. Bernstein, D. Beech
Paper Facts...

• 1995
   The Third Manifesto (9 citations)
   H. Darwen, C. Date
   'We believe that [object oriented] features are
    orthogonal to the Relational Model, and therefore that
    the Relational Model needs no extension, no
    correction, no subsumption, and, above all, no
    perversion, in order for them to be accommodated...'
OODBMS History

First Generation OODBMS:
• 1986
   G-Base (Graphael, F)
• 1987
   GemStone (Servio Corporation, USA)
• 1988
   Vbase (Ontologic)
   Statice (Symbolics)
OODBMS History...

Second Generation OODBMS:
• 1989
     Ontos (Ontos)
     ObjectStore (Object Design)
     Objectivity (Objectivity)
     Versant ODBMS (Versant Object Technology)
OODBMS History...

Third Generation OODBMS:
• 1990
   Orion/Itasca (Microelectronics and Computer
    Technology Cooperation, USA)
   O2 (Altaïr, F)
   Zeitgeist (Texas Instruments)
• 1991
   ODMG formed (first standard released in 1993)
Overview

• Paper attemps to define an object-oriented
  database system
• Describes the main features and characteristics
  that a system must have to qualify as an object-
  oriented database system
• OODBMSs at the beginning of the 90s
    lack of a common data model
    lack of strong theoretical framework
    strong experimental activity
Overview...

• Darwinian approach → hope that, out of the set of
  experimental prototypes being built, a fit model will
  emerge → risk of de facto standard
• Paper is separated into mandatory, optional and
  open features
Mandatory Features (Golden Rules)

• An object-oriented database system must be a
  DBMS and an object-oriented system
• DBMS
   persistence, secondary storage management,
    concurrency, recovery and ad hoc query facility
• Object-oriented system
   complex objects, object identity, encapsulation, types
    or classes, inheritance, overriding combined with late
    binding, extensibility and computational completeness
Complex Objects
"Thou shalt support complex objects"


• Complex objects are built from simpler ones by
  applying constructors to them
• The minimal set of constructors that the system
  should have are set, tuple and list
• Constructors must be orthogonal
• Operations on a complex object must propagate
  transitively to all its components (e.g. deep copy)
Object Identity
"Thou shalt support object identity"


• Two notions of object equivalence: two objects
  can be identical (same object) or equal (same
  value)
• Object identity has impact on object sharing and
  object updates
• Object identity "can be simulated" in a value-
  based system by introducing explicit object
  identifiers (places burden on the user)
Encapsulation
"Thou shalt encapsulate thine objects"


• Distinguish between specification and
  implementation and support for modularity
• Two views of encapsulation: programming
  language view and the database adaption of that
  view
• In the database world, it is not clear whether the
  structural part of the type is part of the interface
Encapsulation...
"Thou shalt encapsulate thine objects"


• Proper encapsulation is obtained when only the
  operations are visible and the data is hidden (may
  be violated under certain conditions)
Types and Classes
"Thou shalt support types or classes"


• Type in an object-oriented system defines
  common features of a set of objects → type
  checking at compile time
• In general types can not be modified at run-time
• Classes (run-time notion) contains two aspects:
  object factory and object warehouse
    Object Factory → create new objects
    Object warehouse → extension (objects) attached to
     the class
Types and Classes...
"Thou shalt support types or classes"


• Classes can be manipulated at run-time
• Choice between types or classes should be left to
  the designer of the system
• Not necessary for the system to automatically
  maintain the extent of a type
Class or Type Hierarchies
"Thine classes or types shalt inherit from their ancestors"


• Helps code reusability
• At least four types of inheritance; substitution
  inheritance, inclusion inheritance, constraint
  inheritance and specialization inheritance
Overriding/loading, late binding
"Thou shalt not bind prematurely"


• A single name denotes different implementations
  → overloading
• Redefinition of the implementation for different
  types → overriding
• Operation names are resolved at run-time → late
  binding
Computational Completeness
"Thou shalt be computationally complete"


• Should be possibe to express any computable
  function, using the DML of the DB system
• Can be introduced through a reasonable
  connection to existing programming languages
Extensibility
"Thou shalt be extensible"


• Set of predefined types
• Should be possible to define new types with no
  distinction in usage between system defined and
  user defined types
• Type constructors (tuples, sets, lists, etc.) don't
  have to be extensible
Persistence
"Thou shalt remember thy data"


• Evident from a database point of view but novelty
  from a programming language point of view
• Persistence should be orthogonal (each object,
  independent of its type, is persistence capable)
• User should not have to explicitly move or copy
  data to make it persistent (implicit persistence)
Secondary Storage Management
"Thou shalt manage very large databases"


• Supported through a set of mechansims: index
  management, data clustering, data buffering,
  access path selection and query optimization
• Should be invisible for the application programmer
Concurrency
"Thou shalt accept concurrent users"


• Support standard notion of atomicity of a
  sequence of operations and of controlled sharing
Recovery
"Thou shalt recover from hardware and software failures"


• In case of hardware or software failures, the
  system should recover, i.e. bring itself back to a
  coherent state of the data
Ad Hoc Query Facility
"Thou shalt have a simple way of querying data"


• Provide functionality of an ad hoc query language
  (graphical browser could be sufficient)
• High level (declarative)
• Application independent
Optional Features (The Goodies)

•   Multiple Inheritance
•   Type checking and type inferencing
•   Distribution
•   Design transactions
•   Versions
Open Features

• Programming Paradigm
• Representation System
• Type System
   generic types, type generator,...
• Uniformity
   are types and methods objects?
Conclusions

• Golden rules should be the definition of an object-
  oriented database management system
• Paper is a proposal to be debatted



   "Thou shalt question the golden rules"

More Related Content

PPT
08. Object Oriented Database in DBMS
KEY
Object persistence
PDF
Fundamental Areas Of Study In Data Science.pdf
PPTX
PPL, OQL & oodbms
PPTX
Text clustering
PDF
Python - gui programming (tkinter)
PPT
02. chapter 3 lexical analysis
PPTX
Data For Datamining
08. Object Oriented Database in DBMS
Object persistence
Fundamental Areas Of Study In Data Science.pdf
PPL, OQL & oodbms
Text clustering
Python - gui programming (tkinter)
02. chapter 3 lexical analysis
Data For Datamining

What's hot (20)

PPTX
Lecture 1 database system notes full.pptx
DOC
Data mining notes
PPT
Data cleaning-outlier-detection
PPT
Introduction to Python
PDF
Introduction to database-ER Model
PPTX
Unit 1-Data Science Process Overview.pptx
PPTX
Relational Database Design
PPTX
Data integration
PPTX
Dbms unit i
PPTX
Machine Learning - Dataset Preparation
PPTX
Introduction to Data Science.pptx
PPT
Ch01 database-conceptsppt4207
PPTX
Python libraries
PPTX
ProLog (Artificial Intelligence) Introduction
PPTX
Spatial databases
PPTX
Probabilistic information retrieval models & systems
PDF
Object oriented databases
PPTX
Schemas for multidimensional databases
PPTX
Introduction to pandas
PDF
Advanced Database System
Lecture 1 database system notes full.pptx
Data mining notes
Data cleaning-outlier-detection
Introduction to Python
Introduction to database-ER Model
Unit 1-Data Science Process Overview.pptx
Relational Database Design
Data integration
Dbms unit i
Machine Learning - Dataset Preparation
Introduction to Data Science.pptx
Ch01 database-conceptsppt4207
Python libraries
ProLog (Artificial Intelligence) Introduction
Spatial databases
Probabilistic information retrieval models & systems
Object oriented databases
Schemas for multidimensional databases
Introduction to pandas
Advanced Database System
Ad

Viewers also liked (17)

PPT
Object Oriented Dbms
PPTX
Object oriented database model
PPT
Object Oriented Database Management System
PPTX
Object oriented dbms
PPT
Oodbms ch 20
PPTX
PostgreSQL - Object Relational Database
PPT
Overview of Object-Oriented Concepts Characteristics by vikas jagtap
PPT
A Semantic Data Model for Web Applications
PPTX
Object oriented data model
PPT
Object Relational Database Management System
PDF
Object-Relational Database Systems(ORDBMSs)
PPTX
Dbms architecture
PPTX
PPS
Data models
PPT
Types dbms
PPT
Oops ppt
PPT
Object Oriented Programming Concepts
Object Oriented Dbms
Object oriented database model
Object Oriented Database Management System
Object oriented dbms
Oodbms ch 20
PostgreSQL - Object Relational Database
Overview of Object-Oriented Concepts Characteristics by vikas jagtap
A Semantic Data Model for Web Applications
Object oriented data model
Object Relational Database Management System
Object-Relational Database Systems(ORDBMSs)
Dbms architecture
Data models
Types dbms
Oops ppt
Object Oriented Programming Concepts
Ad

Similar to The Object Oriented Database System Manifesto (20)

PPTX
MIT302 Lesson 2_Advanced Database Systems.pptx
PPTX
Concepts for Object Oriented Databases.ppt
PPT
8 oo approach&uml-23_feb
PPTX
10-System-ModelingFL22-sketch-19122022-091234am.pptx
PPTX
Advanced Topics on Database - Unit-2 AU17
KEY
Preliminary committee presentation
PPTX
Adbms 9 complex objects
PPT
6269441.ppt
PPTX
UNIT I Introduction to NoSQL.pptx
PPT
This discussion about the dbms introduction
PPTX
Machine Learning Innovations
PPT
01-introduction OOPS concepts in C++ JAVA
DOCX
Architectural Styles and Case Studies, Software architecture ,unit–2
PPTX
An overview of Object Oriented Programming in C#.
PDF
The Genopolis Microarray database
PPT
introduction-to-dbms-unit-1.ppt
PPT
01-introductionto Object ooriented Programming in JAVA CS.ppt
PPTX
DatabaseManagementSystem.pptx
PPTX
UNIT I Introduction to NoSQL.pptx
PDF
Big Data technology Landscape
MIT302 Lesson 2_Advanced Database Systems.pptx
Concepts for Object Oriented Databases.ppt
8 oo approach&uml-23_feb
10-System-ModelingFL22-sketch-19122022-091234am.pptx
Advanced Topics on Database - Unit-2 AU17
Preliminary committee presentation
Adbms 9 complex objects
6269441.ppt
UNIT I Introduction to NoSQL.pptx
This discussion about the dbms introduction
Machine Learning Innovations
01-introduction OOPS concepts in C++ JAVA
Architectural Styles and Case Studies, Software architecture ,unit–2
An overview of Object Oriented Programming in C#.
The Genopolis Microarray database
introduction-to-dbms-unit-1.ppt
01-introductionto Object ooriented Programming in JAVA CS.ppt
DatabaseManagementSystem.pptx
UNIT I Introduction to NoSQL.pptx
Big Data technology Landscape

More from Beat Signer (20)

PDF
Use Cases and Course Review - Lecture 8 - Human-Computer Interaction (1023841...
PDF
HCI Research Methods - Lecture 7 - Human-Computer Interaction (1023841ANR)
PDF
Evaluation Methods - Lecture 6 - Human-Computer Interaction (1023841ANR)
PDF
Design Guidelines and Models - Lecture 5 - Human-Computer Interaction (102384...
PDF
Human Perception and Cognition - Lecture 4 - Human-Computer Interaction (1023...
PDF
Requirements Analysis and Prototyping - Lecture 3 - Human-Computer Interactio...
PDF
HCI and Interaction Design - Lecture 2 - Human-Computer Interaction (1023841ANR)
PDF
Introduction - Lecture 1 - Human-Computer Interaction (1023841ANR)
PDF
Indoor Positioning Using the OpenHPS Framework
PDF
Personalised Learning Environments Based on Knowledge Graphs and the Zone of ...
PDF
Cross-Media Technologies and Applications - Future Directions for Personal In...
PDF
Bridging the Gap: Managing and Interacting with Information Across Media Boun...
PDF
Codeschool in a Box: A Low-Barrier Approach to Packaging Programming Curricula
PDF
The RSL Hypermedia Metamodel and Its Application in Cross-Media Solutions
PDF
Case Studies and Course Review - Lecture 12 - Information Visualisation (4019...
PDF
Dashboards - Lecture 11 - Information Visualisation (4019538FNR)
PDF
Interaction - Lecture 10 - Information Visualisation (4019538FNR)
PDF
View Manipulation and Reduction - Lecture 9 - Information Visualisation (4019...
PDF
Visualisation Techniques - Lecture 8 - Information Visualisation (4019538FNR)
PDF
Design Guidelines and Principles - Lecture 7 - Information Visualisation (401...
Use Cases and Course Review - Lecture 8 - Human-Computer Interaction (1023841...
HCI Research Methods - Lecture 7 - Human-Computer Interaction (1023841ANR)
Evaluation Methods - Lecture 6 - Human-Computer Interaction (1023841ANR)
Design Guidelines and Models - Lecture 5 - Human-Computer Interaction (102384...
Human Perception and Cognition - Lecture 4 - Human-Computer Interaction (1023...
Requirements Analysis and Prototyping - Lecture 3 - Human-Computer Interactio...
HCI and Interaction Design - Lecture 2 - Human-Computer Interaction (1023841ANR)
Introduction - Lecture 1 - Human-Computer Interaction (1023841ANR)
Indoor Positioning Using the OpenHPS Framework
Personalised Learning Environments Based on Knowledge Graphs and the Zone of ...
Cross-Media Technologies and Applications - Future Directions for Personal In...
Bridging the Gap: Managing and Interacting with Information Across Media Boun...
Codeschool in a Box: A Low-Barrier Approach to Packaging Programming Curricula
The RSL Hypermedia Metamodel and Its Application in Cross-Media Solutions
Case Studies and Course Review - Lecture 12 - Information Visualisation (4019...
Dashboards - Lecture 11 - Information Visualisation (4019538FNR)
Interaction - Lecture 10 - Information Visualisation (4019538FNR)
View Manipulation and Reduction - Lecture 9 - Information Visualisation (4019...
Visualisation Techniques - Lecture 8 - Information Visualisation (4019538FNR)
Design Guidelines and Principles - Lecture 7 - Information Visualisation (401...

Recently uploaded (20)

PDF
Empathic Computing: Creating Shared Understanding
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPT
Teaching material agriculture food technology
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Electronic commerce courselecture one. Pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
cuic standard and advanced reporting.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Encapsulation theory and applications.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Empathic Computing: Creating Shared Understanding
Encapsulation_ Review paper, used for researhc scholars
Diabetes mellitus diagnosis method based random forest with bat algorithm
Teaching material agriculture food technology
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Electronic commerce courselecture one. Pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Unlocking AI with Model Context Protocol (MCP)
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Review of recent advances in non-invasive hemoglobin estimation
Building Integrated photovoltaic BIPV_UPV.pdf
cuic standard and advanced reporting.pdf
Network Security Unit 5.pdf for BCA BBA.
Encapsulation theory and applications.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Understanding_Digital_Forensics_Presentation.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf

The Object Oriented Database System Manifesto

  • 2. Paper Facts • 1989  The Object-Oriented Database System Manifesto (246 citations)  M. Atkinson, F. Bancilhon, D. DeWitt, K. Dittrich, D. Maier, S. Zdonik • 1990  Third-Generation Database System Manifesto (19 citations)  M. Stonebraker, L. Rowe, B. Lindsay, M. Carey, M. Brodie, P. Bernstein, D. Beech
  • 3. Paper Facts... • 1995  The Third Manifesto (9 citations)  H. Darwen, C. Date  'We believe that [object oriented] features are orthogonal to the Relational Model, and therefore that the Relational Model needs no extension, no correction, no subsumption, and, above all, no perversion, in order for them to be accommodated...'
  • 4. OODBMS History First Generation OODBMS: • 1986  G-Base (Graphael, F) • 1987  GemStone (Servio Corporation, USA) • 1988  Vbase (Ontologic)  Statice (Symbolics)
  • 5. OODBMS History... Second Generation OODBMS: • 1989  Ontos (Ontos)  ObjectStore (Object Design)  Objectivity (Objectivity)  Versant ODBMS (Versant Object Technology)
  • 6. OODBMS History... Third Generation OODBMS: • 1990  Orion/Itasca (Microelectronics and Computer Technology Cooperation, USA)  O2 (Altaïr, F)  Zeitgeist (Texas Instruments) • 1991  ODMG formed (first standard released in 1993)
  • 7. Overview • Paper attemps to define an object-oriented database system • Describes the main features and characteristics that a system must have to qualify as an object- oriented database system • OODBMSs at the beginning of the 90s  lack of a common data model  lack of strong theoretical framework  strong experimental activity
  • 8. Overview... • Darwinian approach → hope that, out of the set of experimental prototypes being built, a fit model will emerge → risk of de facto standard • Paper is separated into mandatory, optional and open features
  • 9. Mandatory Features (Golden Rules) • An object-oriented database system must be a DBMS and an object-oriented system • DBMS  persistence, secondary storage management, concurrency, recovery and ad hoc query facility • Object-oriented system  complex objects, object identity, encapsulation, types or classes, inheritance, overriding combined with late binding, extensibility and computational completeness
  • 10. Complex Objects "Thou shalt support complex objects" • Complex objects are built from simpler ones by applying constructors to them • The minimal set of constructors that the system should have are set, tuple and list • Constructors must be orthogonal • Operations on a complex object must propagate transitively to all its components (e.g. deep copy)
  • 11. Object Identity "Thou shalt support object identity" • Two notions of object equivalence: two objects can be identical (same object) or equal (same value) • Object identity has impact on object sharing and object updates • Object identity "can be simulated" in a value- based system by introducing explicit object identifiers (places burden on the user)
  • 12. Encapsulation "Thou shalt encapsulate thine objects" • Distinguish between specification and implementation and support for modularity • Two views of encapsulation: programming language view and the database adaption of that view • In the database world, it is not clear whether the structural part of the type is part of the interface
  • 13. Encapsulation... "Thou shalt encapsulate thine objects" • Proper encapsulation is obtained when only the operations are visible and the data is hidden (may be violated under certain conditions)
  • 14. Types and Classes "Thou shalt support types or classes" • Type in an object-oriented system defines common features of a set of objects → type checking at compile time • In general types can not be modified at run-time • Classes (run-time notion) contains two aspects: object factory and object warehouse  Object Factory → create new objects  Object warehouse → extension (objects) attached to the class
  • 15. Types and Classes... "Thou shalt support types or classes" • Classes can be manipulated at run-time • Choice between types or classes should be left to the designer of the system • Not necessary for the system to automatically maintain the extent of a type
  • 16. Class or Type Hierarchies "Thine classes or types shalt inherit from their ancestors" • Helps code reusability • At least four types of inheritance; substitution inheritance, inclusion inheritance, constraint inheritance and specialization inheritance
  • 17. Overriding/loading, late binding "Thou shalt not bind prematurely" • A single name denotes different implementations → overloading • Redefinition of the implementation for different types → overriding • Operation names are resolved at run-time → late binding
  • 18. Computational Completeness "Thou shalt be computationally complete" • Should be possibe to express any computable function, using the DML of the DB system • Can be introduced through a reasonable connection to existing programming languages
  • 19. Extensibility "Thou shalt be extensible" • Set of predefined types • Should be possible to define new types with no distinction in usage between system defined and user defined types • Type constructors (tuples, sets, lists, etc.) don't have to be extensible
  • 20. Persistence "Thou shalt remember thy data" • Evident from a database point of view but novelty from a programming language point of view • Persistence should be orthogonal (each object, independent of its type, is persistence capable) • User should not have to explicitly move or copy data to make it persistent (implicit persistence)
  • 21. Secondary Storage Management "Thou shalt manage very large databases" • Supported through a set of mechansims: index management, data clustering, data buffering, access path selection and query optimization • Should be invisible for the application programmer
  • 22. Concurrency "Thou shalt accept concurrent users" • Support standard notion of atomicity of a sequence of operations and of controlled sharing
  • 23. Recovery "Thou shalt recover from hardware and software failures" • In case of hardware or software failures, the system should recover, i.e. bring itself back to a coherent state of the data
  • 24. Ad Hoc Query Facility "Thou shalt have a simple way of querying data" • Provide functionality of an ad hoc query language (graphical browser could be sufficient) • High level (declarative) • Application independent
  • 25. Optional Features (The Goodies) • Multiple Inheritance • Type checking and type inferencing • Distribution • Design transactions • Versions
  • 26. Open Features • Programming Paradigm • Representation System • Type System  generic types, type generator,... • Uniformity  are types and methods objects?
  • 27. Conclusions • Golden rules should be the definition of an object- oriented database management system • Paper is a proposal to be debatted "Thou shalt question the golden rules"