Object Orientation and Its Benefits

Slides:



Advertisements
Similar presentations
OO databases 1 Object Oriented databases. OO databases 2 Developing OODBMS - motivation motivation more and more application areas require systems that.
Advertisements

Database Systems: Design, Implementation, and Management Tenth Edition
Database Systems: Design, Implementation, and Management Ninth Edition
Introduction to Databases
Classes and Object- Oriented... tMyn1 Classes and Object-Oriented Programming The essence of object-oriented programming is that you write programs in.
Object-Oriented Analysis and Design
Object-Oriented Databases v OO systems associated with – graphical user interface (GUI) – powerful modeling techniques – advanced data management capabilities.
Chapter Object-Oriented Practices. Agenda Object-Oriented Concepts Terminology Object-Oriented Modeling Tips Object-Oriented Data Models and DBMSs.
OBJECTS Object Oriented ???????. OBJECTS Object-Oriented n OO convenient label for a collection of interconnected ideas n OO approach views computer.
Object Oriented System Development with VB .NET
File Systems and Databases
OBJECT-ORIENTED DBMS. Structured & Object Oriented Approaches Structured approach – long history, well- documented  ERD - modeling data  DFD - modeling.
Object-Oriented Databases
Object-oriented Programming Concepts
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 2 Data Models Database Systems, 8th Edition 1.
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
C++ fundamentals.
RIZWAN REHMAN, CCS, DU. Advantages of ORDBMSs  The main advantages of extending the relational data model come from reuse and sharing.  Reuse comes.
Chapter 4 Object and Object-Relational Databases (Part ½: Object-Oriented Concepts) Lecturer: H.Ben Othmen Department of Computer Science, Umm Al-Qura.
UML Class Diagrams: Basic Concepts. Objects –The purpose of class modeling is to describe objects. –An object is a concept, abstraction or thing that.
2 1 Chapter 2 Data Model Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
Chapter 24 Introduction to Object DBMSs Prepared by Kai Huang CS157B Prof Sin-Min Lee.
Week 1 Lecture MSCD 600 Database Architecture Samuel ConnSamuel Conn, Asst. Professor Suggestions for using the Lecture Slides.
Introduction to the Other Databases
DBMS Lecture 9  Object Database Management Group –12 Rules for an OODBMS –Components of the ODMG standard  OODBMS Object Model Schema  OO Data Model.
11 1 Object oriented DB (not in book) Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Learning objectives: What.
BCS 2143 Introduction to Object Oriented and Software Development.
An Object-Oriented Approach to Programming Logic and Design
Chapter 4 System Models A description of the various models that can be used to specify software systems.
Database Design - Lecture 2
Database Systems: Design, Implementation, and Management Ninth Edition
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Database Management System Prepared by Dr. Ahmed El-Ragal Reviewed & Presented By Mr. Mahmoud Rafeek Alfarra College Of Science & Technology Khan younis.
7 Object Oriented Database and UML MIS 304 Winter 2006.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
11 1 Chapter 11 Object Oriented Databases Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
Chapter # 2 Data Models BIS Database Systems A.Thanop Somprasong
Lecture2: Database Environment Prepared by L. Nouf Almujally & Aisha AlArfaj 1 Ref. Chapter2 College of Computer and Information Sciences - Information.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
11 Object-Oriented DBMS Figure Table 11.4 The Thirteen OODBMS Rules.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
Lecture # 3 & 4 Chapter # 2 Database System Concepts and Architecture Muhammad Emran Database Systems 1.
1 COSC3306: Programming Paradigms Lecture 6: Object-Oriented Programming Specifications Haibin Zhu, Ph.D. Computer Science Nipissing University (C) 2003.
Chapter 12 Support for Object oriented Programming.
1 CS457 Object-Oriented Databases Chapters as reference.
ITEC 3220A Using and Designing Database Systems Instructor: Prof Z. Yang Course Website: 3220a.htm
ITEC 3220A Using and Designing Database Systems Instructor: Gordon Turpin Course Website: Office: CSEB3020.
Learners Support Publications Object Oriented Programming.
CSC 131 Fall 2006 Lecture # 6 Object-Oriented Concepts.
Object Oriented Database By Ashish Kaul References from Professor Lee’s presentations and the Web.
Abstraction ADTs, Information Hiding and Encapsulation.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Business Applications with Object-Oriented Paradigm (Modeling Concepts) Professor Chen School of Business Gonzaga University Spokane, WA
Chapter 18 Object Database Management Systems. Outline Motivation for object database management Object-oriented principles Architectures for object database.
Chapter 20 Concepts for Object-Oriented Databases Copyright © 2004 Pearson Education, Inc.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
Department of Mathematics Computer and Information Science1 CS 351: Database Management Systems Christopher I. G. Lanclos Chapter 4.
Data Models. 2 The Importance of Data Models Data models –Relatively simple representations, usually graphical, of complex real-world data structures.
DBS201: Data Modeling. Agenda Data Modeling Types of Models Entity Relationship Model.
1 © 2013 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the.
Object-Oriented Database Management System (ODBMS)
INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING (OOP) & CONCEPTS
Advanced Database Models
Chapter 4 Entity Relationship (ER) Modeling
Chapter 20 Object-Oriented Analysis and Design
ITEC 3220A Using and Designing Database Systems
Presentation transcript:

