© 2011 pearson education 1 chapter 13 (online): object-oriented databases modern database...

24
© 2011 Pearson Education 1 Chapter 13 (Online): Object-Oriented Databases Modern Database Management 10 th Edition, International Edition Jeffrey A. Hoffer, V. Ramesh, Heikki Topi

Upload: benjamin-long

Post on 16-Jan-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: © 2011 Pearson Education 1 Chapter 13 (Online): Object-Oriented Databases Modern Database Management 10 th Edition, International Edition Jeffrey A. Hoffer,

© 2011 Pearson Education 1

Chapter 13 (Online): Object-Oriented

Databases

Modern Database Management

10th Edition, International Edition

Jeffrey A. Hoffer, V. Ramesh,

Heikki Topi

Page 2: © 2011 Pearson Education 1 Chapter 13 (Online): Object-Oriented Databases Modern Database Management 10 th Edition, International Edition Jeffrey A. Hoffer,

Chapter 13-Web © 2011 Pearson Education 2

Objectives Define terms Describe phases of object-oriented development

life cycle State advantages of object-oriented modeling Compare object-oriented model with E-R and EER

models Model real-world application using UML class

diagram Provide UML snapshot of a system state Recognize when to use generalization,

aggregation, and composition Specify types of business rules in a class diagram

Page 3: © 2011 Pearson Education 1 Chapter 13 (Online): Object-Oriented Databases Modern Database Management 10 th Edition, International Edition Jeffrey A. Hoffer,

Chapter 13-Web © 2011 Pearson Education 3

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, designers, and programmers Increased consistency in analysis, design, and

programming Explicit representation of commonality among

system components System robustness Reusability of analysis, design, and programming

results

Page 4: © 2011 Pearson Education 1 Chapter 13 (Online): Object-Oriented Databases Modern Database Management 10 th Edition, International Edition Jeffrey A. Hoffer,

Chapter 13-Web © 2011 Pearson Education 4

Progressive and iterative development process

Figure 13-1 Phases of object-oriented systems development cycle

Page 5: © 2011 Pearson Education 1 Chapter 13 (Online): Object-Oriented Databases Modern Database Management 10 th Edition, International Edition Jeffrey A. Hoffer,

Chapter 13-Web © 2011 Pearson Education 5

OO vs. EER Data Modeling

Object Oriented

EER

Class Entity typeObject Entity

instanceAssociation RelationshipInheritance of

attributesInheritance of

attributes

Inheritance of behavior

No representation of behavior

Object-oriented modeling is typically represented using the Unified Modeling Language (UML)

Page 6: © 2011 Pearson Education 1 Chapter 13 (Online): Object-Oriented Databases Modern Database Management 10 th Edition, International Edition Jeffrey A. Hoffer,

Chapter 13-Web © 2011 Pearson Education 6

Classes and Objects Class: 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

Object: a particular instance of a class

Objects exhibit BEHAVIOR as well as attributes Different from entities

Page 7: © 2011 Pearson Education 1 Chapter 13 (Online): Object-Oriented Databases Modern Database Management 10 th Edition, International Edition Jeffrey A. Hoffer,

Chapter 13-Web © 2011 Pearson Education 7

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

Page 8: © 2011 Pearson Education 1 Chapter 13 (Online): Object-Oriented Databases Modern Database Management 10 th Edition, International Edition Jeffrey A. Hoffer,

Chapter 13-Web © 2011 Pearson Education 8

Class diagram shows the static structure of an object-oriented model: object classes, internal structure, relationships

Figure 13-2 UML class and object diagram

a) Class diagram showing two classes

Page 9: © 2011 Pearson Education 1 Chapter 13 (Online): Object-Oriented Databases Modern Database Management 10 th Edition, International Edition Jeffrey A. Hoffer,

Chapter 13-Web © 2011 Pearson Education 9

Object diagram shows instances that are compatible with a given class diagram

Figure 13-2 UML class and object diagram (cont.)

b) Object diagram with two instances

Page 10: © 2011 Pearson Education 1 Chapter 13 (Online): Object-Oriented Databases Modern Database Management 10 th Edition, International Edition Jeffrey A. Hoffer,

Chapter 13-Web © 2011 Pearson Education 10

Operation A function or service that is provided by all

instances of a class Encapsulation – hiding internal

implementation details Types of operations:

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 Class-Scope: operation applying to the class

instead of an instance

Operations implement the object’s behavior

Page 11: © 2011 Pearson Education 1 Chapter 13 (Online): Object-Oriented Databases Modern Database Management 10 th Edition, International Edition Jeffrey A. Hoffer,

Chapter 13-Web © 2011 Pearson Education 11

Associations Association

Named 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)

