SlideShare a Scribd company logo
14
1.3 Encapsulation of Operations,
Methods, and Persistence (2)
• The concept of information hiding means that
 external aspects of an object is separated from its internal details,
which are hidden from the outside world.
 The external users of the object are only made aware of the
interface (signature) of the operation
• Specifying Object Behavior via Class Operations (methods):
 The main idea is to define the behavior of a type of object based
on the operations that can be externally applied to objects of that
type.
 In general, the implementation of an operation can be specified in a
general-purpose programming language that provides flexibility
and power in defining the operations
14
Most read
17
Encapsulation of Operations, Methods, and
Persistence (6)
• Specifying Object Persistence via Naming and Reachability:
 Transient objects
• exist in the executing program and disappear when program
terminates.
 Persistent objects
• stored in the database and persist after program termination.
• Mechanisms to make an object persistent
 Naming Mechanism:
• name can be given to an object via a specific statement or operation in the
program
• the named objects are used as entry points to the database through which
users and applications can start their database access
 Reachability Mechanism:
• Make the object reachable from some other persistent object.
• An object B is said to be reachable from an object A if a sequence of
references in the object graph lead from object A to object B.
17
Most read
19
1.4 Type and Class Hierarchies and Inheritance (1)
• Type (class) Hierarchy
 A type is defined by
 assigning type name and defining attributes (instance variables) and
operations (methods).
has a type name and a list of visible (public) functions
• Specifications: TYPE_NAME: function, function, . . . , function
Example:
• PERSON: Name, Address, Birthdate, Age, SSN
• Subtype:
 When the designer or user must create a new type
 that is similar but not identical to an already defined type
 inherits all the functions of supertype
19
Most read
Chapter 1
Concepts for Object Oriented
Databases
By: Melaku Y
Chapter Outline
1. Overview of O-O Concepts
2. O-O Identity, Object Structure and Type
Constructors
3. Encapsulation of Operations, Methods and
Persistence
4. Type and Class Hierarchies and Inheritance
2
Introduction
• Data model is used to describe the structure of the database
• Traditional Data Models:
 Hierarchical (1960)
 Network (since mid-60’s)
 Entity-relationship Model
 Relational (since 1970 and commercially since 1982)
• Object Oriented (OO) Data Models since mid-90’s
• Reasons for creation of Object Oriented Databases
 Need for more complex applications
• Give the designer to specify both the structure of complex objects
and the operations
 Increased use of object-oriented programming languages
• Difficult to integrate with traditional database
 Need for additional data modeling features 3
1.1 Overview of Object-Oriented Concepts(1)
• As commercial object DBMSs became available, the need for a
standard model and language was recognized.
• Main Claim: OO databases try to maintain a direct correspondence
between:
 real-world and database objects so that objects do not lose their
integrity and identity and can easily be identified and operated upon
• Object: A uniquely identifiable entity
 That contains both the attributes that describe the state of a ‘real
world’ object and the actions that are associated with it. (Simula
1960s)
• Object: has two components:
 state (value) and behavior (operations)
Similar to program variable in programming language, except that it
will typically have a complex data structure as well as specific
operations defined by the programmer 4
Overview of Object-Oriented Concepts (2)
• In OO databases,
 objects may have an object structure of arbitrary complexity in order to
contain all of the necessary information that describes the object.
• In contrast, in traditional database systems,
 information about a complex object is often scattered over many
relations or records, leading to loss of direct correspondence between
a real-world object and its database representation.
• Persistent vs transient object
 Transient object: exist only during program execution
 Persistent object: exist beyond program termination
Stored by OO databases permanently in secondary storage
 Allow the sharing objects among multiple programs and applications.
 What needed: indexing and concurrency(DBMS Features)
5
Overview of Object-Oriented Concepts (3)
• The internal structure of an object in OOPLs
 includes the specification of instance variables, which hold the
values that define the internal state of the object.
• An instance variable is similar to the concept of an attribute,
 except that instance variables may be encapsulated within the
object and thus are not necessarily visible to external users
• Some OO models insist that
 all operations a user can apply to an object must be predefined.
This forces a complete encapsulation of objects.
 Issues: users required to know attribute name to retrieve specific
objects and any simple retrieval requires a predefined operation
6
Overview of Object-Oriented Concepts (4)
• To encourage encapsulation, an operation is defined in two parts:
 signature or interface of the operation, specifies the operation
name and arguments (or parameters).
 method or body, specifies the implementation of the operation.
 Operations can be invoked by
 passing a message to an object, which includes the operation name
and the parameters.
 The object then executes the method for that operation.
 This encapsulation permits
 modification of the internal structure of an object, as well as
 the implementation of its operations, without the need to disturb
the external programs that invoke these operations
7
Overview of Object-Oriented Concepts (5)
• Type and Class hierarchies and Inheritance
 permits specification of new types or classes that inherit much of their
structure and/or operations from previously defined types or classes.
 this makes it easier to develop the data types of a system incrementally
and to reuse existing type definitions when creating new types of
objects.
 Operator overloading(operator polymorphism)
 refers to an operation’s ability to be applied to different types of objects
 in such a situation, an operation name may refer to several distinct
implementations, depending on the type of object it is applied to.
8
1.2 Object Identity, Object Structure, and Type
Constructors (1)
• Unique Identity:
 an OO database system provides a unique identity to each independent
