SlideShare a Scribd company logo
Chapter 24 Introduction to Object DBMSs Prepared by Ajay pashankar
Object Oriented DBMS History Object-oriented model popularized in programming languages Simula 67, Smalltalk, C++, Java Earlier database models(hierarchical, network, relational) focused on record-oriented information New database applications need more & better support for complex data.
The weakness of RDBMSs Poor representation of  ‘ real world ’  entities.  The process of normalization generally leads to the creation of relations that do not corresponds to entities in the  ‘ real world ’ .  Semantic overloading, namely there is no mechanism to distinguish between entities and relationships, or to distinguish between different kinds of relationship that exist between entities. Poor support for integrity and enterprise constraints.
The weakness of RDBMSs (cont) Homogeneous data structure. The fixed structure is too restrictive for many  ‘ real world ’  objects that have a complex structure, and it leads to unnatural joins, which are inefficient. Limited Operations. It only has a fixed set of operations such as set and tuple  –  oriented operations, operations that are provided in the SQL specification. Difficulty handling recursive queries Impedance mismatch
New database applications Traditional applications had these properties: Uniformity Record orientation Small data items Atomic fields
New database applications (cont) New applications requiring more complex info: Computer-aided design(CAD). A CAD database stores data relating to mechanical and electrical design covering objects like buildings, IC circuits. Computer-aided software engineering(CASE). A CASE database stores data relating to the stages of the software development lifecycle planning. Office information systems (OIS). An OIS database stores data relating to the computer control of information in a business including emails, invoices, etc.
Why consider these new applications? The following have made them feasible(they were out of reach in the 70s): Faster CPUs Larger main memories Larger disks Better, faster networks Lower cost for all of the above!
Object Oriented data Model Object is similar to an entity in ER model. If we are to implement Object Oriented DBMSs in Java, for each entity, we will create a class for it. Object Oriented concept centers around encapsulating both data and procedures for operation on data as a single unit.
What is encapsulation? Encapsulation means that an object contains both the data structure and the set of operations that can be used to manipulate it. Often cases, adopting encapsulation hides the implementation from the users do not necessarily have to know the detail of it.
Other OOP concepts Abstraction: Abstraction is the process of identifying the essential aspects of an entity and ignoring the unimportant properties. Information Hiding: We separate the external aspects of an object from its internal details, which are hidden from the outside world.
Object Oriented data Model(cont) Object: A uniquely identifiable entity that contains both the attribute that describe the state of a  ‘ real world ’  object and the actions that are associated with it. Set of variables Set of methods (code to execute in response to messages). This is the main difference from the ER model.
Objects Variables can be Atomic values (like character, integer number, boolean value) Objects (other user defined objects). Reference to other objects
Objects (cont) Object classes. Objects that have the same attributes and respond to the same messages can be grouped together to form a class Define object type (structure and behavior) An object is an instance of a class Sometimes associated with a collection of all instances in class
class timeSeries { /* variables */ List* entryList; /* list of elements */ time beginning; time ending; elementDescriptor elemDesc; /* element type descriptor */ /* messages */ elementDescriptor getElementType(); Tuple getFirstElement(); Tuple getLastElement(); Tuple getFirstElementAfter(time t); } Example Object class
Inheritance Inheritance allows one class to be defined as a special case of  a more general class. The types of inheritance are IS-A hierarchy idea Single inheritance Multiple inheritance Repeated inheritance. A special case of multiple inheritance in which the super class inherit from a common super class. Selective inheritance.
Polymorphism Objects of different types can respond to same message, e.g.  “ print(), ”  in different ways. Makes it possible to develop general, extensible software systems. It has three types: operation, inclusion and parametric. More important than inheritance
Object Identity An object in an Object Oriented Database remains the same object even if some or all of its attribute values change. It is a key part of the definition of an object. Not the same as relational DBMS, where a data vale is used for identity. Object-oriented databases use an internally-generated object identifier to uniquely identify an object.
Object containment Same as aggregation concept in ER model Part-of hierarchy
Other Object Oriented techniques Overloading: allows the name of a method to be reused within a class definition or across definitions. This is a special case of the more general concept of polymorphism. Overriding: a special case of overloading which allows the names of a property to be redefined in a subclass Dynamic binding: Allows the determination of an object ’ s type and methods to be deferred until runtime.
Persistent Programming Languages Standard programming languages only allow storing persistent (permanent) information which could be in files or in a database via a database API. In either case, format of objects in persistent storage is different than format in memory
Persistent Programming Languages (cont) Problem known as impedance mismatch Idea: allow programming language objects to be persistent. Persistent versions of Pascal, Smalltalk, C++ have been developed
Persistent Programming Languages (cont) Allows simpler creation and manipulation of persistent objects Drawbacks: Since language is powerful, it is easy to make errors that damage Database Hard to optimize I/O access made by database application
Making Objects Persistent Typically, persistence or non-persistence is specified at object creation time. E.g. class foo {int a; float y;} persistent collection foo_coll<foo>; foo *x, *y; x = new foo(); //non-persistent y = new (foo_coll) foo();  //persistent
Some OODBs Have Limited Query Capability E.g. (similar to ObjectStore query) class emp {int eno, char [20] name, dept *d}; class dept {int dno, char[20]name}; persistent collection<emp>empcoll
Some OODBs Have Limited Query Capability (cont) collection<emp> * result; result = {: x in empcoll || x -> d.dnp =  10:] Less opportunity for optimization than in a relational DBMS with SQL
Complex Objects Sometimes we need object that consists of subobjects or components. A complex object is an item that is viewed as a single object in the  ‘ real world ’  but combines with other objects in a set of complex A-PART-OF relationships. The objects contained may themselves be complex objects, resulting in an A-PART-OF hierarchy.
Summary Object Oriented DBs designed to support new application areas  –  multi-media, CAD, CASE, GIS etc. Object = data + methods Inheritance, object containment Persistent programming languages OODBs have limited query capability Advantages and disadvantages of OODBs.  Next Generation DBMSs: Object-Oriented Data Model and Object-Relational Data Model