Object Orientation and Its Benefits Object orientation is a modeling and development methodology based on object-oriented (OO) concepts. Definition of Object Orientation A set of design and development principles based on conceptually autonomous computer structures known as objects. Each object represents a real- world entity with the ability to interact with itself and with other objects. 5

The Evolution of OO Concepts From traditional to object-oriented programming (OOP) Before OOP, data and procedures were isolated from each other. Data were treated as the passive component, while procedures manipulated the data as the active component. Procedural languages (e.g., COBOL) encouraged the rigid distinction between data and procedure. In an OOP environment, the programmer asks to perform operations on themselves. OO concepts first appeared in some programming languages and set the stage for more refined OO concepts. 7

The Evolution of OO Concepts Main Objectives of Object-Oriented Programming Languages (OOPL) To provide an easy-to-use software development environment. To provide a powerful software modeling tool for applications prototyping. To decrease development time by reducing the amount of code. To improve programmer productivity by making that code reusable. 8

The Evolution of OO Concepts Important Attributes of OO Environment The data set is no longer passive. Data and procedures are bound together, creating an object. The object has an innate ability to act on itself. 9

Object-Oriented Concepts Objects: Components and Characteristics An object is an abstract representation of a real-world entity that has a unique identity, embedded properties, and the ability to interact with other objects and itself. Figure 11.1 Real World Student Objects 11

Object-Oriented Concepts Object Identify The object’s identity is represented by an object ID (OID), which is unique to that object. The OID is assigned by the system at the moment of the object’s creation and cannot be changed under any circumstance. The OID can be deleted only if the object is deleted, and that OID can never be reused. 12

Object-Oriented Concepts Attributes (Instance Variables) Objects are described by their attributes, known as instance variables. (See Table 11.2) Attributes have a domain. The domain logically groups and describes the set of all possible values that an attribute can have. An attribute can be single valued or multivalued. Attributes may reference one or more other objects. 13

Object Attributes Table 11.2 14

Object-Oriented Concepts Object State The object state is the set of values that the object’s attributes have at a given time. If we change the object’s state, we must change the values of the object attributes. To change the object’s attribute values, we must send a message to the object. This message invokes a method. 15

Object-Oriented Concepts Messages and Methods Every operation performed on an object must be implemented by a method. Methods represent real-world actions and are equivalent to procedures in traditional programming languages. Every method is identified by a name and has a body. The body is composed of computer instructions written in some programming language to represent a real-world action. 16

Depiction Of An Object Figure 11.2 17

Object-Oriented Concepts Messages and Methods To invoke a method you send a message to the object. A message is sent by specifying a receiver object, the name of the method, and any required parameters. The internal structure of the object cannot be accessed directly by the message sender. The ability to hide the object’s internal details (attributes and methods) is known as encapsulation. An object may send messages to change or interrogate another object’s state. (See Figure 11.3) 18

Objects Send Messages To Each Other Figure 11.3 19

Object-Oriented Concepts Classes Objects that share common characteristics are grouped into classes. A class is a collection of similar objects with shared structure (attributes) and behavior (methods). Each object in a class is known as a class instance or object instance. (See Figure 11.4) Example: STUDENT class (See Figure 11.5) 20

Class Illustration Figure 11.4 21

Representation Of The Class Student Figure 11.5 22

Object-Oriented Concepts Protocol The class’s collection of messages, each identified by a message name, constitutes the object or class protocol. The protocol represents an object’s public aspect; i.e., it is known by other objects as well as end users. The implementation of the object’s structure and methods constitutes the object’s private aspect. A message can be sent to an object instance or the class. When the receiver object is a class, the message will invoke a class method. 23

