SlideShare a Scribd company logo
Modern Database Management Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden Object-Oriented Data Modeling
What is Object Oriented Data Modeling? Centers around objects and classes Involves inheritance Encapsulates both data and behavior Benefits of Object-Oriented Modeling Ability to tackle challenging problems Improved communication between users, analysts, designer, and programmers Increased consistency in analysis and design Explicit representation of commonality among system components System robustness Reusability of analysis, design, and programming results
Figure 14-1 – Phases of object-oriented systems development cycle
OO vs. EER Data Modeling Object Oriented EER Class Entity type Object Entity instance Association Relationship Inheritance of attributes Inheritance of attributes Inheritance of behavior No representation of behavior Object-oriented modeling is frequently accomplished using the  Unified Modeling Language (UML)
Object An entity that has a well-defined role in the application domain, as well as state, behavior, and identity Tangible: person, place or thing Concept or Event: department, performance, marriage, registration Artifact of the Design Process: user interface, controller, scheduler Objects  exhibit BEHAVIOR as well as attributes    Different from  entities
State, Behavior, Identity State: attribute types and values Behavior: how an object acts and reacts Behavior is expressed through operations that can be performed on it Identity: every object has a unique identity, even if all of its attribute values are the same
Figure 14-2 – UML class and object diagrams (a) Class diagram showing two classes Class diagram  shows the static structure of an object-oriented model: object classes, internal structure, relationships. Behavior
(b) Object diagram with two instances Object diagram  shows instances that are compatible with a given class diagram.
Operations A function or service that is provided by all instances of a class Types of operators: Constructor : creates a new instance of a class Query : accesses the state of an object but does not alter its state Update : alters the state of an object Scope : operation applying to the class instead of an instance Operations implement the object’s  behavior
Associations Association :  Relationship among object classes  Association Role : Role of an object in an association  The end of an association where it connects to a class Multiplicity :  How many objects participate in an association. Lower-bound..Upper bound (cardinality).
Figure 14-3 – Association relationships of different degrees Lower-bound – upper-bound  Represented as:  0..1, 0..*, 1..1, 1..* Similar to  minimum/maximum cardinality rules in EER
Figure 14-4 – Examples of binary association relationships (a) University example Alternative multiplicity representation: specifying the two possible values in a list instead of a range
(b) Customer order example
Figure 14-5 – Object diagram for customer order example
Association Class An association that has attributes or operations of its own or that participates in relationships with other classes Like an associative entity in ER model
Figure 14-6 – Association class and link object (a) Class diagram showing association classes Binary association class with behavior Unary association with only attributes and no behavior
(b) Object diagram showing link objects Association class instances
Figure 14-7 –Ternary relationship with association class
Figure 14-8 – Derived attribute, association, and role Derived attributes an relationships shown with  /  in front of the name Derived relationship (from Registers-for and Scheduled-for) Constraint expression for derived attribute Derived attribute
Generalization/Specialization Subclass, superclass similar to subtype/supertype in EER Common attributes, relationships,  AND operations Disjoint vs. Overlapping Complete (total specialization) vs. incomplete (partial specialization) Abstract Class: no direct instances Concrete Class: direct instances
Figure 14-9 –  Examples of generalization, inheritance, and constraints (a) Employee superclass with three subclasses Shared attributes and operations An employee can only be one of these subclasses An employee may be none of them. Specialized attributes and operations
(a) Abstract patient class with two concrete subclasses Abstract indicated by  italics Dynamic means a patient can change from one subclass to another over time A patient MUST be EXACTLY one of the subtypes
Class-Level Attribute Specifies a value common to an entire class, rather than a specific value for an instance.  Represented by underlining “ =“ is initial, default value.
Polymorphism Abstract Operation: Defines the form or protocol of the operation, but not its implementation.  Method: The implementation of an operation. Polymorphism : The same operation may apply to two or more classes in different ways
Figure 14-11 – Polymorphism, abstract operation, class-scope attribute, and ordering Class-level attributes – only one value common to all instances of these clases This operation is abstract…it has no method at Student level Methods are defined at subclass level
Overriding Inheritance Overriding: The process of replacing a method inherited from a superclass by a more specific implementation of that method in a subclass. For Extension: add code. For Restriction: limit the method.  For Optimization: improve code by exploiting restrictions imposed by the subclass.
Figure 14-12 – Overriding inheritance Restrict job placement
Multiple Inheritance Multiple Classification: An object is an instance of more than one class. Multiple Inheritance: A class inherits features from more than one superclass.
Figure 14-13 Multiple inheritance
Aggregation Aggregation: A part-of relationship between a component object and an aggregate object. Composition: A stronger form of aggregation in which a part object belongs to only one whole object and exists only as part of the whole object.  Recursive Aggregation: composition where component object is an instance of the same class as the aggregate object.
Figure 14-14 – Example aggregation
Figure 14-15 – Aggregation and Composition (a) Class diagram (b) Object diagram
Figure 14-16 – Recursive aggregation
Business Rules See chapters 3 and 4 Implicit and explicit constraints on objects – for example: cardinality constraints on association roles ordering constraints on association roles Business rules involving two graphical symbols: labeled dashed arrow from one to the other Business rules involving three or more graphical symbols: note with dashed lines to each symbol
Figure 14-17 – Representing business rules Three-symbol constraint Two-symbol constraint
Figure 14-18 – Class diagram for Pine Valley Furniture Company