More Related Content

What's hot (20)

PPTX
Document object model
Amit kumar
 
PPT
CSS Basics
WordPress Memphis
 
PPTX
Data warehouse,data mining & Big Data
Ravinder Kamboj
 
PPTX
Learn html Basics
McSoftsis
 
PPTX
Jarrar: Description Logic
Mustafa Jarrar
 
ODP
Functors, Applicatives and Monads In Scala
Knoldus Inc.
 
PPT
petri.ppt
ssuser49298c
 
PPTX
Data science unit1
varshakumar21
 
PPT
JavaScript: Events Handling
Yuriy Bezgachnyuk
 
PPTX
Major issues in data mining
Slideshare
 
PPT
Data Mining
shrapb
 
PDF
Temporal database
Hussain Azmee
 
PDF
Trends and future of C++: Evolving a systems language for performance - by Bj...
devstonez
 
PDF
VB net lab.pdf
Prof. Dr. K. Adisesha
 
PDF
UNIT 1- Data Warehouse.pdf
Nancykumari47
 
PDF
Apache Cordova
Ivano Malavolta
 
PPTX
object oriented programing lecture 1
Geophery sanga
 
Document object model
Amit kumar
 
CSS Basics
WordPress Memphis
 
Data warehouse,data mining & Big Data
Ravinder Kamboj
 
Learn html Basics
McSoftsis
 
Jarrar: Description Logic
Mustafa Jarrar
 
Functors, Applicatives and Monads In Scala
Knoldus Inc.
 
petri.ppt
ssuser49298c
 
Data science unit1
varshakumar21
 
JavaScript: Events Handling
Yuriy Bezgachnyuk
 
Major issues in data mining
Slideshare
 
Data Mining
shrapb
 
Temporal database
Hussain Azmee
 
Trends and future of C++: Evolving a systems language for performance - by Bj...
devstonez
 
VB net lab.pdf
Prof. Dr. K. Adisesha
 
UNIT 1- Data Warehouse.pdf
Nancykumari47
 
Apache Cordova
Ivano Malavolta
 
object oriented programing lecture 1
Geophery sanga
 

Similar to Introduction to odbms (20)

PPT
Hibernate
Murali Pachiyappan
 
PPT
7 data management design
Châu Thanh Chương
 
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
 
PPTX
Object oriented database concepts
Temesgenthanks
 
PDF
Part2- The Atomic Information Resource
JEAN-MICHEL LETENNIER
 
PDF
M.c.a. (sem iv)- java programming
Praveen Chowdary
 