object stored in the database.
 this unique identity is typically implemented via a unique, system-
generated object identifier(OID)
the main property of OID
immutable (should not change). this preserves the identity of the real-
world object being represented.
used only once, even if an object is removed from the database, its OID
should not be assigned to another object
Object may given one or more names meaningful to the user
identifies a single object within a database.
intended to act as ‘root’ objects that provide entry points into the
database. 9
Object Identity, Object Structure, and Type
Constructors (3)
• Type Constructors:
 In ODBs, a complex type may be constructed from other types by
nesting of type constructors.
• The three most basic constructors are:
 atom (basic built-in data types)
 tuple (compound or composite type)
• struct Name<FirstName: string, MiddleInitial: char, LastName:
string>
• struct CollegeDegree<Major: string, Degree: string, Year: date>
 collection (multivalued) => set, array, list, bag, dictionary
 The atom constructor is used to represent all basic atomic values
 integers, real numbers, character strings, Booleans, other
10
Object Identity, Object Structure, and Type
Constructors (4)
• Tuple constructor
 create structured values and objects of the form <a1:i1, a2:i2, … ,
an:in>
• Set constructor
 create objects or literals that are a set of distinct elements {i1, i2, … ,
in}, all of the same type
• Bag constructor
 Same as set but elements need not be distinct
• List constructor
 create an ordered list [i1, i2, … , in]
 Array constructor
 create a single-dimensional array of elements of the same type
 Dictionary constructor
 creates a collection of key-value pairs (K, V) 11
Object Identity, Object Structure, and Type
Constructors (5)
12
1.3 Encapsulation of Operations, Persistence of
Objects(1)
• Encapsulation
 One of the main characteristics of OO languages and systems
 Related to the concepts of abstract data types and information
hiding in programming languages
 In traditional database models and systems this concept was not
applied
 since it is customary to make the structure of database objects
visible to users and external programs
The relation and its attributes can be accessed using generic
operations.
 The concept of encapsulation means that
 Object contains both data structure and the set of operations used to
manipulate it.
13
1.3 Encapsulation of Operations,
Methods, and Persistence (2)
• The concept of information hiding means that
 external aspects of an object is separated from its internal details,
which are hidden from the outside world.
 The external users of the object are only made aware of the
interface (signature) of the operation
• Specifying Object Behavior via Class Operations (methods):
 The main idea is to define the behavior of a type of object based
on the operations that can be externally applied to objects of that
type.
 In general, the implementation of an operation can be specified in a
general-purpose programming language that provides flexibility
and power in defining the operations
14
Encapsulation of Operations, Methods, and
Persistence (4)
 For database applications, the requirement that all objects be
completely encapsulated is too stringent.
 One way of relaxing this requirement is to divide the structure
of an object into visible and hidden attributes (instance
variables).
 An operation is typically applied to an object by using the
dot notation.
15
16
Encapsulation of Operations, Methods, and
Persistence (6)
• Specifying Object Persistence via Naming and Reachability:
 Transient objects
• exist in the executing program and disappear when program
terminates.
 Persistent objects
• stored in the database and persist after program termination.
• Mechanisms to make an object persistent
 Naming Mechanism:
• name can be given to an object via a specific statement or operation in the
program
• the named objects are used as entry points to the database through which
users and applications can start their database access
 Reachability Mechanism:
• Make the object reachable from some other persistent object.
• An object B is said to be reachable from an object A if a sequence of
references in the object graph lead from object A to object B.
17
Encapsulation of Operations, Methods, and
Persistence (6)
18
1.4 Type and Class Hierarchies and Inheritance (1)
• Type (class) Hierarchy
 A type is defined by
 assigning type name and defining attributes (instance variables) and
operations (methods).
has a type name and a list of visible (public) functions
• Specifications: TYPE_NAME: function, function, . . . , function
Example:
• PERSON: Name, Address, Birthdate, Age, SSN
• Subtype:
 When the designer or user must create a new type
 that is similar but not identical to an already defined type
 inherits all the functions of supertype
19
Type and Class Hierarchies and Inheritance (3)
• Example (1):
 PERSON: Name, Address, Birthdate, Age, SSN
 EMPLOYEE: Name, Address, Birthdate, Age, SSN, Salary,
HireDate, Seniority
 STUDENT: Name, Address, Birthdate, Age, SSN, Major, GPA
• OR:
 EMPLOYEE subtype-of PERSON: Salary, HireDate, Seniority
 STUDENT subtype-of PERSON: Major, GPA
20
Type and Class Hierarchies and Inheritance (4)
• Example (2):
 GEOMETRY_OBJECT: Shape, Area, ReferencePoint
 RECTANGLE subtype-of GEOMETRY_OBJECT: Width, Height
 TRIANGLE subtype-of GEOMETRY_OBJECT: Side1, Side2, Angle
 CIRCLE subtype-of GEOMETRY_OBJECT: Radius
21
Thank you
22

More Related Content

What's hot (20)

Relational algebra ppt
Relational algebra pptRelational algebra ppt
Relational algebra ppt
GirdharRatne
 
Scaling and Normalization
Scaling and NormalizationScaling and Normalization
Scaling and Normalization
Kush Kulshrestha
 
Slide 3 data abstraction & 3 schema
Slide 3 data abstraction & 3 schemaSlide 3 data abstraction & 3 schema
Slide 3 data abstraction & 3 schema
Visakh V
 
