Database fundamentals (4 Research Paragraphs)

profileJohn S
Chapter9Object-OrientedDatabaseManagement.ppt

Chapter 9
Object-Oriented Database Management

BLCN-534: Fundamentals of Database Systems

Chapter Objectives

  • List several limitations in the relational database model.
  • Describe the object-oriented database concept.
  • Model data using such complex relationships as generalization and aggregation, and such concepts as inheritance and polymorphism.
  • Describe the benefits of encapsulation.
  • Describe the value of developing abstract data types.
  • Explain what an object/relational database is.

9-*

Object Orientation

  • An alternative approach to information systems and IS development.
  • Began during the 1980s.
  • More data-centric.

9-*

What’s Missing in the Relational Database Concept?

  • Many people would say that nothing is missing from the relational model.
  • Others would point out that for certain kinds of complex applications, the relational model is lacking in support for the more complex data model features they need.

9-*

What’s Missing in the Relational Database Concept?

  • Does not directly provide support for generalization/specialization.
  • Does not directly provide support for aggregation.

9-*

What’s Missing in the Relational Database Concept?

  • Does not have a system in which only a limited, controlled set of program segments is allowed to update particular data.
  • Does not directly support more complex data types such as:
  • graphic images
  • photo images
  • video clips
  • audio clips
  • long text documents
  • mathematical constructs such as matrices

9-*

Terminology: Object-Oriented Data Modeling

  • Object - describes an advanced data structure that includes an entity’s attributes plus methods or operations or procedures (program code!) that can operate on and modify the object’s attribute values.
  • (object) class - the objects that describe similar entities.

9-*

More advantages of Object Oriented Database Concept

  • Each object has an object identifier that is permanent and unique among all objects of all types in the system.
  • Some OODBMSs are implemented as pointer-based systems. related objects are “connected” by their storage addresses.
  • OODBMSs are the most natural data storage vehicles when object-oriented programming languages, such as C++, Smalltalk, and Java, are in use.

9-*

Unified Modeling Language

  • Introduced in 1997 by the Object Management Group (OMG)
  • Has nine standard diagrams that describe:
  • the system’s data
  • the business processes
  • the intended results
  • the components of the program code
  • the hardware and software architectures.

9-*

UML Class Diagram

  • Describes the system’s data, including attributes of and relationships between the “objects.”

9-*

Generalization

  • Also known as generalization/specialization
  • Is a relationship that recognizes that some kinds of entities can be subdivided into smaller, more specialized groups.

9-*

General Hardware Company ERD

  • General Hardware company E-R diagram.
  • General Hardware is a wholesaler.

9-*

General Hardware Company Generalization Diagram

  • Each box represents a class and has three sections separated by horizontal lines.
  • At the top, in capital letters, is the class name
  • In the middle are the class attributes
  • At the bottom are the class operations (not shown)

9-*

General Hardware Company Generalization Diagram

  • The upward pointing arrows indicate generalizations.
  • There are three kinds of products
  • TOOLs
  • LIGHT FIXTUREs
  • LUMBER
  • There are two kinds of tools
  • POWER TOOLs
  • NONPOWER TOOLs

9-*

Inheritance of Attributes

  • The PRODUCT class indicates that all products have three common attributes: Product Number, Product Name, and Unit Price.
  • All of the classes below PRODUCT inherit the attributes shown in PRODUCT.

9-*

Inheritance of Attributes

  • The attributes for POWER TOOLs are:
  • (from Product)
  • Product Number
  • Product Name
  • Unit Price
  • (from TOOL)
  • Weight
  • (from POWER TOOL)
  • Amperes

9-*

Inheritance of Attributes

  • The attributes for NONPOWER TOOLs are
  • (from Product)
  • Product Number
  • Product Name
  • Unit Price
  • (from TOOL)
  • Weight
  • (from NON-POWER TOOL)
  • Years of Warranty

9-*