Public and Private Aspects Of An Object Figure 11.6 24

OO Summary: Object Characteristics Figure 11.7 25

Object-Oriented Concepts Superclasses, Subclasses, and Inheritance Classes are organized into a class hierarchy. Example: Musical instrument class hierarchy (Figure 11.8) Piano, Violin, and Guitar are a subclass of Stringed instruments, which is, in turn, a subclass of Musical instruments. Musical instruments defines the superclass of Stringed instruments, which is, in turn, the superclass of the Piano, Violin, and Guitar classes. Inheritance is the ability of an object within the hierarchy to inherit the data structure and behavior (methods) of the classes above it. 26

Musical Instruments Class Hierarchy Figure 11.8 27

Object-Oriented Concepts Two variants of inheritance: Single inheritance exists when a class has only one immediate superclass above it. Most of the current OO systems support single inheritance. When the system sends a message to an object instance, the entire hierarchy is searched for the matching method in the following sequence: Scan the class to which the object belongs. If the method is not found, scan the superclass. The scanning process is repeated until either one of the following occurs: The method is found. The top of the class hierarchy is reached without finding the message. 28

Single Inheritance Figure 11.9 29

Object-Oriented Concepts Two variants of inheritance: Multiple inheritance allow a class to be derived from several parent superclasses located above that class. Single inheritance exists when a class has only one immediate (parent) superclass above it. Figure 11.10 Multiple Inheritance 30

Motor Vehicle And Bicycle Instance Variables Figure 11.11 32

Object-Oriented Concepts Method Overriding and Polymorphism We may override a superclass’s method definition by redefining the method at the subclass level. (See Figure 11.12) Polymorphism allows different objects to respond to the same message in different ways. (See Figure 11.13) 33

Employee Class Hierarchy Method Override Figure 11.12 34

Employee Class Hierarchy Polymorphism Figure 11.13 35

Object-Oriented Concepts Abstract Data Types A data type describes a set of objects with similar characteristics. All conventional programming languages use a set of predefined data types, known as conventional data types or base data types. Abstract data types (ADT) describe a set of similar objects. An ADT differs from a conventional data type in that: The ADT’s operations are user-defined. The ADT does not allow direct access to its internal data representation or method implementation. 36

Object-Oriented Concepts Object Classification A simple object contains only single-valued attributes and none of its attributes refer to another object. A composite object contains at least one multivalued attribute and none of its attributes refer to another object. Movie object with Actors attribute A compound object contains at least one attribute that references another object. Student Object with Professor Attribute A hybrid object contains a repeating group of attributes, and at least one of the repeating attributes refers to another object. An associative object is used to represent a relationship between two or more objects. 37

Characteristics of an OO Data Model An Object-Oriented Data Model Must: Support the representation of complex objects as described above. Be extensible; i.e., it must be capable of defining new data types as well as the operations to be performed on them. Support encapsulation; i.e., the data representation and the method’s implementation must be hidden from external entities. Exhibit inheritance; an object must be able to inherit the properties (data and methods) of other objects. Support the notion of object identity (OID). 47

Characteristics of an OO Data Model Summary of OODM Components The OODM models real-world entities as objects. Each object is composed of attributes and a set of methods. Each attribute can reference another object or a set of objects. The attributes and the methods implementation are hidden, or encapsulated, from other objects. Each object is identified by a unique object ID (OID), which is independent of the value of its attributes. Similar objects are described and grouped in a class that contains the description of the data and the method’s implementation. The class describes a type of object. Classes are organized in a class hierarchy. Each object of a class inherits all properties of its superclasses in the class hierarchy. 48

Comparing The OO And E-R Model Components Table 11.3 49

Object Schemas: The Graphical Representation of Objects Figure 11.14 Shared Representation For All Objects Of the Class Person 50

State Of A Person Object Instance Figure 11.15 51

Defining Three Abstract Data Types Figure 11.16 52

Figure 11.17 Object Representation For Instances Of The Class Person With ADTs Figure 11.17 53

Object Schemas: The Graphical Representation of Objects The object space or object schema is the equivalent of a database schema or a relational schema at a given time. Figure 11.18 54

Figure 11.19 Referential Sharing Of Objects 56

Object Schemas: The Graphical Representation of Objects Class-Subclass Relationships Figure 11.20 Class Hierarchy 57

Employee Object Representation Figure 11.21 58