More Related Content

What's hot (20)

PPTX
Ooad ppt
Radhika Yadav
 
PPT
Object Oriented Relationships
Taher Barodawala
 
PPSX
EER Model
Rahul Mukherjee
 
PPT
UML Diagram Assignment Help, UML Diagram Homework Help
Jacob William
 
PPTX
DBMS - ER Model
MythiliMurugan3
 
PPTX
Er Modeling
Er. Nawaraj Bhandari
 
PPT
Erd chapter 3
Nargis Ehsan
 
PPTX
Cardinality and participation constraints
Nikhil Deswal
 
PDF
2 class use case
Minal Maniar
 
PPT
Uml Omg Fundamental Certification 3
Ricardo Quintero
 
PPT
Entity relationship modelling
Dr. C.V. Suresh Babu
 
PPT
The Database Environment Chapter 14
Jeanie Arnoco
 
PPT
Interfaces & Packages V2
Dr Anjan Krishnamurthy
 
PPT
Object modeling
Anand Grewal
 
PDF
ERD - Entity Relationship Diagram
Asher Jawad
 
PPTX
Data modeling
Tala Alnaber
 
PPT
Lecture 03 data abstraction and er model
emailharmeet
 
PPTX
Basic database analysis(database)
welcometofacebook
 
PPTX
ER Modeling and Introduction to RDBMS
Rubal Sagwal
 
PDF
Class diagram- UML diagram
Ramakant Soni
 
Ooad ppt
Radhika Yadav
 
Object Oriented Relationships
Taher Barodawala
 
EER Model
Rahul Mukherjee
 
UML Diagram Assignment Help, UML Diagram Homework Help
Jacob William
 
DBMS - ER Model
MythiliMurugan3
 
Erd chapter 3
Nargis Ehsan
 
Cardinality and participation constraints
Nikhil Deswal
 
2 class use case
Minal Maniar
 
Uml Omg Fundamental Certification 3
Ricardo Quintero
 
Entity relationship modelling
Dr. C.V. Suresh Babu
 
The Database Environment Chapter 14
Jeanie Arnoco
 
Interfaces & Packages V2
Dr Anjan Krishnamurthy
 
Object modeling
Anand Grewal
 
ERD - Entity Relationship Diagram
Asher Jawad
 
Data modeling
Tala Alnaber
 
Lecture 03 data abstraction and er model
emailharmeet
 
Basic database analysis(database)
welcometofacebook
 
ER Modeling and Introduction to RDBMS
Rubal Sagwal
 
Class diagram- UML diagram
Ramakant Soni
 

Viewers also liked (6)

