SlideShare a Scribd company logo
5
Most read
15
Most read
16
Most read
Advance Database Management Systems : 15
Object Data Management Group (ODMG)
Prof Neeraj Bhargava
Vaibhav Khanna
Department of Computer Science
School of Engineering and Systems Sciences
Maharshi Dayanand Saraswati University Ajmer
Slide 21- 2
Objectives
• Discuss the importance of standards (e.g.,
portability, interoperability)
• Introduce Object Data Management Group
(ODMG): object model, object definition
language (ODL), object query language (OQL)
• Present ODMG object binding to programming
languages (e.g., C++)
• Present Object Database Conceptual Design
Slide 21- 3
The Object Model of ODMG
• Provides a standard model for object
databases
• Supports object definition via ODL
• Supports object querying via OQL
• Supports a variety of data types and type
constructors
Slide 21- 4
ODMG Objects and Literals
• The basic building blocks of the object model are
– Objects
– Literals
• An object has four characteristics
1. Identifier: unique system-wide identifier
2. Name: unique within a particular database and/or program; it
is optional
3. Lifetime: persistent vs. transient
4. Structure: specifies how object is constructed by the type
constructor and whether it is an atomic object
Slide 21- 5
ODMG Literals
• A literal has a current value but not an
identifier
• Three types of literals
1. atomic: predefined; basic data type values (e.g.,
short, float, boolean, char)
2. structured: values that are constructed by type
constructors (e.g., date, struct variables)
3. collection: a collection (e.g., array) of values or
objects
Slide 21- 6
ODMG Interface Definition:
An Example
• Note: interface is ODMG’s keyword for class/type
interface Date:Object {
enum weekday{sun,mon,tue,wed,thu,fri,sat};
enum Month{jan,feb,mar,…,dec};
unsigned short year();
unsigned short month();
unsigned short day();
…
boolean is_equal(in Date other_date);
};
Slide 21- 7
Built-in Interfaces for
Collection Objects
• A collection object inherits the basic
collection interface, for example:
– cardinality()
– is_empty()
– insert_element()
– remove_element()
– contains_element()
– create_iterator()
Slide 21- 8
Collection Types
• Collection objects are further specialized into
types like a set, list, bag, array, and dictionary
• Each collection type may provide additional
interfaces, for example, a set provides:
– create_union()
– create_difference()
– is_subset_of(
– is_superset_of()
– is_proper_subset_of()
Slide 21- 9
Object Inheritance Hierarchy
Slide 21- 10
Atomic Objects
• Atomic objects are user-defined objects and are defined via
keyword class
• An example:
class Employee (extent all_emplyees key ssn)
{
attribute string name;
attribute string ssn;
attribute short age;
relationship Dept works_for;
void reassign(in string new_name);
}
Slide 21- 11
Class Extents
• An ODMG object can have an extent
defined via a class declaration
– Each extent is given a name and will contain all
persistent objects of that class
– For Employee class, for example, the extent is
called all_employees
– This is similar to creating an object of type
Set<Employee> and making it persistent
Slide 21- 12
Class Key
• A class key consists of one or more unique
attributes
• For the Employee class, the key is ssn
– Thus each employee is expected to have a unique
ssn
• Keys can be composite, e.g.,
– (key dnumber, dname)
Slide 21- 13
Object Factory
• An object factory is used to generate individual
objects via its operations
• An example:
interface ObjectFactory {
Object new ();
};
• new() returns new objects with an object_id
• One can create their own factory interface by
inheriting the above interface
Slide 21- 14
Interface and Class Definition
• ODMG supports two concepts for specifying
object types:
– Interface
– Class
• There are similarities and differences between
interfaces and classes
• Both have behaviors (operations) and state
(attributes and relationships)
Slide 21- 15
ODMG Interface
• An interface is a specification of the abstract
behavior of an object type
– State properties of an interface (i.e., its attributes
and relationships) cannot be inherited from
– Objects cannot be instantiated from an interface
Slide 21- 16
ODMG Class
• A class is a specification of abstract behavior
and state of an object type
– A class is Instantiable
– Supports “extends” inheritance to allow both
state and behavior inheritance among classes
– Multiple inheritance via “extends” is not allowed
Assignment
• What do you understand by collection object.
Give example of some interfaces related to
collection objects.
• Explain the concept of interface and class on
OODBMS

More Related Content

PDF
Oops concepts || Object Oriented Programming Concepts in Java
PPT
Graphics programming in Java
PPT
Java Streams
PDF
file handling c++
PPT
Object and class relationships
PPT
XML Schema
PPT
MYSQL - PHP Database Connectivity
PPTX
Packages in java
Oops concepts || Object Oriented Programming Concepts in Java
Graphics programming in Java
Java Streams
file handling c++
Object and class relationships
XML Schema
MYSQL - PHP Database Connectivity
Packages in java

What's hot (20)

PDF
UNIT III NON LINEAR DATA STRUCTURES – TREES
PPT
01 xml document structure
PPTX
Tree traversal techniques
PPTX
1 unit (oops)
PPTX
Major issues in data mining
PPT
Java features
PPTX
Xml presentation
PPTX
Data Structures in Python
PPT
03 namespace
PPTX
database Normalization
PPTX
Presentation of bootstrap
PPTX
Normalization in DBMS
PDF
StringTokenizer in java
PPTX
object oriented Programming ppt
PDF
Relational database- Fundamentals
PPT
Class and object in C++
PDF
C++ Files and Streams
PPTX
JAVA-PPT'S.pptx
PPTX
Arrays,string and vector
PPTX
Java Swing
UNIT III NON LINEAR DATA STRUCTURES – TREES
01 xml document structure
Tree traversal techniques
1 unit (oops)
Major issues in data mining
Java features
Xml presentation
Data Structures in Python
03 namespace
database Normalization
Presentation of bootstrap
Normalization in DBMS
StringTokenizer in java
object oriented Programming ppt
Relational database- Fundamentals
Class and object in C++
C++ Files and Streams
JAVA-PPT'S.pptx
Arrays,string and vector
Java Swing
Ad

Similar to Adbms 15 object data management group (20)

PPT
Data base management system Chapter21 (1).ppt
PPT
oodb.ppt
PPT
01-introduction OOPS concepts in C++ JAVA
PPT
01-introductionto Object ooriented Programming in JAVA CS.ppt
PPT
34. uml
PPTX
MIT302 Lesson 2_Advanced Database Systems.pptx
PPT
Chapter 1- Introduction.ppt
PDF
Adv DB - Full Handout.pdf
DOCX
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.docx
PPTX
Analyzing a system and specifying the requirements
PPT
Ch21-OODB.ppt
PDF
lecture-1111111111111111111111111111.pdf
PPT
Data structure and problem solving ch01.ppt
PDF
Intro to Software Engineering - Module Design
PPTX
Microsoft Entity Framework
PPTX
Introduction of Object Oriented system for engineer
PPTX
OOP_in_CPP_Animesh_Animated_Diagram.pptx
PPTX
PPT
P Training Presentation
Data base management system Chapter21 (1).ppt
oodb.ppt
01-introduction OOPS concepts in C++ JAVA
01-introductionto Object ooriented Programming in JAVA CS.ppt
34. uml
MIT302 Lesson 2_Advanced Database Systems.pptx
Chapter 1- Introduction.ppt
Adv DB - Full Handout.pdf
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.docx
Analyzing a system and specifying the requirements
Ch21-OODB.ppt
lecture-1111111111111111111111111111.pdf
Data structure and problem solving ch01.ppt
Intro to Software Engineering - Module Design
Microsoft Entity Framework
Introduction of Object Oriented system for engineer
OOP_in_CPP_Animesh_Animated_Diagram.pptx
P Training Presentation
Ad

More from Vaibhav Khanna (20)

PPTX
Information and network security 47 authentication applications
PPTX
Information and network security 46 digital signature algorithm
PPTX
Information and network security 45 digital signature standard
PPTX
Information and network security 44 direct digital signatures
PPTX
Information and network security 43 digital signatures
PPTX
Information and network security 42 security of message authentication code
PPTX
Information and network security 41 message authentication code
PPTX
Information and network security 40 sha3 secure hash algorithm
PPTX
Information and network security 39 secure hash algorithm
PPTX
Information and network security 38 birthday attacks and security of hash fun...
PPTX
Information and network security 37 hash functions and message authentication
PPTX
Information and network security 35 the chinese remainder theorem
PPTX
Information and network security 34 primality
PPTX
Information and network security 33 rsa algorithm
PPTX
Information and network security 32 principles of public key cryptosystems
PPTX
Information and network security 31 public key cryptography
PPTX
Information and network security 30 random numbers
PPTX
Information and network security 29 international data encryption algorithm
PPTX
Information and network security 28 blowfish
PPTX
Information and network security 27 triple des
Information and network security 47 authentication applications
Information and network security 46 digital signature algorithm
Information and network security 45 digital signature standard
Information and network security 44 direct digital signatures
Information and network security 43 digital signatures
Information and network security 42 security of message authentication code
Information and network security 41 message authentication code
Information and network security 40 sha3 secure hash algorithm
Information and network security 39 secure hash algorithm
Information and network security 38 birthday attacks and security of hash fun...
Information and network security 37 hash functions and message authentication
Information and network security 35 the chinese remainder theorem
Information and network security 34 primality
Information and network security 33 rsa algorithm
Information and network security 32 principles of public key cryptosystems
Information and network security 31 public key cryptography
Information and network security 30 random numbers
Information and network security 29 international data encryption algorithm
Information and network security 28 blowfish
Information and network security 27 triple des

Recently uploaded (20)

PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Digital Strategies for Manufacturing Companies
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
assetexplorer- product-overview - presentation
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
Introduction to Artificial Intelligence
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
ai tools demonstartion for schools and inter college
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPTX
Transform Your Business with a Software ERP System
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Computer Software and OS of computer science of grade 11.pptx
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Digital Strategies for Manufacturing Companies
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
assetexplorer- product-overview - presentation
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Navsoft: AI-Powered Business Solutions & Custom Software Development
2025 Textile ERP Trends: SAP, Odoo & Oracle
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Introduction to Artificial Intelligence
How to Choose the Right IT Partner for Your Business in Malaysia
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
ai tools demonstartion for schools and inter college
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Transform Your Business with a Software ERP System
Reimagine Home Health with the Power of Agentic AI​
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Computer Software and OS of computer science of grade 11.pptx

Adbms 15 object data management group

  • 1. Advance Database Management Systems : 15 Object Data Management Group (ODMG) Prof Neeraj Bhargava Vaibhav Khanna Department of Computer Science School of Engineering and Systems Sciences Maharshi Dayanand Saraswati University Ajmer
  • 2. Slide 21- 2 Objectives • Discuss the importance of standards (e.g., portability, interoperability) • Introduce Object Data Management Group (ODMG): object model, object definition language (ODL), object query language (OQL) • Present ODMG object binding to programming languages (e.g., C++) • Present Object Database Conceptual Design
  • 3. Slide 21- 3 The Object Model of ODMG • Provides a standard model for object databases • Supports object definition via ODL • Supports object querying via OQL • Supports a variety of data types and type constructors
  • 4. Slide 21- 4 ODMG Objects and Literals • The basic building blocks of the object model are – Objects – Literals • An object has four characteristics 1. Identifier: unique system-wide identifier 2. Name: unique within a particular database and/or program; it is optional 3. Lifetime: persistent vs. transient 4. Structure: specifies how object is constructed by the type constructor and whether it is an atomic object
  • 5. Slide 21- 5 ODMG Literals • A literal has a current value but not an identifier • Three types of literals 1. atomic: predefined; basic data type values (e.g., short, float, boolean, char) 2. structured: values that are constructed by type constructors (e.g., date, struct variables) 3. collection: a collection (e.g., array) of values or objects
  • 6. Slide 21- 6 ODMG Interface Definition: An Example • Note: interface is ODMG’s keyword for class/type interface Date:Object { enum weekday{sun,mon,tue,wed,thu,fri,sat}; enum Month{jan,feb,mar,…,dec}; unsigned short year(); unsigned short month(); unsigned short day(); … boolean is_equal(in Date other_date); };
  • 7. Slide 21- 7 Built-in Interfaces for Collection Objects • A collection object inherits the basic collection interface, for example: – cardinality() – is_empty() – insert_element() – remove_element() – contains_element() – create_iterator()
  • 8. Slide 21- 8 Collection Types • Collection objects are further specialized into types like a set, list, bag, array, and dictionary • Each collection type may provide additional interfaces, for example, a set provides: – create_union() – create_difference() – is_subset_of( – is_superset_of() – is_proper_subset_of()
  • 9. Slide 21- 9 Object Inheritance Hierarchy
  • 10. Slide 21- 10 Atomic Objects • Atomic objects are user-defined objects and are defined via keyword class • An example: class Employee (extent all_emplyees key ssn) { attribute string name; attribute string ssn; attribute short age; relationship Dept works_for; void reassign(in string new_name); }
  • 11. Slide 21- 11 Class Extents • An ODMG object can have an extent defined via a class declaration – Each extent is given a name and will contain all persistent objects of that class – For Employee class, for example, the extent is called all_employees – This is similar to creating an object of type Set<Employee> and making it persistent
  • 12. Slide 21- 12 Class Key • A class key consists of one or more unique attributes • For the Employee class, the key is ssn – Thus each employee is expected to have a unique ssn • Keys can be composite, e.g., – (key dnumber, dname)
  • 13. Slide 21- 13 Object Factory • An object factory is used to generate individual objects via its operations • An example: interface ObjectFactory { Object new (); }; • new() returns new objects with an object_id • One can create their own factory interface by inheriting the above interface
  • 14. Slide 21- 14 Interface and Class Definition • ODMG supports two concepts for specifying object types: – Interface – Class • There are similarities and differences between interfaces and classes • Both have behaviors (operations) and state (attributes and relationships)
  • 15. Slide 21- 15 ODMG Interface • An interface is a specification of the abstract behavior of an object type – State properties of an interface (i.e., its attributes and relationships) cannot be inherited from – Objects cannot be instantiated from an interface
  • 16. Slide 21- 16 ODMG Class • A class is a specification of abstract behavior and state of an object type – A class is Instantiable – Supports “extends” inheritance to allow both state and behavior inheritance among classes – Multiple inheritance via “extends” is not allowed
  • 17. Assignment • What do you understand by collection object. Give example of some interfaces related to collection objects. • Explain the concept of interface and class on OODBMS