Inheritance of Attributes

  • The attributes for LIGHT FIXTUREs are
  • (from Product)
  • Product Number
  • Product Name
  • Unit Price
  • (from LIGHT FIXTURE)
  • Number of Bulbs
  • Watts per Bulb

9-*

Inheritance of Attributes

  • The attributes for LUMBER are
  • (from Product)
  • Product Number
  • Product Name
  • Unit Price
  • (from LUMBER)
  • Type of Wood
  • Dimensions

9-*

Operations

  • Operations have now been added to the UML Diagram.
  • There are three kinds of operations:
  • Constructor
  • Query
  • Update

9-*

Operations: Constructor

  • Creates a new instance of a class, that is, a new object.
  • Example: Add Lumber
  • an operation that will add a new instance of LUMBER, that is, a new object, to the database.

9-*

Operations: Query

  • Returns data about the values of an object’s attributes but does not update them.
  • Example: Calculate Discount
  • calculates a discount for a particular customer buying a particular product and returns the result to the user who issued the query, but does not store the result in the database.

9-*

Operations: Update

  • Updates an object’s attribute values.
  • Example: Change Unit Price
  • a product’s unit price may have to be changed, and the result is stored in the database as the new unit price.

9-*

Polymorphism

  • Modification or refinement of operations as they are inherited downward.
  • The operations that are performed differently in the lower level objects can have modified names and will perform differently for the different kinds of objects.

9-*

Polymorphism

  • Looking at “Calculate Discount”:
  • Since there is nothing more said about the discount further down the hierarchy, the discount is calculated in the same way for all kinds of products.
  • Looking at “Calculate Extended Warranty Price”:
  • polymorphism occurs in the Calculate Extended Warranty Price operation because it is performed differently for power tools and nonpower tools.

9-*

Aggregation

9-*

Aggregation

  • A class is shown to be composed of other classes.
  • FRAMEs and BULBS are not kinds of LIGHT FIXTUREs; rather, each is a part of a LIGHT FIXTURE.

9-*

General Hardware Company Class Diagram

9-*

Good Reading Bookstores Class Diagram

  • A generalization hierarchy has been created under PRODUCT, which indicates that there are four kinds of products: BOOK, PERIODICAL, CD, and VIDEO/DVD.
  • The PERIODICAL class, and only this class, is associated with the ARTICLE class.

9-*

World Music Association Class Diagram

  • A generalization hierarchy has been constructed with subordinate classes ORCHESTRA, CHAMBER GROUP, and JAZZ GROUP.

9-*

Lucky Rent-A-Vehicle
Class Diagram

  • Lucky Rent-A-Car has expanded to become Lucky Rent-A-Vehicle!
  • A two-level generalization hierarchy under VEHICLE.
  • The diamond-shaped symbol on the branch under the TRUCK class indicates that there is an aggregation diagram under it.

9-*

Encapsulation

  • The attributes of a class or even an individual object are “encapsulated,” stored together on the disk, with the operations that will act upon them.
  • OODBMS will only permit the attributes of the encapsulated objects to be updated by the encapsulated update-type operations, thereby improving data integrity.

9-*

Encapsulation

When an application program requires encapsulated data, it sends a message to one of the object’s encapsulated operations to trigger it into action.

The application program sends along any input data needed for the operation.

9-*

Abstract Data Types

Object-oriented database allows the creation of new, abstract data types and operations that are associated with them.

9-*

Object/Relational Database

  • OODBMSs were lacking in several areas, including the superior query capabilities of SQL that everyone had become accustomed to.
  • Relational database and object-oriented database have come together in the form of hybrid relational database management systems with object-oriented features added to them.

9-*

General Hardware Company as an Object/Relational Database

9-*

Polymorphism

•Modification or refinement of operations as they are inherited downward. • The operations that are

performed differently in the lower level objects can have modified names and will perform differently for the different kinds of objects.

9-24