PPT
Distributed D B
guest8fdbdd
 
PPT
Ch 1 D B Environment
guest8fdbdd
 
PPT
Vikram Chatwal Final
guest8fdbdd
 
PPT
Ch 7 Physical D B Design
guest8fdbdd
 
PPT
Ansi spark
jani
 
PPT
Ch 2 D B Dvlpt Process
guest8fdbdd
 
Distributed D B
guest8fdbdd
 
Ch 1 D B Environment
guest8fdbdd
 
Vikram Chatwal Final
guest8fdbdd
 
Ch 7 Physical D B Design
guest8fdbdd
 
Ansi spark
jani
 
Ch 2 D B Dvlpt Process
guest8fdbdd
 
Ad

Similar to Ch 5 O O Data Modeling (20)

PPT
Uml - An Overview
Raj Thilak S
 
PPT
enrity relationship model and diagram .ppt
binteabdul23
 
PPTX
Advance oops concepts
Sangharsh agarwal
 
PPT
08 class and sequence diagrams
kebsterz
 
PPT
Object Oriented Design
Sudarsun Santhiappan
 
PPT
Object Oriented Design
Aravinth NSP
 
PPT
Lecture 16 requirements modeling - scenario, information and analysis classes
IIUI
 
PPT
UML- Unified Modeling Language
Shahzad
 
PPT
ER model
ShilpaDe
 
PPT
Object Oriented Programming In .Net
Greg Sohl
 
PPT
Chapter3
Dang Tuan
 
PPT
Intro Uml
Kris der Rose
 
PDF
SE18_Lec 06_Object Oriented Analysis and Design
Amr E. Mohamed
 
DOC
introduction of database in DBMS
AbhishekRajpoot8
 
PPTX
database
MonirHossain707319
 
PDF
"Comprehensive Guide to Effective Database Design Principles
EliasZerabruk
 
PPT
21792 relational database managementsystem
Universitas Bina Darma Palembang
 
PPT
Chapter20 object oriented analysis and design
Dhani Ahmad
 
PPT
uml2-1214558329929112-8.ppt
AleksandarUrdarevski
 
PDF
SE_Lec 06_Object Oriented Analysis and Design
Amr E. Mohamed
 
Uml - An Overview
Raj Thilak S
 
enrity relationship model and diagram .ppt
binteabdul23
 
Advance oops concepts
Sangharsh agarwal
 
08 class and sequence diagrams
kebsterz
 
Object Oriented Design
Sudarsun Santhiappan
 
Object Oriented Design
Aravinth NSP
 
Lecture 16 requirements modeling - scenario, information and analysis classes
IIUI
 
UML- Unified Modeling Language
Shahzad
 
ER model
ShilpaDe
 
Object Oriented Programming In .Net
Greg Sohl
 
Chapter3
Dang Tuan
 
Intro Uml
Kris der Rose
 
SE18_Lec 06_Object Oriented Analysis and Design
Amr E. Mohamed
 
introduction of database in DBMS
AbhishekRajpoot8
 
"Comprehensive Guide to Effective Database Design Principles
EliasZerabruk
 
21792 relational database managementsystem
Universitas Bina Darma Palembang
 
Chapter20 object oriented analysis and design
Dhani Ahmad
 
uml2-1214558329929112-8.ppt
AleksandarUrdarevski
 
SE_Lec 06_Object Oriented Analysis and Design
Amr E. Mohamed
 
Ad

More from guest8fdbdd (20)

PPT
Wb Presentation
guest8fdbdd
 
PPT
U T V Ppt
guest8fdbdd
 
PPT
V I D E O C O N
guest8fdbdd
 
PPS
Tisco
guest8fdbdd
 
PPT
R A N B A X Yfinal
guest8fdbdd
 
PPT
R A V I J A I P U R I A[1]
guest8fdbdd
 
PPT
Puma And Evisu
guest8fdbdd
 
PPS
Ppt
guest8fdbdd
 
PPT
Hershey G B F L 2
guest8fdbdd
 
PPT
Nike
guest8fdbdd
 