PPTX
Interview preparation for programming.pptx
BilalHussainShah5
 
PPT
Hibernate
Ajay K
 
PPTX
NHibernate
gabrielcerutti
 
PDF
Adv DB - Full Handout.pdf
3BRBoruMedia
 
PPTX
ADBMS Object and Object Relational Databases
Jayanthi Kannan MK
 
PPTX
Entity Framework 4
Stefano Paluello
 
PDF
OODBMS Concepts - National University of Singapore.pdf
ssuserd5e338
 
PPTX
Entity Framework 4
richardrflores1
 
PPTX
MIT302 Lesson 2_Advanced Database Systems.pptx
elsagalgao
 
PPTX
Advance oops concepts
Sangharsh agarwal
 
DOCX
Getting Started with Entity Framework in .NET
StudySection
 
PPTX
Building nTier Applications with Entity Framework Services (Part 1)
David McCarter
 
PDF
Free Hibernate Tutorial | VirtualNuggets
Virtual Nuggets
 
7 data management design
Châu Thanh Chương
 
Chapter 1 - Concepts for Object Databases.ppt
Shemse Shukre
 
Advanced DBMS- Unit 1.pdf Advanced DBMS dives into complex data management fo...
MandeepSingh631581
 
Object oriented database concepts
Temesgenthanks
 
Part2- The Atomic Information Resource
JEAN-MICHEL LETENNIER
 
M.c.a. (sem iv)- java programming
Praveen Chowdary
 
Interview preparation for programming.pptx
BilalHussainShah5
 
Hibernate
Ajay K
 
NHibernate
gabrielcerutti
 
Adv DB - Full Handout.pdf
3BRBoruMedia
 
ADBMS Object and Object Relational Databases
Jayanthi Kannan MK
 
Entity Framework 4
Stefano Paluello
 
OODBMS Concepts - National University of Singapore.pdf
ssuserd5e338
 
Entity Framework 4
richardrflores1
 
MIT302 Lesson 2_Advanced Database Systems.pptx
elsagalgao
 
Advance oops concepts
Sangharsh agarwal
 
Getting Started with Entity Framework in .NET
StudySection
 
Building nTier Applications with Entity Framework Services (Part 1)
David McCarter
 
Free Hibernate Tutorial | VirtualNuggets
Virtual Nuggets
 
Ad

Recently uploaded (20)

PDF
IMPORTANT GUIDELINES FOR M.Sc.ZOOLOGY DISSERTATION
raviralanaresh2
 
PPTX
How to Send Email From Odoo 18 Website - Odoo Slides
Celine George
 
PPTX
Controller Request and Response in Odoo18
Celine George
 
PDF
Week 2 - Irish Natural Heritage Powerpoint.pdf
swainealan
 
PPTX
How to Manage Expiry Date in Odoo 18 Inventory
Celine George
 
DOCX
Lesson 1 - Nature and Inquiry of Research
marvinnbustamante1
 
PPTX
Marketing Management PPT Unit 1 and Unit 2.pptx
Sri Ramakrishna College of Arts and science
 
PPTX
Ward Management: Patient Care, Personnel, Equipment, and Environment.pptx
PRADEEP ABOTHU
 
PDF
WATERSHED MANAGEMENT CASE STUDIES - ULUGURU MOUNTAINS AND ARVARI RIVERpdf
Ar.Asna
 
PPTX
infertility, types,causes, impact, and management
Ritu480198
 
PPT
Indian Contract Act 1872, Business Law #MBA #BBA #BCOM
priyasinghy107
 
PDF
Council of Chalcedon Re-Examined
Smiling Lungs
 
PDF
Vietnam Street Food & QSR Market 2025-1.pdf
ssuserec8cd0
 
PPTX
How to Create a Customer From Website in Odoo 18.pptx
Celine George
 
PDF
Is Assignment Help Legal in Australia_.pdf
thomas19williams83
 
PPTX
Introduction to Indian Writing in English
Trushali Dodiya
 
PPTX
EDUCATIONAL MEDIA/ TEACHING AUDIO VISUAL AIDS
Sonali Gupta
 
PDF
Lean IP - Lecture by Dr Oliver Baldus at the MIPLM 2025
MIPLM
 
