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

What's hot (20)

PPTX
Object oriented database concepts
Temesgenthanks
 
PPTX
Ontology Tutorial: Semantic Technology for Intelligence, Defense and Security
Barry Smith
 
PPTX
Spatial Database
District Administration
 
PPT
7. Relational Database Design in DBMS
koolkampus
 
PPTX
Component and Deployment Diagram - Brief Overview
Rajiv Kumar
 
PPTX
Introduction to NoSQL
Dr-Dipali Meher
 
PPTX
Schemas for multidimensional databases
yazad dumasia
 
PDF
Lesson 1: Introduction to DBMS
Amrit Kaur
 
PPTX
Database Management System, Lecture-1
Sonia Mim
 
PPTX
Object oriented database
Md. Hasan Imam Bijoy
 
PPT
Warehousing dimension star-snowflake_schemas
Eric Matthews
 
PPT
Query Processing in IR
ShujaatZaheer3
 
PPT
1 - Introduction to PL/SQL
rehaniltifat
 
PDF
Advanced Database System
sushmita rathour
 
PPT
Web ontology language (owl)
Ameer Sameer
 
PPT
MySql slides (ppt)
webhostingguy
 
PPTX
Type of database models
SanthiNivas
 
PPTX
DBMS and its Models
AhmadShah Sultani
 
PDF
Natural Language Processing (NLP)
Yuriy Guts
 
Object oriented database concepts
Temesgenthanks
 
Ontology Tutorial: Semantic Technology for Intelligence, Defense and Security
Barry Smith
 
Spatial Database
District Administration
 
7. Relational Database Design in DBMS
koolkampus
 
Component and Deployment Diagram - Brief Overview
Rajiv Kumar
 
Introduction to NoSQL
Dr-Dipali Meher
 
Schemas for multidimensional databases
yazad dumasia
 
Lesson 1: Introduction to DBMS
Amrit Kaur
 
Database Management System, Lecture-1
Sonia Mim
 
Object oriented database
Md. Hasan Imam Bijoy
 
Warehousing dimension star-snowflake_schemas
Eric Matthews
 
Query Processing in IR
ShujaatZaheer3
 
1 - Introduction to PL/SQL
rehaniltifat
 
Advanced Database System
sushmita rathour
 
Web ontology language (owl)
Ameer Sameer
 
MySql slides (ppt)
webhostingguy
 
Type of database models
SanthiNivas
 
DBMS and its Models
AhmadShah Sultani
 
Natural Language Processing (NLP)
Yuriy Guts
 

Viewers also liked (17)

PPT
Object Oriented Dbms
maryeem
 
PPTX
Object oriented database model
PAQUIAAIZEL
 
PPT
Object Oriented Database Management System
Ajay Jha
 
PPTX
Object oriented dbms
Kartik Kalpande Patil
 
PPT
Oodbms ch 20
saurabhshertukde
 
PPTX
PostgreSQL - Object Relational Database
Mubashar Iqbal
 
PPT
Overview of Object-Oriented Concepts Characteristics by vikas jagtap
Vikas Jagtap
 
PPT
A Semantic Data Model for Web Applications
Armin Haller
 
PPTX
Object oriented data model
Vyanktesh Dorlikar
 
PPT
Object Relational Database Management System
Amar Myana
 
PDF
Object-Relational Database Systems(ORDBMSs)
Sahan Walpitagamage
 
PPTX
Dbms architecture
Shubham Dwivedi
 
PPTX
Ordbms
ramandeep brar
 
PPS
Data models
Anuj Modi
 
PPT
Types dbms
Avnish Shaw
 
PPT
Oops ppt
abhayjuneja
 
PPT
Object Oriented Programming Concepts
thinkphp
 
Object Oriented Dbms
maryeem
 
Object oriented database model
PAQUIAAIZEL
 
Object Oriented Database Management System
Ajay Jha
 
Object oriented dbms
Kartik Kalpande Patil
 
Oodbms ch 20
saurabhshertukde
 