ER Model in DBMS
ER Model in DBMSER Model in DBMS
ER Model in DBMS
Kabindra Koirala
 
Entity Relationship Diagram
Entity Relationship DiagramEntity Relationship Diagram
Entity Relationship Diagram
Shakila Mahjabin
 
SQL, Embedded SQL, Dynamic SQL and SQLJ
SQL, Embedded SQL, Dynamic SQL and SQLJSQL, Embedded SQL, Dynamic SQL and SQLJ
SQL, Embedded SQL, Dynamic SQL and SQLJ
Dharita Chokshi
 
Major issues in data mining
Major issues in data miningMajor issues in data mining
Major issues in data mining
Slideshare
 
3 Level Architecture
3 Level Architecture3 Level Architecture
3 Level Architecture
Adeel Rasheed
 
Random forest
Random forestRandom forest
Random forest
Musa Hawamdah
 
Data Mining & Data Warehousing Lecture Notes
Data Mining & Data Warehousing Lecture NotesData Mining & Data Warehousing Lecture Notes
Data Mining & Data Warehousing Lecture Notes
FellowBuddy.com
 
Data preprocessing using Machine Learning
Data  preprocessing using Machine Learning Data  preprocessing using Machine Learning
Data preprocessing using Machine Learning
Gopal Sakarkar
 
Ensemble Method (Bagging Boosting)
Ensemble Method (Bagging Boosting)Ensemble Method (Bagging Boosting)
Ensemble Method (Bagging Boosting)
Abdullah al Mamun
 
CS3492 - Database Management System Syallabus - Regulation 2021 for CSE.docx
CS3492 - Database Management System Syallabus - Regulation 2021 for CSE.docxCS3492 - Database Management System Syallabus - Regulation 2021 for CSE.docx
CS3492 - Database Management System Syallabus - Regulation 2021 for CSE.docx
JSEThomasR
 
Dbms relational model
Dbms relational modelDbms relational model
Dbms relational model
Chirag vasava
 
weak slot and filler structure
weak slot and filler structureweak slot and filler structure
weak slot and filler structure
Amey Kerkar
 
Machine learning with ADA Boost
Machine learning with ADA BoostMachine learning with ADA Boost
Machine learning with ADA Boost
Aman Patel
 
Dbms Notes Lecture 9 : Specialization, Generalization and Aggregation
Dbms Notes Lecture 9 : Specialization, Generalization and AggregationDbms Notes Lecture 9 : Specialization, Generalization and Aggregation
Dbms Notes Lecture 9 : Specialization, Generalization and Aggregation
BIT Durg
 
Distributed Query Processing
Distributed Query ProcessingDistributed Query Processing
Distributed Query Processing
Mythili Kannan
 
1. Introduction to DBMS
1. Introduction to DBMS1. Introduction to DBMS
1. Introduction to DBMS
koolkampus
 
Unit 1-Data Science Process Overview.pptx
Unit 1-Data Science Process Overview.pptxUnit 1-Data Science Process Overview.pptx
Unit 1-Data Science Process Overview.pptx
Anusuya123
 
Relational algebra ppt
Relational algebra pptRelational algebra ppt
Relational algebra ppt
GirdharRatne
 
Slide 3 data abstraction & 3 schema
Slide 3 data abstraction & 3 schemaSlide 3 data abstraction & 3 schema
Slide 3 data abstraction & 3 schema
Visakh V
 
Entity Relationship Diagram
Entity Relationship DiagramEntity Relationship Diagram
Entity Relationship Diagram
Shakila Mahjabin
 
SQL, Embedded SQL, Dynamic SQL and SQLJ
SQL, Embedded SQL, Dynamic SQL and SQLJSQL, Embedded SQL, Dynamic SQL and SQLJ
SQL, Embedded SQL, Dynamic SQL and SQLJ
Dharita Chokshi
 
Major issues in data mining
Major issues in data miningMajor issues in data mining
Major issues in data mining
Slideshare
 
3 Level Architecture
3 Level Architecture3 Level Architecture
3 Level Architecture
Adeel Rasheed
 
Data Mining & Data Warehousing Lecture Notes
Data Mining & Data Warehousing Lecture NotesData Mining & Data Warehousing Lecture Notes
Data Mining & Data Warehousing Lecture Notes
FellowBuddy.com
 
Data preprocessing using Machine Learning
Data  preprocessing using Machine Learning Data  preprocessing using Machine Learning
Data preprocessing using Machine Learning
Gopal Sakarkar
 
Ensemble Method (Bagging Boosting)
Ensemble Method (Bagging Boosting)Ensemble Method (Bagging Boosting)
Ensemble Method (Bagging Boosting)
Abdullah al Mamun
 
CS3492 - Database Management System Syallabus - Regulation 2021 for CSE.docx
CS3492 - Database Management System Syallabus - Regulation 2021 for CSE.docxCS3492 - Database Management System Syallabus - Regulation 2021 for CSE.docx
CS3492 - Database Management System Syallabus - Regulation 2021 for CSE.docx
JSEThomasR
 
Dbms relational model
Dbms relational modelDbms relational model
Dbms relational model
Chirag vasava
 
weak slot and filler structure
weak slot and filler structureweak slot and filler structure
weak slot and filler structure
Amey Kerkar
 