PPTX
CATEGORIES OF NURSING PERSONNEL: HOSPITAL & COLLEGE
PRADEEP ABOTHU
 
PPTX
DIGITAL CITIZENSHIP TOPIC TLE 8 MATATAG CURRICULUM
ROBERTAUGUSTINEFRANC
 
IMPORTANT GUIDELINES FOR M.Sc.ZOOLOGY DISSERTATION
raviralanaresh2
 
How to Send Email From Odoo 18 Website - Odoo Slides
Celine George
 
Controller Request and Response in Odoo18
Celine George
 
Week 2 - Irish Natural Heritage Powerpoint.pdf
swainealan
 
How to Manage Expiry Date in Odoo 18 Inventory
Celine George
 
Lesson 1 - Nature and Inquiry of Research
marvinnbustamante1
 
Marketing Management PPT Unit 1 and Unit 2.pptx
Sri Ramakrishna College of Arts and science
 
Ward Management: Patient Care, Personnel, Equipment, and Environment.pptx
PRADEEP ABOTHU
 
WATERSHED MANAGEMENT CASE STUDIES - ULUGURU MOUNTAINS AND ARVARI RIVERpdf
Ar.Asna
 
infertility, types,causes, impact, and management
Ritu480198
 
Indian Contract Act 1872, Business Law #MBA #BBA #BCOM
priyasinghy107
 
Council of Chalcedon Re-Examined
Smiling Lungs
 
Vietnam Street Food & QSR Market 2025-1.pdf
ssuserec8cd0
 
How to Create a Customer From Website in Odoo 18.pptx
Celine George
 
Is Assignment Help Legal in Australia_.pdf
thomas19williams83
 
Introduction to Indian Writing in English
Trushali Dodiya
 
EDUCATIONAL MEDIA/ TEACHING AUDIO VISUAL AIDS
Sonali Gupta
 
Lean IP - Lecture by Dr Oliver Baldus at the MIPLM 2025
MIPLM
 
CATEGORIES OF NURSING PERSONNEL: HOSPITAL & COLLEGE
PRADEEP ABOTHU
 
DIGITAL CITIZENSHIP TOPIC TLE 8 MATATAG CURRICULUM
ROBERTAUGUSTINEFRANC
 
Ad