Object Schemas: The Graphical Representation of Objects Interobject Relationships: Attribute-Class Link A attribute-class or interobject relationship is created when an object’s attribute references another object of the same or different class. Relationship Representation: Representing 1:M Relationships Representing M:N Relationships Representing M:N Relationships with an Intersection Class 59

Class Hierarchy For The EDLP Retail Corporation Figure 11.22 60

Object Schemas: The Graphical Representation of Objects Representing 1:M Relationships Related classes are enclosed in boxes to make relationships more noticeable. The double line on the box’s right side indicates that the relationship is mandatory. Connectivity is indicated by labeling each box. 61

Representing The 1:M Relationship Figure 11.23 62

Representing The 1:1 And 1:M Relationships Figure 11.24 62

Employee-Dependent Relationship Figure 11.25 62

Object Schemas: The Graphical Representation of Objects Representing M:N Relationships Figure 11.26

Object Schemas: The Graphical Representation of Objects Representing M:N Relationships with an Intersection Class Figure 11.27 Representing the M:N Relationship With Associated Attributes

Representing The M:N Relationship With Intersection Class Figure 11.28

Figure 11.29 Object Space Representation

Object Schemas: The Graphical Representation of Objects Late and Early Binding: Use and Importance With late binding the data type of an attribute is not known until execution time or run-time. Late binding allows two different object instances of the same class to contain values of different data types for the same attribute. Early binding allows the database to check the data type for each of the attribute’s values at compilation or definition time.

Inventory Table With Predetermined (Base) Data Types Figure 11.30 72

Inventory Class With Early Binding Figure 11.31 72

OODM Inventory Class With Late Binding Figure 11.32 73

Object Schemas: The Graphical Representation of Objects Support for Versioning Versioning is an OODM feature that allows us to track the history of change in the state of an object. It is a very powerful modeling feature, especially in a CAD environment. 74

OODM and Previous Data Models Object, Entity, and Tuple An OODM object has additional characteristics such as behavior, inheritance, and encapsulation. Such characteristics make OO modeling much more natural than E-R and relational modeling. 75

An Invoice Representation Figure 11.33 76

OODM and Previous Data Models Class, Entity Set, and Table Class is a more powerful concept that allows not only the description of the data structure but also the description of the behavior. A class allows both the concept and the implementation of abstract data types. Encapsulation and Inheritance An object belonging to a class inherits all the properties of its superclasses. Encapsulation hides the data representation and the method’s implementation from other objects and the user. 77

OODM and Previous Data Models Object ID Object ID is not supported in either the E-R model or the relational model. The hierarchical and the CODASYL models support some form of ID. Relationships Relationships in an OODM can be of two types: interclass references or class hierarchy inheritance. E-R and relational models use a value-based relationship approach. 78

OODM and Previous Data Models Access E-R and relational models use an ad hoc, set- oriented query language. OODM is suited to support both navigational and set-oriented access. 79

Object-Oriented DBMS Figure 11.34 80

Table 11.4 The Thirteen OODBMS Rules 82

How OO Affects Database Design OO database design approach provides both the data identification and the procedures or data manipulation to be performed. OO database design forces us to think of data and procedures as a self-contained entity. OO design is iterative and incremental in nature. DBA’s role is likely to change with more programming responsibilities. Lack of standards affects OO database design. 83

OODBMS: Advantages and Disadvantages More semantic information. Support for complex objects. Extensibility of data types. Improved performance with efficient caching. Versioning. Faster development and easy maintenance through inheritance and reusability. Technology-driven product for next generation DBMS. Potential to integrate DBMSs into a single environment. 84

OODBMS: Advantages and Disadvantages Strong opposition from the established players. Lack of theoretical foundation. Retrogressive to the old pointer systems. Lack of standard ad hoc query language. Lack of business data design and management tools. Steep learning curve. Lack of resources. 85

How OO Concepts Have Influenced the Relational Model New Features for Extended Relational (Object/Relational) Model Extensibility of new user-defined (abstract) data types Complex objects Inheritance Procedure calls (rules or triggers) System-generated identifiers (OID surrogates) 86

How OO Concepts Have Influenced the Relational Model Philosophy that guides the relational model’s enhancements: Semantic and object-oriented concepts are necessary to support the new generation of applications. These concepts can and must be added to the relational model. The benefits of the relational model must be preserved to protect the investment in relational technology and to provide downward compatibility. 86

The Next Generation of DBMS The next generation of DBMS is likely to incorporate features borrowed from: Object-oriented database systems Artificial intelligence systems Expert systems Distributed database The Internet