Machine learning with ADA Boost
Machine learning with ADA BoostMachine learning with ADA Boost
Machine learning with ADA Boost
Aman Patel
 
Dbms Notes Lecture 9 : Specialization, Generalization and Aggregation
Dbms Notes Lecture 9 : Specialization, Generalization and AggregationDbms Notes Lecture 9 : Specialization, Generalization and Aggregation
Dbms Notes Lecture 9 : Specialization, Generalization and Aggregation
BIT Durg
 
Distributed Query Processing
Distributed Query ProcessingDistributed Query Processing
Distributed Query Processing
Mythili Kannan
 
1. Introduction to DBMS
1. Introduction to DBMS1. Introduction to DBMS
1. Introduction to DBMS
koolkampus
 
Unit 1-Data Science Process Overview.pptx
Unit 1-Data Science Process Overview.pptxUnit 1-Data Science Process Overview.pptx
Unit 1-Data Science Process Overview.pptx
Anusuya123
 

Similar to Concepts for Object Oriented Databases.ppt (20)

Chapter 1 - Concepts for Object Databases.ppt
Chapter 1 - Concepts for Object Databases.pptChapter 1 - Concepts for Object Databases.ppt
Chapter 1 - Concepts for Object Databases.ppt
Shemse Shukre
 
Object oriented database concepts
Object oriented database conceptsObject oriented database concepts
Object oriented database concepts
Temesgenthanks
 
Odbms concepts
Odbms conceptsOdbms concepts
Odbms concepts
Dabbal Singh Mahara
 
Chapter1.ppt Concept of Object oriented Database
Chapter1.ppt Concept of Object oriented DatabaseChapter1.ppt Concept of Object oriented Database
Chapter1.ppt Concept of Object oriented Database
KeenboonAsaffaa
 
Advanced Topics on Database - Unit-2 AU17
Advanced Topics on Database - Unit-2 AU17Advanced Topics on Database - Unit-2 AU17
Advanced Topics on Database - Unit-2 AU17
LOGANATHANK24
 
Database Management System and Object Dt
Database Management System and Object DtDatabase Management System and Object Dt
Database Management System and Object Dt
NirmalaCR2
 
Chapter 1 Concepts for Object-oriented Databases.pptx
Chapter 1 Concepts for Object-oriented Databases.pptxChapter 1 Concepts for Object-oriented Databases.pptx
Chapter 1 Concepts for Object-oriented Databases.pptx
haymanottaddess2015m
 
Database administration and management chapter 12
Database administration and management chapter 12Database administration and management chapter 12
Database administration and management chapter 12
saniaafzalf1f2f3
 
Adv DB - Full Handout.pdf
Adv DB - Full Handout.pdfAdv DB - Full Handout.pdf
Adv DB - Full Handout.pdf
3BRBoruMedia
 
CH11.ppt
CH11.pptCH11.ppt
CH11.ppt
ssuser5c874e
 
MIT302 Lesson 2_Advanced Database Systems.pptx
MIT302 Lesson 2_Advanced Database Systems.pptxMIT302 Lesson 2_Advanced Database Systems.pptx
MIT302 Lesson 2_Advanced Database Systems.pptx
elsagalgao
 
m211c25.ppt
m211c25.pptm211c25.ppt
m211c25.ppt
HaymanotTadese
 
Overview of Object-Oriented Concepts Characteristics by vikas jagtap
Overview of Object-Oriented Concepts Characteristics by vikas jagtapOverview of Object-Oriented Concepts Characteristics by vikas jagtap
Overview of Object-Oriented Concepts Characteristics by vikas jagtap
Vikas Jagtap
 
ADBS sy Chapter One for computer sciences
ADBS sy Chapter One for computer sciencesADBS sy Chapter One for computer sciences
ADBS sy Chapter One for computer sciences
atlawmulat1
 
Introduction to odbms
Introduction to odbmsIntroduction to odbms
Introduction to odbms
ajay pashankar
 
OODBMS Concepts - National University of Singapore.pdf
OODBMS Concepts - National University of Singapore.pdfOODBMS Concepts - National University of Singapore.pdf
OODBMS Concepts - National University of Singapore.pdf
ssuserd5e338
 
Object oriented modeling
Object oriented modelingObject oriented modeling
Object oriented modeling
Pooja Dixit
 
Database and Design system in Fundamentals ppt
Database and Design system in Fundamentals pptDatabase and Design system in Fundamentals ppt
Database and Design system in Fundamentals ppt
UMANJUNATH
 
Object Oriented Programming using C++.pptx
Object Oriented Programming using C++.pptxObject Oriented Programming using C++.pptx
Object Oriented Programming using C++.pptx
parveen837153
 
CHapter 01 one data base management system.ppt
CHapter 01 one data base management system.pptCHapter 01 one data base management system.ppt
CHapter 01 one data base management system.ppt
MULE38
 
Chapter 1 - Concepts for Object Databases.ppt
Chapter 1 - Concepts for Object Databases.pptChapter 1 - Concepts for Object Databases.ppt
Chapter 1 - Concepts for Object Databases.ppt
Shemse Shukre
 
Object oriented database concepts
Object oriented database conceptsObject oriented database concepts
Object oriented database concepts
Temesgenthanks
 
Chapter1.ppt Concept of Object oriented Database
Chapter1.ppt Concept of Object oriented DatabaseChapter1.ppt Concept of Object oriented Database
Chapter1.ppt Concept of Object oriented Database
KeenboonAsaffaa
 