PPT
L J H O O K E R 1
guest8fdbdd
 
PPT
M I K E P A T E L 1
guest8fdbdd
 
PPT
Joy Alukkas
guest8fdbdd
 
PPT
New Mr
guest8fdbdd
 
PPT
Mahindra Renault
guest8fdbdd
 
PPT
F I N A L
guest8fdbdd
 
PPT
Abhishek Saraff1
guest8fdbdd
 
PPT
Abhishek Saraff
guest8fdbdd
 
PPT
L G 2
guest8fdbdd
 
PPT
M E H U L C H O K S I
guest8fdbdd
 
Wb Presentation
guest8fdbdd
 
U T V Ppt
guest8fdbdd
 
V I D E O C O N
guest8fdbdd
 
R A N B A X Yfinal
guest8fdbdd
 
R A V I J A I P U R I A[1]
guest8fdbdd
 
Puma And Evisu
guest8fdbdd
 
Hershey G B F L 2
guest8fdbdd
 
L J H O O K E R 1
guest8fdbdd
 
M I K E P A T E L 1
guest8fdbdd
 
Joy Alukkas
guest8fdbdd
 
New Mr
guest8fdbdd
 
Mahindra Renault
guest8fdbdd
 
F I N A L
guest8fdbdd
 
Abhishek Saraff1
guest8fdbdd
 
Abhishek Saraff
guest8fdbdd
 
M E H U L C H O K S I
guest8fdbdd
 

Recently uploaded (20)

PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PDF
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
PPTX
Farrell_Programming Logic and Design slides_10e_ch02_PowerPoint.pptx
bashnahara11
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PPTX
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 
PPTX
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
Researching The Best Chat SDK Providers in 2025
Ray Fields
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PDF
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
PDF
Market Insight : ETH Dominance Returns
CIFDAQ
 
PPTX
The Future of AI & Machine Learning.pptx
pritsen4700
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
Farrell_Programming Logic and Design slides_10e_ch02_PowerPoint.pptx
bashnahara11
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
Researching The Best Chat SDK Providers in 2025
Ray Fields
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
Market Insight : ETH Dominance Returns
CIFDAQ
 
The Future of AI & Machine Learning.pptx
pritsen4700
 

