360 likes | 378 Vues
Lecture on Object Oriented Databases Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel. www.AssignmentPoint.com. In this chapter, you will learn:. What basic concepts govern OO systems What effect OO concepts are likely to have on data modeling and design
E N D
Lecture onObject Oriented DatabasesDatabase Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel www.AssignmentPoint.com www.assignmentpoint.com
In this chapter, you will learn: • What basic concepts govern OO systems • What effect OO concepts are likely to have on data modeling and design • How OO features are related to the more traditional relational and E-R models • What the basic features of an OO database management system (OODBMS) are • About the advantages and disadvantages of OODBMSs www.assignmentpoint.com
Object Orientation • Object Orientation • Set of design and development principles • Based on autonomous computer structures known as objects • OO Contribution areas • Programming Languages • Graphical User Interfaces • Databases • Design • Operating Systems www.assignmentpoint.com
Evolution of OO Concepts • Concepts stem from object-oriented programming languages (OOPLs) • Ada, ALGOL, LISP, SIMULA • OOPLs goals • Easy-to-use development environment • Powerful modeling tools for development • Decrease in development time • Make reusable code • OO Attributes • Data set not passive • Data and procedures bound together • Objects can act on self www.assignmentpoint.com
OO Concepts: Objects • Abstract representation of a real-world entity • Unique identity • Embedded properties • Ability to interact with other objects and self • OID • Unique to object • Not a primary key • Attributes • Called instance variables • Domain • Object state • Object values at any given time www.assignmentpoint.com
OO Concepts: Objects (con’t.) • Methods • Code that performs operation on object’s data • Has name and body • Messages • Invokes method • Sent to object • Classes • Collection of similar objects • Shares attributes and structure • Protocol • Represents object’s public aspect www.assignmentpoint.com
OO Concepts: Objects (con’t.) • Class hierarchy • Code that performs operation on object’s data • Has name and body www.assignmentpoint.com
Object Characteristics Figure 11.7 www.assignmentpoint.com
Class Hierarchy • Superclass • Subclass • Class lattice Figure 11.8 www.assignmentpoint.com
Inheritance • Ability of object to inherit the data structure and behavior of classes above it • Single inheritance • Class has one immediate superclass Figure 11.9 www.assignmentpoint.com
Inheritance (con’t.) • Multiple • Class has more than one immediate superclass Figure 11.10 www.assignmentpoint.com
Method Overriding • Method redefined at subclass level Figure 11.12 www.assignmentpoint.com
Polymorphism Allows different objects to respond to same message in different ways Figure 11.13 www.assignmentpoint.com
Abstract Data Types (ADT) • Describes a set of similar objects • Differs from conventional data types • Operations are user-defined • Uses encapsulation • Definitions needed for creation • Name • Data representation • Abstract data type operations and constraints www.assignmentpoint.com
Object Classification • Simple • Only single-valued attributes • No attributes refer to other object • Composite • At least one multivalued attribute • No attributes refer to other object • Compound • At least one attribute that references other object • Hybrid • Repeating group of attributes • At least one refers to other object www.assignmentpoint.com
Characteristics of OODM • Supports complex objects • Must be extensible • Supports encapsulation • Exhibit inheritance • Supports object identity www.assignmentpoint.com
OO vs. E-R Model Components Table 11.3 www.assignmentpoint.com
Shared Representation for all Objects of the Class Person Figure 11.14 Figure 11.15 www.assignmentpoint.com
Referential Sharing of Objects Figure 11.19 www.assignmentpoint.com
Class-Subclass Relationship Figure 11.21 Figure 11.20 www.assignmentpoint.com
Interobject Relationships • Attribute-Class Link • Object’s attribute references another object • Relationship Representation • Related classes enclosed in boxes • Double line on right side indicates mandatory • Connectivity indicated by labeling each box • 1:M • M:N • M:N with an Intersection Class www.assignmentpoint.com
1:1 and 1:M Relationships Figure 11.24 www.assignmentpoint.com
Employee-Dependent Relationship Figure 11.25 www.assignmentpoint.com
Representing the M:N Relationship Figure 11.26 www.assignmentpoint.com
Representing the M:N Relationship with Associated Attributes Figure 11.27 www.assignmentpoint.com
Representing the M:N Relationship with Intersection Class Figure 11.28 www.assignmentpoint.com
Object Space Representation Figure 11.29 www.assignmentpoint.com
Late and Early Binding • Late binding • Data type of attribute not known until runtime • Allows different instances of same class to contain different data types for same attribute • Early binding • Allows database to check data type at compilation or definition time www.assignmentpoint.com
OODM vs. E-R Data Models • Object, Entity, and Tuple • OODM object has behavior, inheritance, and encapsulation • OO modeling more natural • Class, Entity Set, and Table • Class allows description of data and behavior • Class allows abstract data types • Encapsulation and Inheritance • Object inherits properties of superclasses • Encapsulation hides data representation and method www.assignmentpoint.com
Object ID Not supported in relational models Relationships OODM Interclass references Class hierarchy inheritance Relational models Value-based approach Access Relational models SQL OODM Navigational Set-oriented access OODM vs. E-R Data Models (con’t.) www.assignmentpoint.com
OODBMS • Database management system integrates benefits of typical database systems with OODM characteristics • Handles a mix of data types • Follows OO rules • Follows DBMS rules www.assignmentpoint.com
OO and Database Design • Provides data identification and the procedures for data manipulation • Data and procedures self-contained entity • Iterative and incremental • DBA does more programming • Lack of standards www.assignmentpoint.com
OODBMS Advantages • More semantic information • Support for complex objects • Extensibility of data types • May improve performance with efficient caching • Versioning • Reusability • Inheritance speeds development and application • Potential to integrate DBMSs into single environment www.assignmentpoint.com
OODBMS Disadvantages • Strong opposition from the established RDBMSs • Lack of theoretical foundation • Throwback to old pointer systems • Lack of standard ad hoc query language • Lack of business data design and management tools • Steep learning curve • Low market presence • Lack of compatibility between different OODBMSs www.assignmentpoint.com
OO Influences on Relational Model • Extensibility of new user-defined (abstract) data types • Complex objects • Inheritance • Procedure calls (rules or triggers) • System-generated identifiers (OID surrogates) www.assignmentpoint.com
The Next Generation of DBMS • Object-oriented database systems • Artificial intelligence systems • Expert systems • Distributed database • The Internet www.assignmentpoint.com