Advanced Topics on Database - Unit-2 AU17
Advanced Topics on Database - Unit-2 AU17Advanced Topics on Database - Unit-2 AU17
Advanced Topics on Database - Unit-2 AU17
LOGANATHANK24
 
Database Management System and Object Dt
Database Management System and Object DtDatabase Management System and Object Dt
Database Management System and Object Dt
NirmalaCR2
 
Chapter 1 Concepts for Object-oriented Databases.pptx
Chapter 1 Concepts for Object-oriented Databases.pptxChapter 1 Concepts for Object-oriented Databases.pptx
Chapter 1 Concepts for Object-oriented Databases.pptx
haymanottaddess2015m
 
Database administration and management chapter 12
Database administration and management chapter 12Database administration and management chapter 12
Database administration and management chapter 12
saniaafzalf1f2f3
 
Adv DB - Full Handout.pdf
Adv DB - Full Handout.pdfAdv DB - Full Handout.pdf
Adv DB - Full Handout.pdf
3BRBoruMedia
 
MIT302 Lesson 2_Advanced Database Systems.pptx
MIT302 Lesson 2_Advanced Database Systems.pptxMIT302 Lesson 2_Advanced Database Systems.pptx
MIT302 Lesson 2_Advanced Database Systems.pptx
elsagalgao
 
Overview of Object-Oriented Concepts Characteristics by vikas jagtap
Overview of Object-Oriented Concepts Characteristics by vikas jagtapOverview of Object-Oriented Concepts Characteristics by vikas jagtap
Overview of Object-Oriented Concepts Characteristics by vikas jagtap
Vikas Jagtap
 
ADBS sy Chapter One for computer sciences
ADBS sy Chapter One for computer sciencesADBS sy Chapter One for computer sciences
ADBS sy Chapter One for computer sciences
atlawmulat1
 
OODBMS Concepts - National University of Singapore.pdf
OODBMS Concepts - National University of Singapore.pdfOODBMS Concepts - National University of Singapore.pdf
OODBMS Concepts - National University of Singapore.pdf
ssuserd5e338
 
Object oriented modeling
Object oriented modelingObject oriented modeling
Object oriented modeling
Pooja Dixit
 
Database and Design system in Fundamentals ppt
Database and Design system in Fundamentals pptDatabase and Design system in Fundamentals ppt
Database and Design system in Fundamentals ppt
UMANJUNATH
 
Object Oriented Programming using C++.pptx
Object Oriented Programming using C++.pptxObject Oriented Programming using C++.pptx
Object Oriented Programming using C++.pptx
parveen837153
 
CHapter 01 one data base management system.ppt
CHapter 01 one data base management system.pptCHapter 01 one data base management system.ppt
CHapter 01 one data base management system.ppt
MULE38
 
Ad

Recently uploaded (20)

Wondershare PDFelement Pro 11.4.20.3548 Crack Free Download
Wondershare PDFelement Pro 11.4.20.3548 Crack Free DownloadWondershare PDFelement Pro 11.4.20.3548 Crack Free Download
Wondershare PDFelement Pro 11.4.20.3548 Crack Free Download
Puppy jhon
 
Generative Artificial Intelligence and its Applications
Generative Artificial Intelligence and its ApplicationsGenerative Artificial Intelligence and its Applications
Generative Artificial Intelligence and its Applications
SandeepKS52
 
Essentials of Resource Planning in a Downturn
Essentials of Resource Planning in a DownturnEssentials of Resource Planning in a Downturn
Essentials of Resource Planning in a Downturn
OnePlan Solutions
 
FME for Climate Data: Turning Big Data into Actionable Insights
FME for Climate Data: Turning Big Data into Actionable InsightsFME for Climate Data: Turning Big Data into Actionable Insights
FME for Climate Data: Turning Big Data into Actionable Insights
Safe Software
 
How the US Navy Approaches DevSecOps with Raise 2.0
How the US Navy Approaches DevSecOps with Raise 2.0How the US Navy Approaches DevSecOps with Raise 2.0
How the US Navy Approaches DevSecOps with Raise 2.0
Anchore
 
Shell Skill Tree - LabEx Certification (LabEx)
Shell Skill Tree - LabEx Certification (LabEx)Shell Skill Tree - LabEx Certification (LabEx)
Shell Skill Tree - LabEx Certification (LabEx)
VICTOR MAESTRE RAMIREZ
 
Agile Software Engineering Methodologies
Agile Software Engineering MethodologiesAgile Software Engineering Methodologies
Agile Software Engineering Methodologies
Gaurav Sharma
 
Best Inbound Call Tracking Software for Small Businesses
Best Inbound Call Tracking Software for Small BusinessesBest Inbound Call Tracking Software for Small Businesses
Best Inbound Call Tracking Software for Small Businesses
TheTelephony
 
Porting Qt 5 QML Modules to Qt 6 Webinar
Porting Qt 5 QML Modules to Qt 6 WebinarPorting Qt 5 QML Modules to Qt 6 Webinar
Porting Qt 5 QML Modules to Qt 6 Webinar
ICS
 
Top 5 Task Management Software to Boost Productivity in 2025
Top 5 Task Management Software to Boost Productivity in 2025Top 5 Task Management Software to Boost Productivity in 2025
Top 5 Task Management Software to Boost Productivity in 2025
Orangescrum
 
Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...
Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...
Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...
Alluxio, Inc.
 