Page 12: © 2011 Pearson Education 1 Chapter 13 (Online): Object-Oriented Databases Modern Database Management 10 th Edition, International Edition Jeffrey A. Hoffer,

Chapter 13-Web © 2011 Pearson Education 12

Figure 13-3Examples of 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

Unary

Binary

Ternary

Page 13: © 2011 Pearson Education 1 Chapter 13 (Online): Object-Oriented Databases Modern Database Management 10 th Edition, International Edition Jeffrey A. Hoffer,

Chapter 13-Web © 2011 Pearson Education 13

Alternative multiplicity representation: specifying the two possible values in a list

instead of a range

Figure 13-4 Examples of binary association relationshipsa) University example

Page 14: © 2011 Pearson Education 1 Chapter 13 (Online): Object-Oriented Databases Modern Database Management 10 th Edition, International Edition Jeffrey A. Hoffer,

Chapter 13-Web © 2011 Pearson Education 14

Figure 13-4 Examples of binary association relationships (cont.)b) Customer order example

Page 15: © 2011 Pearson Education 1 Chapter 13 (Online): Object-Oriented Databases Modern Database Management 10 th Edition, International Edition Jeffrey A. Hoffer,

Chapter 13-Web © 2011 Pearson Education 15

Figure 13-5Object diagram for customer order example

Object diagram shows associations between specific object instances

Page 16: © 2011 Pearson Education 1 Chapter 13 (Online): Object-Oriented Databases Modern Database Management 10 th Edition, International Edition Jeffrey A. Hoffer,

Chapter 13-Web © 2011 Pearson Education 16

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 E-R model

Page 17: © 2011 Pearson Education 1 Chapter 13 (Online): Object-Oriented Databases Modern Database Management 10 th Edition, International Edition Jeffrey A. Hoffer,

Chapter 13-Web © 2011 Pearson Education 17

Binary association class with behavior

Unary association with only attributes and no behavior

Figure 13-6 Association class and link object a) Class diagram showing association classes

Page 18: © 2011 Pearson Education 1 Chapter 13 (Online): Object-Oriented Databases Modern Database Management 10 th Edition, International Edition Jeffrey A. Hoffer,

Chapter 13-Web © 2011 Pearson Education 18

Association class instances

Figure 13-6 Association class and link object (cont.)b) Object diagram showing link objects

Page 19: © 2011 Pearson Education 1 Chapter 13 (Online): Object-Oriented Databases Modern Database Management 10 th Edition, International Edition Jeffrey A. Hoffer,

Chapter 13-Web © 2011 Pearson Education 19

Figure 13-7 Ternary relationship with association class

Page 20: © 2011 Pearson Education 1 Chapter 13 (Online): Object-Oriented Databases Modern Database Management 10 th Edition, International Edition Jeffrey A. Hoffer,

Chapter 13-Web © 2011 Pearson Education 20

Figure 13-8 Derived attribute, association, and role

Derived attributes and relationships shown with / in front of the name

Derived relationship (from Registers-for and Scheduled-for)

Constraint expression for derived attribute

Derived attribute

Page 21: © 2011 Pearson Education 1 Chapter 13 (Online): Object-Oriented Databases Modern Database Management 10 th Edition, International Edition Jeffrey A. Hoffer,

Chapter 13-Web © 2011 Pearson Education

Draw a class diagram for the following situation (1): A company has a number of employees. The attributes of Employee include employeeID

(primary key), name, address, and birthDate. The company also has several projects. Attributes of Project include projectName and

startDate. Each employee may be assigned to one or more

projects or may not be assigned to a project. A project must have at least one employee

assigned and may have any number of employees assigned.

21

Page 22: © 2011 Pearson Education 1 Chapter 13 (Online): Object-Oriented Databases Modern Database Management 10 th Edition, International Edition Jeffrey A. Hoffer,

Chapter 13-Web © 2011 Pearson Education 22

Page 23: © 2011 Pearson Education 1 Chapter 13 (Online): Object-Oriented Databases Modern Database Management 10 th Edition, International Edition Jeffrey A. Hoffer,

Chapter 13-Web © 2011 Pearson Education

Draw a class diagram for the following situation (2):

A university has a large number of courses in its catalog. Attributes of Course include courseNumber (primary

key), courseName, and units. Each course may have one or more different courses as

prerequisites or may have no prerequisites. Similarly, a particular course may be a prerequisite for

any number of courses or may not be prerequisite for any other course.

The university adds or drops a prerequisite for a course only when the director for the course makes a formal request to that effect.

23

Page 24: © 2011 Pearson Education 1 Chapter 13 (Online): Object-Oriented Databases Modern Database Management 10 th Edition, International Edition Jeffrey A. Hoffer,

Chapter 13-Web © 2011 Pearson Education 24