Advanced Database Management: Faculty Name: Dr. Dipti Jadhav
Advanced Database Management: Faculty Name: Dr. Dipti Jadhav
Introduction to Testing
STONEBRAKER’S APPLICATION MATRI
Introduction to Testing
MOTIVATION
Introduction to Testing
RELATIONAL MODEL
What is missing??
Introduction to Testing
RELATIONAL MODEL OF A ‘CAT’
Introduction to Testing
OBJECT ORIENTED MODEL OF A ‘CAT’
Introduction to Testing
The first areas where ODBMS were widely used were:
CASE
CAD
CAM
Introduction to Testing
TWO APPROACHES
Introduction to Testing
DATABASE DESIGN PROCESS
Introduction to Testing
LOGICAL & PHYSICAL LAYERS
Introduction to Testing
EXAMPLE OF UML CLASSES
Introduction to Testing
FIRST APPROACH: OBJECT-ORIENTED MODEL
Relations are not the central concept, classes and objects are the main concept.
Object-Oriented DBMS(OODBMS) are DBMS based on an Object Oriented Data Model
inspired by OO programming languages.
Main Features:
Powerful type system
Classes
Object Identity
Inheritance
OODBMS are capable of storing complex objects, I.e., objects that are composed of other
objects, and/or multi-valued attributes.
Introduction to Testing
FEATURE 1: POWERFUL TYPE SYSTEM
Primitive types
Integer, string, date, Boolean, float, etc.
Structure type
Attribute can be a record with a schema
Collection type
Attribute can be a Set, Bag, List, Array of other types
Reference type
Attribute can be a Pointer to another object
Introduction to Testing
FEATURE 2: CLASSES
Introduction to Testing
FEATURE 3: OBJECT IDENTITY
Introduction to Testing
FEATURE 4: INHERITANCE
Introduction to Testing
STANDARDS FOR OBJECT-ORIENTED MODEL
Introduction to Testing
Overview of ODL & OQL
ODL: CLASSES & ATTRIBUTES
Introduction to Testing
ODL: RELATIONSHIPS
Introduction to Testing
ODL: RELATIONSHIPS & INVERSE RELATIONSHIPS
Introduction to Testing
ODL: MULTIPLICITY OF RELATIONSHIPS
Introduction to Testing
ODL: METHODS
Introduction to Testing
ODL: INHERITANCE
Introduction to Testing
ODL: INSTANCES & KEYS
Introduction to Testing
WHAT’S NEXT
Introduction to Testing
OQL: OBJECT-ORIENTED QUERY LANGUAGE
Introduction to Testing
OQL: EXAMPLE QUERIES I
Introduction to Testing
OQL: EXAMPLE QUERIES II
Introduction to Testing
OQL OUTPUT
Unlike SQL which produces relations, OQL produces collection (set, bag, list) of objects
The object can be of any type
Introduction to Testing
OQL: AGGREGATION
Introduction to Testing
OQL: COLLECTION OPERATORS
Introduction to Testing
INTEGRATING OQL & EXTERNAL LANGUAGES
Introduction to Testing
WHAT’S NEXT
Introduction to Testing
SECOND APPROACH: OBJECTRELATIONAL MODEL
Object-oriented model tries to bring the main concepts from relational model to the OO
domain
Object-relational model tries to bring the main concepts from the OO domain to the
relational model
Introduction to Testing
CONCEPTUAL VIEW OF OBJECTRELATIONAL MODEL
Methods
Special operations can be defined over the user-defined types (UDT)
Specialized operators for complex types, e.g., images, multimedia, etc
References
Several ways for references and de-references
Introduction to Testing
CONCEPTUAL VIEW OF OBJECTRELATIONAL MODEL
Introduction to Testing
SUPPORT FROM VENDORS
Several major software companies including IBM, Informix, Microsoft, Oracle, and Sybase
have all released object-relational versions of their products
Introduction to Testing
SQL-99: QUERY LANGUAGE FOR OBJECTRELATIONAL MODEL
Introduction to Testing
CREATING UDT
Introduction to Testing
COLLECTIONS AND LARGE OBJECTS
Introduction to Testing
CREATING RELATIONS
Introduction to Testing
CREATING RELATIONS
Introduction to Testing
DEFINING RELATIONSHIPS
One-to-many Or one-to-one
• Plug it inside the existing types
Many-to-many
• Create a new type or new table referencing existing types
Introduction to Testing
WHAT’S NEXT
Introduction to Testing
QUERYING OBJECT-RELATIONAL DATABASE
Some new operators and new syntax for some existing operators
Introduction to Testing
EXAMPLES I
Introduction to Testing
EXAMPLES II: DE-REFERENCING
Introduction to Testing
WHEN TO CONSIDER OODBMS OR ORDBMS
Complex Relationships
A lot of many-to-many relationships, tree structures or network (graph) structures.
Complex Data
Multi-dimensional arrays, nested structures, or binary data, images, multimedia, etc.
Distributed Databases
Need for free objects without the rigid table structure.
Introduction to Testing
KEY BENEFITS OF ODBMS
Introduction to Testing
KEY BENEFITS OF ODBMS (CONT’D)
Introduction to Testing
KEY BENEFITS OF ODBMS (CONT’D)
Introduction to Testing
OBJECT-ORIENTED VS. OBJECTRELATION
Object-oriented DBMSs
Did not achieve much success (until now) in the market place
No query support (Indexing, optimization)
No security layer
Object-relational DBMSs
Introduction to Testing
COMPARISON
Introduction to Testing