Plooma is a writing platform to plan, write, and shape books your way
Plooma is a writing platform to plan, write, and shape books your wayPlooma is a writing platform to plan, write, and shape books your way
Plooma is a writing platform to plan, write, and shape books your way
Plooma
 
Providing Better Biodiversity Through Better Data
Providing Better Biodiversity Through Better DataProviding Better Biodiversity Through Better Data
Providing Better Biodiversity Through Better Data
Safe Software
 
dp-700 exam questions sample docume .pdf
dp-700 exam questions sample docume .pdfdp-700 exam questions sample docume .pdf
dp-700 exam questions sample docume .pdf
pravkumarbiz
 
The Future of Open Source Reporting Best Alternatives to Jaspersoft.pdf
The Future of Open Source Reporting Best Alternatives to Jaspersoft.pdfThe Future of Open Source Reporting Best Alternatives to Jaspersoft.pdf
The Future of Open Source Reporting Best Alternatives to Jaspersoft.pdf
Varsha Nayak
 
Who will create the languages of the future?
Who will create the languages of the future?Who will create the languages of the future?
Who will create the languages of the future?
Jordi Cabot
 
wAIred_RabobankIgniteSession_12062025.pptx
wAIred_RabobankIgniteSession_12062025.pptxwAIred_RabobankIgniteSession_12062025.pptx
wAIred_RabobankIgniteSession_12062025.pptx
SimonedeGijt
 
Key AI Technologies Used by Indian Artificial Intelligence Companies
Key AI Technologies Used by Indian Artificial Intelligence CompaniesKey AI Technologies Used by Indian Artificial Intelligence Companies
Key AI Technologies Used by Indian Artificial Intelligence Companies
Mypcot Infotech
 
From Chaos to Clarity - Designing (AI-Ready) APIs with APIOps Cycles
From Chaos to Clarity - Designing (AI-Ready) APIs with APIOps CyclesFrom Chaos to Clarity - Designing (AI-Ready) APIs with APIOps Cycles
From Chaos to Clarity - Designing (AI-Ready) APIs with APIOps Cycles
Marjukka Niinioja
 
Integration Ignited Redefining Event-Driven Architecture at Wix - EventCentric
Integration Ignited Redefining Event-Driven Architecture at Wix - EventCentricIntegration Ignited Redefining Event-Driven Architecture at Wix - EventCentric
Integration Ignited Redefining Event-Driven Architecture at Wix - EventCentric
Natan Silnitsky
 
Wondershare PDFelement Pro 11.4.20.3548 Crack Free Download
Wondershare PDFelement Pro 11.4.20.3548 Crack Free DownloadWondershare PDFelement Pro 11.4.20.3548 Crack Free Download
Wondershare PDFelement Pro 11.4.20.3548 Crack Free Download
Puppy jhon
 
Generative Artificial Intelligence and its Applications
Generative Artificial Intelligence and its ApplicationsGenerative Artificial Intelligence and its Applications
Generative Artificial Intelligence and its Applications
SandeepKS52
 
Essentials of Resource Planning in a Downturn
Essentials of Resource Planning in a DownturnEssentials of Resource Planning in a Downturn
Essentials of Resource Planning in a Downturn
OnePlan Solutions
 
FME for Climate Data: Turning Big Data into Actionable Insights
FME for Climate Data: Turning Big Data into Actionable InsightsFME for Climate Data: Turning Big Data into Actionable Insights
FME for Climate Data: Turning Big Data into Actionable Insights
Safe Software
 
How the US Navy Approaches DevSecOps with Raise 2.0
How the US Navy Approaches DevSecOps with Raise 2.0How the US Navy Approaches DevSecOps with Raise 2.0
How the US Navy Approaches DevSecOps with Raise 2.0
Anchore
 
Shell Skill Tree - LabEx Certification (LabEx)
Shell Skill Tree - LabEx Certification (LabEx)Shell Skill Tree - LabEx Certification (LabEx)
Shell Skill Tree - LabEx Certification (LabEx)
VICTOR MAESTRE RAMIREZ
 
Agile Software Engineering Methodologies
Agile Software Engineering MethodologiesAgile Software Engineering Methodologies
Agile Software Engineering Methodologies
Gaurav Sharma
 
Best Inbound Call Tracking Software for Small Businesses
Best Inbound Call Tracking Software for Small BusinessesBest Inbound Call Tracking Software for Small Businesses
Best Inbound Call Tracking Software for Small Businesses
TheTelephony
 
Porting Qt 5 QML Modules to Qt 6 Webinar
Porting Qt 5 QML Modules to Qt 6 WebinarPorting Qt 5 QML Modules to Qt 6 Webinar
Porting Qt 5 QML Modules to Qt 6 Webinar
ICS
 
Top 5 Task Management Software to Boost Productivity in 2025
Top 5 Task Management Software to Boost Productivity in 2025Top 5 Task Management Software to Boost Productivity in 2025
Top 5 Task Management Software to Boost Productivity in 2025
Orangescrum
 
Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...
Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...
Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...
Alluxio, Inc.
 
Plooma is a writing platform to plan, write, and shape books your way
Plooma is a writing platform to plan, write, and shape books your wayPlooma is a writing platform to plan, write, and shape books your way
Plooma is a writing platform to plan, write, and shape books your way
Plooma
 
