This document discusses object-oriented concepts in Oracle databases including object types, inheritance, polymorphism, and methods. It provides examples of defining object types and subclasses in Oracle. Key points covered include:
- Object types can be used as data types in Oracle and define attributes and methods. Instances of object types are called objects.
- Inheritance allows subclasses to extend superclasses, with subclasses gaining all attributes and methods of the parent. Subclasses can also override methods.
- Polymorphism means an object can be treated as its own type or any of its supertypes.
- Methods in Oracle object types include member, static, and constructor methods. Subclasses can override methods.
Presentation at Agile 2012
Experience and research shows that developers spend as much as 70% of their time reading and understanding code. In this workshop you will learn how the rules of Simple Design help to reduce this percentage so you spend more time creating valuable code. This will be a highly collaborative workshop where you share your insights and learn from others. You’ll get to the heart of Simple Design by reviewing code - both beautiful and ugly. You’ll get to practice by improving the readability and understandability of real code. You’ll leave this workshop ready to apply Simple Design to improve your own code.
Presentation at Agile 2012
Experience and research shows that developers spend as much as 70% of their time reading and understanding code. In this workshop you will learn how the rules of Simple Design help to reduce this percentage so you spend more time creating valuable code. This will be a highly collaborative workshop where you share your insights and learn from others. You’ll get to the heart of Simple Design by reviewing code - both beautiful and ugly. You’ll get to practice by improving the readability and understandability of real code. You’ll leave this workshop ready to apply Simple Design to improve your own code.
NORMALIZATION - BIS 1204: Data and Information Management I Mukalele Rogers
This presentation contains a summary of Database Normalisation concepts:
The purpose of normalization.
How normalization can be used during database design.
The update anomalies associated with data redundancy.
The concept of functional dependencies, which describe the relationship between attributes.
How to undertake the process of normalization.
How to identify the most commonly used normal forms: First Normal Form(1NF), Second Normal Form (2NF), and Third Normal Form (3NF).
Introduction to Advanced Normalisation: The Boyce–Codd Normal Form (BCNF) and higher normal forms.
ESOFT Metro Campus - Diploma in Software Engineering - (Module IV) Database Concepts
(Template - Virtusa Corporate)
Contents:
Introduction to Databases
Data
Information
Database
Database System
Database Applications
Evolution of Databases
Traditional Files Based Systems
Limitations in Traditional Files
The Database Approach
Advantages of Database Approach
Disadvantages of Database Approach
Database Management Systems
DBMS Functions
Database Architecture
ANSI-SPARC 3 Level Architecture
The Relational Data Model
What is a Relation?
Primary Key
Cardinality and Degree
Relationships
Foreign Key
Data Integrity
Data Dictionary
Database Design
Requirements Collection and analysis
Conceptual Design
Logical Design
Physical Design
Entity Relationship Model
A mini-world example
Entities
Relationships
ERD Notations
Cardinality
Optional Participation
Entities and Relationships
Attributes
Entity Relationship Diagram
Entities
ERD Showing Weak Entities
Super Type / Sub Type Relationships
Mapping ERD to Relational
Map Regular Entities
Map Weak Entities
Map Binary Relationships
Map Associated Entities
Map Unary Relationships
Map Ternary Relationships
Map Supertype/Subtype Relationships
Normalization
Advantages of Normalization
Disadvantages of Normalization
Normal Forms
Functional Dependency
Purchase Order Relation in 0NF
Purchase Order Relation in 1NF
Purchase Order Relations in 2NF
Purchase Order Relations in 3NF
Normalized Relations
BCNF – Boyce Codd Normal Form
Structured Query Language
What We Can Do with SQL ?
SQL Commands
SQL CREATE DATABASE
SQL CREATE TABLE
SQL DROP
SQL Constraints
SQL NOT NULL
SQL PRIMARY KEY
SQL CHECK
SQL FOREIGN KEY
SQL ALTER TABLE
SQL INSERT INTO
SQL INSERT INTO SELECT
SQL SELECT
SQL SELECT DISTINCT
SQL WHERE
SQL AND & OR
SQL ORDER BY
SQL UPDATE
SQL DELETE
SQL LIKE
SQL IN
SQL BETWEEN
SQL INNER JOIN
SQL LEFT JOIN
SQL RIGHT JOIN
SQL UNION
SQL AS
SQL Aggregate Functions
SQL Scalar functions
SQL GROUP BY
SQL HAVING
Database Administration
SQL Database Administration
A data dictionary is a “virtual database” containing metadata (data about data). Data dictionary holds information about the database and the data that it stores.
The need for sophistication in modern search engine implementationsBen DeMott
The need for more sophisticated search implementations is often at odds with the limited feature set available in modern out of the box open source search engines.
This presentation discusses the challenges associated with properly modeling information within a domain and why it's critically needed.
NORMALIZATION - BIS 1204: Data and Information Management I Mukalele Rogers
This presentation contains a summary of Database Normalisation concepts:
The purpose of normalization.
How normalization can be used during database design.
The update anomalies associated with data redundancy.
The concept of functional dependencies, which describe the relationship between attributes.
How to undertake the process of normalization.
How to identify the most commonly used normal forms: First Normal Form(1NF), Second Normal Form (2NF), and Third Normal Form (3NF).
Introduction to Advanced Normalisation: The Boyce–Codd Normal Form (BCNF) and higher normal forms.
ESOFT Metro Campus - Diploma in Software Engineering - (Module IV) Database Concepts
(Template - Virtusa Corporate)
Contents:
Introduction to Databases
Data
Information
Database
Database System
Database Applications
Evolution of Databases
Traditional Files Based Systems
Limitations in Traditional Files
The Database Approach
Advantages of Database Approach
Disadvantages of Database Approach
Database Management Systems
DBMS Functions
Database Architecture
ANSI-SPARC 3 Level Architecture
The Relational Data Model
What is a Relation?
Primary Key
Cardinality and Degree
Relationships
Foreign Key
Data Integrity
Data Dictionary
Database Design
Requirements Collection and analysis
Conceptual Design
Logical Design
Physical Design
Entity Relationship Model
A mini-world example
Entities
Relationships
ERD Notations
Cardinality
Optional Participation
Entities and Relationships
Attributes
Entity Relationship Diagram
Entities
ERD Showing Weak Entities
Super Type / Sub Type Relationships
Mapping ERD to Relational
Map Regular Entities
Map Weak Entities
Map Binary Relationships
Map Associated Entities
Map Unary Relationships
Map Ternary Relationships
Map Supertype/Subtype Relationships
Normalization
Advantages of Normalization
Disadvantages of Normalization
Normal Forms
Functional Dependency
Purchase Order Relation in 0NF
Purchase Order Relation in 1NF
Purchase Order Relations in 2NF
Purchase Order Relations in 3NF
Normalized Relations
BCNF – Boyce Codd Normal Form
Structured Query Language
What We Can Do with SQL ?
SQL Commands
SQL CREATE DATABASE
SQL CREATE TABLE
SQL DROP
SQL Constraints
SQL NOT NULL
SQL PRIMARY KEY
SQL CHECK
SQL FOREIGN KEY
SQL ALTER TABLE
SQL INSERT INTO
SQL INSERT INTO SELECT
SQL SELECT
SQL SELECT DISTINCT
SQL WHERE
SQL AND & OR
SQL ORDER BY
SQL UPDATE
SQL DELETE
SQL LIKE
SQL IN
SQL BETWEEN
SQL INNER JOIN
SQL LEFT JOIN
SQL RIGHT JOIN
SQL UNION
SQL AS
SQL Aggregate Functions
SQL Scalar functions
SQL GROUP BY
SQL HAVING
Database Administration
SQL Database Administration
A data dictionary is a “virtual database” containing metadata (data about data). Data dictionary holds information about the database and the data that it stores.
The need for sophistication in modern search engine implementationsBen DeMott
The need for more sophisticated search implementations is often at odds with the limited feature set available in modern out of the box open source search engines.
This presentation discusses the challenges associated with properly modeling information within a domain and why it's critically needed.
Object Oriented Programming is a programming concept that works on the principle that objects are the most important part of your program. It allows users create the objects that they want and then create methods to handle those objects. Manipulating these objects to get results is the goal of Object Oriented Programming.
Object Oriented Programming popularly known as OOP, is used in a modern programming language like Java..
he main aim of object-oriented programming is to implement real-world entities for example object, classes, abstraction, inheritance, polymorphism, etc.
This lecture talks about parsing. Briefly gives overview on lexicon, categorization, grammar rules, syntactic tree, word senses and various challenges of natural language processing
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
20 Comprehensive Checklist of Designing and Developing a WebsitePixlogix Infotech
Dive into the world of Website Designing and Developing with Pixlogix! Looking to create a stunning online presence? Look no further! Our comprehensive checklist covers everything you need to know to craft a website that stands out. From user-friendly design to seamless functionality, we've got you covered. Don't miss out on this invaluable resource! Check out our checklist now at Pixlogix and start your journey towards a captivating online presence today.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
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