PostgreSQL - Object Relational Database
Mubashar Iqbal
 
Overview of Object-Oriented Concepts Characteristics by vikas jagtap
Vikas Jagtap
 
A Semantic Data Model for Web Applications
Armin Haller
 
Object oriented data model
Vyanktesh Dorlikar
 
Object Relational Database Management System
Amar Myana
 
Object-Relational Database Systems(ORDBMSs)
Sahan Walpitagamage
 
Dbms architecture
Shubham Dwivedi
 
Data models
Anuj Modi
 
Types dbms
Avnish Shaw
 
Oops ppt
abhayjuneja
 
Object Oriented Programming Concepts
thinkphp
 
Ad

Similar to The Object Oriented Database System Manifesto (20)

PPTX
Object database standards, languages and design
Dabbal Singh Mahara
 
PPT
03 Object Dbms Technology
Laguna State Polytechnic University
 
PDF
Bt8901 objective oriented systems1
Techglyphs
 
PPTX
Odbms concepts
Dabbal Singh Mahara
 
PPTX
MIT302 Lesson 2_Advanced Database Systems.pptx
elsagalgao
 
PPT
Introduction to odbms
ajay pashankar
 
PPT
Chapter 1 - Concepts for Object Databases.ppt
Shemse Shukre
 
PDF
Advanced DBMS- Unit 1.pdf Advanced DBMS dives into complex data management fo...
MandeepSingh631581
 
PPT
CH11.ppt
ssuser5c874e
 
PPT
A Comparative Study of RDBMs and OODBMs in Relation to Security of Data
inscit2006
 
PPT
Chapter1.ppt Concept of Object oriented Database
KeenboonAsaffaa
 
DOCX
Advance Database Management Systems -Object Oriented Principles In Database
Sonali Parab
 
PPT
Database Management System and Object Dt
NirmalaCR2
 
PDF
NoSQL Databases - Lecture 12 - Introduction to Databases (1007156ANR)
Beat Signer
 
PPT
Opps approch of software development
Raja Babu
 
PPTX
Concepts for Object Oriented Databases.ppt
nafsigenet
 
PPT
Ch21-OODB.ppt
fojep23014
 
DOC
Object
guest94b187c
 
PPT
Oo Design And Patterns
Anil Bapat
 
PPT
Database administration and management chapter 12
saniaafzalf1f2f3
 
Object database standards, languages and design
Dabbal Singh Mahara
 
03 Object Dbms Technology
Laguna State Polytechnic University
 
Bt8901 objective oriented systems1
Techglyphs
 
Odbms concepts
Dabbal Singh Mahara
 
MIT302 Lesson 2_Advanced Database Systems.pptx
elsagalgao
 
Introduction to odbms
ajay pashankar
 
Chapter 1 - Concepts for Object Databases.ppt
Shemse Shukre
 
Advanced DBMS- Unit 1.pdf Advanced DBMS dives into complex data management fo...
MandeepSingh631581
 
CH11.ppt
ssuser5c874e
 
A Comparative Study of RDBMs and OODBMs in Relation to Security of Data
inscit2006
 
Chapter1.ppt Concept of Object oriented Database
KeenboonAsaffaa
 
Advance Database Management Systems -Object Oriented Principles In Database
Sonali Parab
 
Database Management System and Object Dt
NirmalaCR2
 
NoSQL Databases - Lecture 12 - Introduction to Databases (1007156ANR)
Beat Signer
 
Opps approch of software development
Raja Babu
 
Concepts for Object Oriented Databases.ppt
nafsigenet
 
Ch21-OODB.ppt
fojep23014
 
Object
guest94b187c
 
Oo Design And Patterns
Anil Bapat
 
Database administration and management chapter 12
saniaafzalf1f2f3
 
Ad

More from Beat Signer (20)

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

Recently uploaded (20)

PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
July Patch Tuesday
Ivanti
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
July Patch Tuesday
Ivanti
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 

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"