Providing Better Biodiversity Through Better Data
Providing Better Biodiversity Through Better DataProviding Better Biodiversity Through Better Data
Providing Better Biodiversity Through Better Data
Safe Software
 
dp-700 exam questions sample docume .pdf
dp-700 exam questions sample docume .pdfdp-700 exam questions sample docume .pdf
dp-700 exam questions sample docume .pdf
pravkumarbiz
 
The Future of Open Source Reporting Best Alternatives to Jaspersoft.pdf
The Future of Open Source Reporting Best Alternatives to Jaspersoft.pdfThe Future of Open Source Reporting Best Alternatives to Jaspersoft.pdf
The Future of Open Source Reporting Best Alternatives to Jaspersoft.pdf
Varsha Nayak
 
Who will create the languages of the future?
Who will create the languages of the future?Who will create the languages of the future?
Who will create the languages of the future?
Jordi Cabot
 
wAIred_RabobankIgniteSession_12062025.pptx
wAIred_RabobankIgniteSession_12062025.pptxwAIred_RabobankIgniteSession_12062025.pptx
wAIred_RabobankIgniteSession_12062025.pptx
SimonedeGijt
 
Key AI Technologies Used by Indian Artificial Intelligence Companies
Key AI Technologies Used by Indian Artificial Intelligence CompaniesKey AI Technologies Used by Indian Artificial Intelligence Companies
Key AI Technologies Used by Indian Artificial Intelligence Companies
Mypcot Infotech
 
From Chaos to Clarity - Designing (AI-Ready) APIs with APIOps Cycles
From Chaos to Clarity - Designing (AI-Ready) APIs with APIOps CyclesFrom Chaos to Clarity - Designing (AI-Ready) APIs with APIOps Cycles
From Chaos to Clarity - Designing (AI-Ready) APIs with APIOps Cycles
Marjukka Niinioja
 
Integration Ignited Redefining Event-Driven Architecture at Wix - EventCentric
Integration Ignited Redefining Event-Driven Architecture at Wix - EventCentricIntegration Ignited Redefining Event-Driven Architecture at Wix - EventCentric
Integration Ignited Redefining Event-Driven Architecture at Wix - EventCentric
Natan Silnitsky
 
Ad

