08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
L14 l15 Object Oriented DBMS
1. Rushdi Shams, Dept of CSE, KUET
Database SystemsDatabase Systems
Object Oriented DatabaseObject Oriented Database
Management SystemsManagement Systems
Version 1.0Version 1.0
2. Rushdi Shams, Dept of CSE, KUET
Object- TheoryObject- Theory
An object is a package of data and procedures.An object is a package of data and procedures.
Data is contained in attributes of an objectData is contained in attributes of an object
Procedures are defined in methods of an objectProcedures are defined in methods of an object
3. Rushdi Shams, Dept of CSE, KUET
Object- TheoryObject- Theory
Concept of ClassConcept of Class
4. Rushdi Shams, Dept of CSE, KUET
Objects- TheoryObjects- Theory
Concepts of ObjectsConcepts of Objects
5. Rushdi Shams, Dept of CSE, KUET
Object Types in OracleObject Types in Oracle
Concept of ClassConcept of Class
6. Rushdi Shams, Dept of CSE, KUET
Objects in OracleObjects in Oracle
When you create a variable of an object type,When you create a variable of an object type,
you create an instance of the type and the resultyou create an instance of the type and the result
is an objectis an object
An object has the attributes and methodsAn object has the attributes and methods
defined for its typedefined for its type
an object instance is a concrete thing, you canan object instance is a concrete thing, you can
assign values to its attributes and call itsassign values to its attributes and call its
methodsmethods
7. Rushdi Shams, Dept of CSE, KUET
Objects in OracleObjects in Oracle
rushdirushdi person_typ;person_typ;
will create an object named rushdi of typewill create an object named rushdi of type
person_typ.person_typ.
8. Rushdi Shams, Dept of CSE, KUET
Question at the stageQuestion at the stage
How the property ENCAPSULATION reflectsHow the property ENCAPSULATION reflects
in OODM?in OODM?
What is the difference between object type andWhat is the difference between object type and
object in Oracle?object in Oracle?
What is the relation between Oracle’s objectWhat is the relation between Oracle’s object
type and OOP’s class?type and OOP’s class?
9. Rushdi Shams, Dept of CSE, KUET
Object Type is a Data Type!Object Type is a Data Type!
Defining an object type does not allocate anyDefining an object type does not allocate any
storagestorage
After they are defined, object types can be usedAfter they are defined, object types can be used
in SQL statements in most of the same placesin SQL statements in most of the same places
you can use types like NUMBER oryou can use types like NUMBER or
VARCHAR2VARCHAR2
10. Rushdi Shams, Dept of CSE, KUET
Object Type is a Data Type!Object Type is a Data Type!
11. Rushdi Shams, Dept of CSE, KUET
Question at the stageQuestion at the stage
““An object type is a data type”- justify theAn object type is a data type”- justify the
answer.answer.
12. Rushdi Shams, Dept of CSE, KUET
Object Methods in OracleObject Methods in Oracle
Methods are functions or procedures that youMethods are functions or procedures that you
can declare in an object type definition tocan declare in an object type definition to
implement behavior that you want objects ofimplement behavior that you want objects of
that type to performthat type to perform
The general kinds of methods that can beThe general kinds of methods that can be
declared in a type definition are:declared in a type definition are:
1.1. MemberMember
2.2. StaticStatic
3.3. ConstructorConstructor
13. Rushdi Shams, Dept of CSE, KUET
Member MethodsMember Methods
Member methods are the means by which anMember methods are the means by which an
application gains access to an object instance's dataapplication gains access to an object instance's data
You define a member method in the object type forYou define a member method in the object type for
each operation that you want an object of that type toeach operation that you want an object of that type to
be able to performbe able to perform
14. Rushdi Shams, Dept of CSE, KUET
Static MethodsStatic Methods
Static methods are invoked on the object type,Static methods are invoked on the object type,
not its instancesnot its instances
You use a static method for operations that areYou use a static method for operations that are
global to the type and do not need to referenceglobal to the type and do not need to reference
the data of a particular object instancethe data of a particular object instance
A static method has no SELF parameterA static method has no SELF parameter
15. Rushdi Shams, Dept of CSE, KUET
Static MethodsStatic Methods
You invoke a static method by using the dotYou invoke a static method by using the dot
notation to qualify the method call with thenotation to qualify the method call with the
name of the object type, such as:name of the object type, such as:
type_name.method()type_name.method()
16. Rushdi Shams, Dept of CSE, KUET
Constructor MethodsConstructor Methods
Every object type has a constructor method implicitlyEvery object type has a constructor method implicitly
defined for it by the systemdefined for it by the system
A constructor method is a function that returns a newA constructor method is a function that returns a new
instance of the user-defined type and sets up the valuesinstance of the user-defined type and sets up the values
of its attributesof its attributes
17. Rushdi Shams, Dept of CSE, KUET
Questions at the StageQuestions at the Stage
What are the three methods that can be declaredWhat are the three methods that can be declared
in object type definition?in object type definition?
What is the difference between static methodWhat is the difference between static method
and member method?and member method?
What is the speciality about constructor method?What is the speciality about constructor method?
18. Rushdi Shams, Dept of CSE, KUET
Inheritance- TheoryInheritance- Theory
A type hierarchy is a sort of family tree of objectA type hierarchy is a sort of family tree of object
typestypes
It consists of a parent base type, called a superIt consists of a parent base type, called a super
typetype
one or more levels of child object types, calledone or more levels of child object types, called
subtypessubtypes
Child object types are derived from parentChild object types are derived from parent
object classobject class
19. Rushdi Shams, Dept of CSE, KUET
Inheritance- TheoryInheritance- Theory
A subtype becomes a specialized version of theA subtype becomes a specialized version of the
parent type by adding new attributes andparent type by adding new attributes and
methods to the set inherited from the parent ormethods to the set inherited from the parent or
by redefining methods it inheritsby redefining methods it inherits
Redefining an inherited methods gives a subtypeRedefining an inherited methods gives a subtype
its own way of executing the methodits own way of executing the method
22. Rushdi Shams, Dept of CSE, KUET
PolymorphismPolymorphism
Add to this that an object instance of a subtypeAdd to this that an object instance of a subtype
can generally be substituted for an objectcan generally be substituted for an object
instance of any of its supertypes in code, andinstance of any of its supertypes in code, and
you have polymorphismyou have polymorphism
23. Rushdi Shams, Dept of CSE, KUET
Final & Not Final- TypesFinal & Not Final- Types
The definition of an object type determines whetherThe definition of an object type determines whether
subtypes can be derived from that typesubtypes can be derived from that type
To permit subtypes, the object type must be defined asTo permit subtypes, the object type must be defined as
not finalnot final
24. Rushdi Shams, Dept of CSE, KUET
Final & Not Final- TypesFinal & Not Final- Types
By default, an object type is declared as final andBy default, an object type is declared as final and
subtypes cannot be derived from itsubtypes cannot be derived from it
You can change a final type to a not final type and viceYou can change a final type to a not final type and vice
versa with an ALTER TYPE statementversa with an ALTER TYPE statement
You can alter a type from NOT FINAL to FINALYou can alter a type from NOT FINAL to FINAL
only if the target type has no subtypesonly if the target type has no subtypes
25. Rushdi Shams, Dept of CSE, KUET
Final & Not Final- MethodsFinal & Not Final- Methods
Methods can also be declared to be final or notMethods can also be declared to be final or not
finalfinal
If a method is declared to be final, subtypesIf a method is declared to be final, subtypes
cannotcannot overrideoverride it by providing their ownit by providing their own
implementationimplementation
Unlike types, methods are not final by defaultUnlike types, methods are not final by default
and must be explicitly declared to be finaland must be explicitly declared to be final
26. Rushdi Shams, Dept of CSE, KUET
Final & Not Final- MethodsFinal & Not Final- Methods
28. Rushdi Shams, Dept of CSE, KUET
Inheritance- OracleInheritance- Oracle
Creating Subtype of subtypeCreating Subtype of subtype
29. Rushdi Shams, Dept of CSE, KUET
Questions at the StageQuestions at the Stage
What are the mechanisms Oracle use to reflectWhat are the mechanisms Oracle use to reflect
the INHERITANCE of object orientedthe INHERITANCE of object oriented
architecture?architecture?
What is the significance of FINAL and NOTWhat is the significance of FINAL and NOT
FINAL?FINAL?
What is the difference of FINAL and NOTWhat is the difference of FINAL and NOT
FINAL in case of object types and methods?FINAL in case of object types and methods?
30. Rushdi Shams, Dept of CSE, KUET
Method Overriding- TheoryMethod Overriding- Theory
An method is said overriding if the methodAn method is said overriding if the method
name is same for all the objects but the objectsname is same for all the objects but the objects
define how the method works according to theirdefine how the method works according to their
convenience.convenience.
34. Rushdi Shams, Dept of CSE, KUET
Taking you to the RealityTaking you to the Reality
35. Rushdi Shams, Dept of CSE, KUET
Taking you to the RealityTaking you to the Reality
You can call the show() function for the supertypeYou can call the show() function for the supertype
and subtypes in the table with the followingand subtypes in the table with the following
37. Rushdi Shams, Dept of CSE, KUET
Method Overloading- TheoryMethod Overloading- Theory
Giving a type multiple methods with the sameGiving a type multiple methods with the same
name is called method overloadingname is called method overloading
39. Rushdi Shams, Dept of CSE, KUET
Questions at the StageQuestions at the Stage
What are the difference between methodWhat are the difference between method
overloading and method overriding?overloading and method overriding?
How Oracle implements method overriding?How Oracle implements method overriding?
How Oracle implements method overloading?How Oracle implements method overloading?
40. Rushdi Shams, Dept of CSE, KUET
Map MethodsMap Methods
A map method is an optional kind of methodA map method is an optional kind of method
provides a basis for comparing objects byprovides a basis for comparing objects by
mapping object instances to one of the scalarmapping object instances to one of the scalar
types DATE, NUMBER, VARCHAR2 or to antypes DATE, NUMBER, VARCHAR2 or to an
ANSI SQL type such as CHARACTER orANSI SQL type such as CHARACTER or
REALREAL
With a map method, you can order any numberWith a map method, you can order any number
of objects by calling each object's map methodof objects by calling each object's map method
onceonce
41. Rushdi Shams, Dept of CSE, KUET
Map MethodsMap Methods
a map method is simply a parameter-lessa map method is simply a parameter-less
member functionmember function
uses the MAP keyworduses the MAP keyword
returns one of the datatypes just listedreturns one of the datatypes just listed
What makes a map method special is that, if anWhat makes a map method special is that, if an
object type defines one, the method is calledobject type defines one, the method is called
automatically to evaluate such comparisons asautomatically to evaluate such comparisons as
obj_1 > obj_2obj_1 > obj_2
42. Rushdi Shams, Dept of CSE, KUET
Map MethodMap Method
Where obj_1 and obj_2 are two object variablesWhere obj_1 and obj_2 are two object variables
that can be compared using a map methodthat can be compared using a map method
map(), the comparison:map(), the comparison:
obj_1 > obj_2obj_1 > obj_2
is equivalent to:is equivalent to:
obj_1.map() > obj_2.map()obj_1.map() > obj_2.map()
44. Rushdi Shams, Dept of CSE, KUET
Order MethodOrder Method
Order methods make direct object-to-objectOrder methods make direct object-to-object
comparisonscomparisons
Unlike map methods, they cannot map anyUnlike map methods, they cannot map any
number of objectsnumber of objects
They simply tell you that the current object isThey simply tell you that the current object is
less than, equal to, or greater than the otherless than, equal to, or greater than the other
object that it is being compared to, with respectobject that it is being compared to, with respect
to the criterion used by the methodto the criterion used by the method
46. Rushdi Shams, Dept of CSE, KUET
Question at the StageQuestion at the Stage
What are the methods used to compare OracleWhat are the methods used to compare Oracle
objects? Can you give two examples to defineobjects? Can you give two examples to define
them?them?
What are the differences between map methodWhat are the differences between map method
and order method?and order method?
47. Rushdi Shams, Dept of CSE, KUET
ReferenceReference
Oracle 10g User manual for Object OrientedOracle 10g User manual for Object Oriented
Data ModelData Model
www.wikipedia.orgwww.wikipedia.org
48. Rushdi Shams, Dept of CSE, KUET
AcknowledgementAcknowledgement
Nick Whittaker, Lecturer, University ofNick Whittaker, Lecturer, University of
Manchester, UKManchester, UK