Introduction to odbms

  • 1. Chapter 24 Introduction to Object DBMSs Prepared by Ajay pashankar
  • 2. Object Oriented DBMS History Object-oriented model popularized in programming languages Simula 67, Smalltalk, C++, Java Earlier database models(hierarchical, network, relational) focused on record-oriented information New database applications need more & better support for complex data.
  • 3. The weakness of RDBMSs Poor representation of ‘ real world ’ entities. The process of normalization generally leads to the creation of relations that do not corresponds to entities in the ‘ real world ’ . Semantic overloading, namely there is no mechanism to distinguish between entities and relationships, or to distinguish between different kinds of relationship that exist between entities. Poor support for integrity and enterprise constraints.
  • 4. The weakness of RDBMSs (cont) Homogeneous data structure. The fixed structure is too restrictive for many ‘ real world ’ objects that have a complex structure, and it leads to unnatural joins, which are inefficient. Limited Operations. It only has a fixed set of operations such as set and tuple – oriented operations, operations that are provided in the SQL specification. Difficulty handling recursive queries Impedance mismatch
  • 5. New database applications Traditional applications had these properties: Uniformity Record orientation Small data items Atomic fields
  • 6. New database applications (cont) New applications requiring more complex info: Computer-aided design(CAD). A CAD database stores data relating to mechanical and electrical design covering objects like buildings, IC circuits. Computer-aided software engineering(CASE). A CASE database stores data relating to the stages of the software development lifecycle planning. Office information systems (OIS). An OIS database stores data relating to the computer control of information in a business including emails, invoices, etc.
  • 7. Why consider these new applications? The following have made them feasible(they were out of reach in the 70s): Faster CPUs Larger main memories Larger disks Better, faster networks Lower cost for all of the above!
  • 8. Object Oriented data Model Object is similar to an entity in ER model. If we are to implement Object Oriented DBMSs in Java, for each entity, we will create a class for it. Object Oriented concept centers around encapsulating both data and procedures for operation on data as a single unit.
  • 9. What is encapsulation? Encapsulation means that an object contains both the data structure and the set of operations that can be used to manipulate it. Often cases, adopting encapsulation hides the implementation from the users do not necessarily have to know the detail of it.
  • 10. Other OOP concepts Abstraction: Abstraction is the process of identifying the essential aspects of an entity and ignoring the unimportant properties. Information Hiding: We separate the external aspects of an object from its internal details, which are hidden from the outside world.
  • 11. Object Oriented data Model(cont) Object: A uniquely identifiable entity that contains both the attribute that describe the state of a ‘ real world ’ object and the actions that are associated with it. Set of variables Set of methods (code to execute in response to messages). This is the main difference from the ER model.
  • 12. Objects Variables can be Atomic values (like character, integer number, boolean value) Objects (other user defined objects). Reference to other objects
  • 13. Objects (cont) Object classes. Objects that have the same attributes and respond to the same messages can be grouped together to form a class Define object type (structure and behavior) An object is an instance of a class Sometimes associated with a collection of all instances in class
  • 14. class timeSeries { /* variables */ List* entryList; /* list of elements */ time beginning; time ending; elementDescriptor elemDesc; /* element type descriptor */ /* messages */ elementDescriptor getElementType(); Tuple getFirstElement(); Tuple getLastElement(); Tuple getFirstElementAfter(time t); } Example Object class
  • 15. Inheritance Inheritance allows one class to be defined as a special case of a more general class. The types of inheritance are IS-A hierarchy idea Single inheritance Multiple inheritance Repeated inheritance. A special case of multiple inheritance in which the super class inherit from a common super class. Selective inheritance.
  • 16. Polymorphism Objects of different types can respond to same message, e.g. “ print(), ” in different ways. Makes it possible to develop general, extensible software systems. It has three types: operation, inclusion and parametric. More important than inheritance
  • 17. Object Identity An object in an Object Oriented Database remains the same object even if some or all of its attribute values change. It is a key part of the definition of an object. Not the same as relational DBMS, where a data vale is used for identity. Object-oriented databases use an internally-generated object identifier to uniquely identify an object.
  • 18. Object containment Same as aggregation concept in ER model Part-of hierarchy
  • 19. Other Object Oriented techniques Overloading: allows the name of a method to be reused within a class definition or across definitions. This is a special case of the more general concept of polymorphism. Overriding: a special case of overloading which allows the names of a property to be redefined in a subclass Dynamic binding: Allows the determination of an object ’ s type and methods to be deferred until runtime.
  • 20. Persistent Programming Languages Standard programming languages only allow storing persistent (permanent) information which could be in files or in a database via a database API. In either case, format of objects in persistent storage is different than format in memory
  • 21. Persistent Programming Languages (cont) Problem known as impedance mismatch Idea: allow programming language objects to be persistent. Persistent versions of Pascal, Smalltalk, C++ have been developed
  • 22. Persistent Programming Languages (cont) Allows simpler creation and manipulation of persistent objects Drawbacks: Since language is powerful, it is easy to make errors that damage Database Hard to optimize I/O access made by database application
  • 23. Making Objects Persistent Typically, persistence or non-persistence is specified at object creation time. E.g. class foo {int a; float y;} persistent collection foo_coll<foo>; foo *x, *y; x = new foo(); //non-persistent y = new (foo_coll) foo(); //persistent
  • 24. Some OODBs Have Limited Query Capability E.g. (similar to ObjectStore query) class emp {int eno, char [20] name, dept *d}; class dept {int dno, char[20]name}; persistent collection<emp>empcoll
  • 25. Some OODBs Have Limited Query Capability (cont) collection<emp> * result; result = {: x in empcoll || x -> d.dnp = 10:] Less opportunity for optimization than in a relational DBMS with SQL
  • 26. Complex Objects Sometimes we need object that consists of subobjects or components. A complex object is an item that is viewed as a single object in the ‘ real world ’ but combines with other objects in a set of complex A-PART-OF relationships. The objects contained may themselves be complex objects, resulting in an A-PART-OF hierarchy.
  • 27. Summary Object Oriented DBs designed to support new application areas – multi-media, CAD, CASE, GIS etc. Object = data + methods Inheritance, object containment Persistent programming languages OODBs have limited query capability Advantages and disadvantages of OODBs. Next Generation DBMSs: Object-Oriented Data Model and Object-Relational Data Model