Concepts for Object Oriented Databases.ppt

  • 1. Chapter 1 Concepts for Object Oriented Databases By: Melaku Y
  • 2. Chapter Outline 1. Overview of O-O Concepts 2. O-O Identity, Object Structure and Type Constructors 3. Encapsulation of Operations, Methods and Persistence 4. Type and Class Hierarchies and Inheritance 2
  • 3. Introduction • Data model is used to describe the structure of the database • Traditional Data Models:  Hierarchical (1960)  Network (since mid-60’s)  Entity-relationship Model  Relational (since 1970 and commercially since 1982) • Object Oriented (OO) Data Models since mid-90’s • Reasons for creation of Object Oriented Databases  Need for more complex applications • Give the designer to specify both the structure of complex objects and the operations  Increased use of object-oriented programming languages • Difficult to integrate with traditional database  Need for additional data modeling features 3
  • 4. 1.1 Overview of Object-Oriented Concepts(1) • As commercial object DBMSs became available, the need for a standard model and language was recognized. • Main Claim: OO databases try to maintain a direct correspondence between:  real-world and database objects so that objects do not lose their integrity and identity and can easily be identified and operated upon • Object: A uniquely identifiable entity  That contains both the attributes that describe the state of a ‘real world’ object and the actions that are associated with it. (Simula 1960s) • Object: has two components:  state (value) and behavior (operations) Similar to program variable in programming language, except that it will typically have a complex data structure as well as specific operations defined by the programmer 4
  • 5. Overview of Object-Oriented Concepts (2) • In OO databases,  objects may have an object structure of arbitrary complexity in order to contain all of the necessary information that describes the object. • In contrast, in traditional database systems,  information about a complex object is often scattered over many relations or records, leading to loss of direct correspondence between a real-world object and its database representation. • Persistent vs transient object  Transient object: exist only during program execution  Persistent object: exist beyond program termination Stored by OO databases permanently in secondary storage  Allow the sharing objects among multiple programs and applications.  What needed: indexing and concurrency(DBMS Features) 5
  • 6. Overview of Object-Oriented Concepts (3) • The internal structure of an object in OOPLs  includes the specification of instance variables, which hold the values that define the internal state of the object. • An instance variable is similar to the concept of an attribute,  except that instance variables may be encapsulated within the object and thus are not necessarily visible to external users • Some OO models insist that  all operations a user can apply to an object must be predefined. This forces a complete encapsulation of objects.  Issues: users required to know attribute name to retrieve specific objects and any simple retrieval requires a predefined operation 6
  • 7. Overview of Object-Oriented Concepts (4) • To encourage encapsulation, an operation is defined in two parts:  signature or interface of the operation, specifies the operation name and arguments (or parameters).  method or body, specifies the implementation of the operation.  Operations can be invoked by  passing a message to an object, which includes the operation name and the parameters.  The object then executes the method for that operation.  This encapsulation permits  modification of the internal structure of an object, as well as  the implementation of its operations, without the need to disturb the external programs that invoke these operations 7
  • 8. Overview of Object-Oriented Concepts (5) • Type and Class hierarchies and Inheritance  permits specification of new types or classes that inherit much of their structure and/or operations from previously defined types or classes.  this makes it easier to develop the data types of a system incrementally and to reuse existing type definitions when creating new types of objects.  Operator overloading(operator polymorphism)  refers to an operation’s ability to be applied to different types of objects  in such a situation, an operation name may refer to several distinct implementations, depending on the type of object it is applied to. 8
  • 9. 1.2 Object Identity, Object Structure, and Type Constructors (1) • Unique Identity:  an OO database system provides a unique identity to each independent object stored in the database.  this unique identity is typically implemented via a unique, system- generated object identifier(OID) the main property of OID immutable (should not change). this preserves the identity of the real- world object being represented. used only once, even if an object is removed from the database, its OID should not be assigned to another object Object may given one or more names meaningful to the user identifies a single object within a database. intended to act as ‘root’ objects that provide entry points into the database. 9
  • 10. Object Identity, Object Structure, and Type Constructors (3) • Type Constructors:  In ODBs, a complex type may be constructed from other types by nesting of type constructors. • The three most basic constructors are:  atom (basic built-in data types)  tuple (compound or composite type) • struct Name<FirstName: string, MiddleInitial: char, LastName: string> • struct CollegeDegree<Major: string, Degree: string, Year: date>  collection (multivalued) => set, array, list, bag, dictionary  The atom constructor is used to represent all basic atomic values  integers, real numbers, character strings, Booleans, other 10
  • 11. Object Identity, Object Structure, and Type Constructors (4) • Tuple constructor  create structured values and objects of the form <a1:i1, a2:i2, … , an:in> • Set constructor  create objects or literals that are a set of distinct elements {i1, i2, … , in}, all of the same type • Bag constructor  Same as set but elements need not be distinct • List constructor  create an ordered list [i1, i2, … , in]  Array constructor  create a single-dimensional array of elements of the same type  Dictionary constructor  creates a collection of key-value pairs (K, V) 11
  • 12. Object Identity, Object Structure, and Type Constructors (5) 12
  • 13. 1.3 Encapsulation of Operations, Persistence of Objects(1) • Encapsulation  One of the main characteristics of OO languages and systems  Related to the concepts of abstract data types and information hiding in programming languages  In traditional database models and systems this concept was not applied  since it is customary to make the structure of database objects visible to users and external programs The relation and its attributes can be accessed using generic operations.  The concept of encapsulation means that  Object contains both data structure and the set of operations used to manipulate it. 13
  • 14. 1.3 Encapsulation of Operations, Methods, and Persistence (2) • The concept of information hiding means that  external aspects of an object is separated from its internal details, which are hidden from the outside world.  The external users of the object are only made aware of the interface (signature) of the operation • Specifying Object Behavior via Class Operations (methods):  The main idea is to define the behavior of a type of object based on the operations that can be externally applied to objects of that type.  In general, the implementation of an operation can be specified in a general-purpose programming language that provides flexibility and power in defining the operations 14
  • 15. Encapsulation of Operations, Methods, and Persistence (4)  For database applications, the requirement that all objects be completely encapsulated is too stringent.  One way of relaxing this requirement is to divide the structure of an object into visible and hidden attributes (instance variables).  An operation is typically applied to an object by using the dot notation. 15
  • 16. 16
  • 17. Encapsulation of Operations, Methods, and Persistence (6) • Specifying Object Persistence via Naming and Reachability:  Transient objects • exist in the executing program and disappear when program terminates.  Persistent objects • stored in the database and persist after program termination. • Mechanisms to make an object persistent  Naming Mechanism: • name can be given to an object via a specific statement or operation in the program • the named objects are used as entry points to the database through which users and applications can start their database access  Reachability Mechanism: • Make the object reachable from some other persistent object. • An object B is said to be reachable from an object A if a sequence of references in the object graph lead from object A to object B. 17
  • 18. Encapsulation of Operations, Methods, and Persistence (6) 18
  • 19. 1.4 Type and Class Hierarchies and Inheritance (1) • Type (class) Hierarchy  A type is defined by  assigning type name and defining attributes (instance variables) and operations (methods). has a type name and a list of visible (public) functions • Specifications: TYPE_NAME: function, function, . . . , function Example: • PERSON: Name, Address, Birthdate, Age, SSN • Subtype:  When the designer or user must create a new type  that is similar but not identical to an already defined type  inherits all the functions of supertype 19
  • 20. Type and Class Hierarchies and Inheritance (3) • Example (1):  PERSON: Name, Address, Birthdate, Age, SSN  EMPLOYEE: Name, Address, Birthdate, Age, SSN, Salary, HireDate, Seniority  STUDENT: Name, Address, Birthdate, Age, SSN, Major, GPA • OR:  EMPLOYEE subtype-of PERSON: Salary, HireDate, Seniority  STUDENT subtype-of PERSON: Major, GPA 20
  • 21. Type and Class Hierarchies and Inheritance (4) • Example (2):  GEOMETRY_OBJECT: Shape, Area, ReferencePoint  RECTANGLE subtype-of GEOMETRY_OBJECT: Width, Height  TRIANGLE subtype-of GEOMETRY_OBJECT: Side1, Side2, Angle  CIRCLE subtype-of GEOMETRY_OBJECT: Radius 21