Ch 5 O O Data Modeling

  • 1. Modern Database Management Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden Object-Oriented Data Modeling
  • 2. What is Object Oriented Data Modeling? Centers around objects and classes Involves inheritance Encapsulates both data and behavior Benefits of Object-Oriented Modeling Ability to tackle challenging problems Improved communication between users, analysts, designer, and programmers Increased consistency in analysis and design Explicit representation of commonality among system components System robustness Reusability of analysis, design, and programming results
  • 3. Figure 14-1 – Phases of object-oriented systems development cycle
  • 4. OO vs. EER Data Modeling Object Oriented EER Class Entity type Object Entity instance Association Relationship Inheritance of attributes Inheritance of attributes Inheritance of behavior No representation of behavior Object-oriented modeling is frequently accomplished using the Unified Modeling Language (UML)
  • 5. Object An entity that has a well-defined role in the application domain, as well as state, behavior, and identity Tangible: person, place or thing Concept or Event: department, performance, marriage, registration Artifact of the Design Process: user interface, controller, scheduler Objects exhibit BEHAVIOR as well as attributes  Different from entities
  • 6. State, Behavior, Identity State: attribute types and values Behavior: how an object acts and reacts Behavior is expressed through operations that can be performed on it Identity: every object has a unique identity, even if all of its attribute values are the same
  • 7. Figure 14-2 – UML class and object diagrams (a) Class diagram showing two classes Class diagram shows the static structure of an object-oriented model: object classes, internal structure, relationships. Behavior
  • 8. (b) Object diagram with two instances Object diagram shows instances that are compatible with a given class diagram.
  • 9. Operations A function or service that is provided by all instances of a class Types of operators: Constructor : creates a new instance of a class Query : accesses the state of an object but does not alter its state Update : alters the state of an object Scope : operation applying to the class instead of an instance Operations implement the object’s behavior
  • 10. Associations Association : Relationship among object classes Association Role : Role of an object in an association The end of an association where it connects to a class Multiplicity : How many objects participate in an association. Lower-bound..Upper bound (cardinality).
  • 11. Figure 14-3 – Association relationships of different degrees Lower-bound – upper-bound Represented as: 0..1, 0..*, 1..1, 1..* Similar to minimum/maximum cardinality rules in EER
  • 12. Figure 14-4 – Examples of binary association relationships (a) University example Alternative multiplicity representation: specifying the two possible values in a list instead of a range
  • 14. Figure 14-5 – Object diagram for customer order example
  • 15. Association Class An association that has attributes or operations of its own or that participates in relationships with other classes Like an associative entity in ER model
  • 16. Figure 14-6 – Association class and link object (a) Class diagram showing association classes Binary association class with behavior Unary association with only attributes and no behavior
  • 17. (b) Object diagram showing link objects Association class instances
  • 18. Figure 14-7 –Ternary relationship with association class
  • 19. Figure 14-8 – Derived attribute, association, and role Derived attributes an relationships shown with / in front of the name Derived relationship (from Registers-for and Scheduled-for) Constraint expression for derived attribute Derived attribute
  • 20. Generalization/Specialization Subclass, superclass similar to subtype/supertype in EER Common attributes, relationships, AND operations Disjoint vs. Overlapping Complete (total specialization) vs. incomplete (partial specialization) Abstract Class: no direct instances Concrete Class: direct instances
  • 21. Figure 14-9 – Examples of generalization, inheritance, and constraints (a) Employee superclass with three subclasses Shared attributes and operations An employee can only be one of these subclasses An employee may be none of them. Specialized attributes and operations
  • 22. (a) Abstract patient class with two concrete subclasses Abstract indicated by italics Dynamic means a patient can change from one subclass to another over time A patient MUST be EXACTLY one of the subtypes
  • 23. Class-Level Attribute Specifies a value common to an entire class, rather than a specific value for an instance. Represented by underlining “ =“ is initial, default value.
  • 24. Polymorphism Abstract Operation: Defines the form or protocol of the operation, but not its implementation. Method: The implementation of an operation. Polymorphism : The same operation may apply to two or more classes in different ways
  • 25. Figure 14-11 – Polymorphism, abstract operation, class-scope attribute, and ordering Class-level attributes – only one value common to all instances of these clases This operation is abstract…it has no method at Student level Methods are defined at subclass level
  • 26. Overriding Inheritance Overriding: The process of replacing a method inherited from a superclass by a more specific implementation of that method in a subclass. For Extension: add code. For Restriction: limit the method. For Optimization: improve code by exploiting restrictions imposed by the subclass.
  • 27. Figure 14-12 – Overriding inheritance Restrict job placement
  • 28. Multiple Inheritance Multiple Classification: An object is an instance of more than one class. Multiple Inheritance: A class inherits features from more than one superclass.
  • 29. Figure 14-13 Multiple inheritance
  • 30. Aggregation Aggregation: A part-of relationship between a component object and an aggregate object. Composition: A stronger form of aggregation in which a part object belongs to only one whole object and exists only as part of the whole object. Recursive Aggregation: composition where component object is an instance of the same class as the aggregate object.
  • 31. Figure 14-14 – Example aggregation
  • 32. Figure 14-15 – Aggregation and Composition (a) Class diagram (b) Object diagram
  • 33. Figure 14-16 – Recursive aggregation
  • 34. Business Rules See chapters 3 and 4 Implicit and explicit constraints on objects – for example: cardinality constraints on association roles ordering constraints on association roles Business rules involving two graphical symbols: labeled dashed arrow from one to the other Business rules involving three or more graphical symbols: note with dashed lines to each symbol
  • 35. Figure 14-17 – Representing business rules Three-symbol constraint Two-symbol constraint
  • 36. Figure 14-18 – Class diagram for Pine Valley Furniture Company