11 1 Object oriented DB (not in book). 11 2 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Learning objectives: What.

Slides:



Advertisements
Similar presentations
Understand and appreciate Object Oriented Programming (OOP) Objects are self-contained modules or subroutines that contain data as well as the functions.
Advertisements

Object orientation and persistent objects Dragos Chirila Finsiel Romania Copenhagen, 24 May 2004.
OO databases 1 Object Oriented databases. OO databases 2 Developing OODBMS - motivation motivation more and more application areas require systems that.
Chapter 10: Designing Databases
Database Systems: Design, Implementation, and Management Ninth Edition
Database Systems: Design, Implementation, and Management Tenth Edition
Database Systems: Design, Implementation, and Management Tenth Edition
Entity Relationship (E-R) Modeling Hachim Haddouti
Introduction to Databases
Chapter 2 Data Models Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
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
Chapter 14 (Web): Object-Oriented Data Modeling
OBJECT-ORIENTED DBMS. Structured & Object Oriented Approaches Structured approach – long history, well- documented  ERD - modeling data  DFD - modeling.
Object-Oriented Databases
File Systems and Databases Hachim Haddouti
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 2 Data Models Database Systems, 8th Edition 1.
Chapter 13: Object-Oriented Programming
Object Oriented Databases - Overview
Chapter 4 Entity Relationship (E-R) Modeling
C++ fundamentals.
Chapter 4 Object and Object-Relational Databases (Part ½: Object-Oriented Concepts) Lecturer: H.Ben Othmen Department of Computer Science, Umm Al-Qura.
Chapter 14: Object-Oriented Data Modeling
EER vs. UML Terminology EER Diagram Entity Type Entity Attribute
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.
MT311 Java Application Development and Programming Languages Li Tak Sing( 李德成 )
An Object-Oriented Approach to Programming Logic and Design
Database Design - Lecture 2
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.
Unified Modeling Language, Version 2.0
Object Orientation and Its Benefits
7 Object Oriented Database and UML MIS 304 Winter 2006.
Chapter 2 Data Models Database Systems: Design, Implementation, and Management, Rob and Coronel Adapted for INFS-3200.
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.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
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.
Object Oriented Database By Ashish Kaul References from Professor Lee’s presentations and the Web.
Abstraction ADTs, Information Hiding and Encapsulation.
9-Dec Dec-15  INTRODUCTION.  FEATURES OF OOP.  ORGANIZATION OF DATA & FUNCTION IN OOP.  OOP’S DESIGN.
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.
Chapter 20 Concepts for Object-Oriented Databases Copyright © 2004 Pearson Education, Inc.
2 1 Database Systems: Design, Implementation, & Management, 7 th Edition, Rob & Coronel Data Models Why data models are important About the basic data-modeling.
Data Models. 2 The Importance of Data Models Data models –Relatively simple representations, usually graphical, of complex real-world data structures.
CSCE 240 – Intro to Software Engineering Lecture 3.
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.
Introduction: Databases and Database Systems Lecture # 1 June 19,2012 National University of Computer and Emerging Sciences.
Database Development Lifecycle
Systems Analysis and Design With UML 2
Object-Oriented Database Management System (ODBMS)
INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING (OOP) & CONCEPTS
Advanced Database Models
File Systems and Databases
Lec 3: Object-Oriented Data Modeling
Chapter 20 Object-Oriented Analysis and Design
ITEC 3220A Using and Designing Database Systems
Agenda Software development (SD) & Software development methodologies (SDM) Orthogonal views of the software OOSD Methodology Why an Object Orientation?
Presentation transcript:

11 1 Object oriented DB (not in book)

11 2 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Learning objectives: What basic concepts govern OO systems How OO features are related to the more traditional relational and ER models What the basic features of an OO database management system (OODBMS) are What effect OO concepts are likely to have on data modeling and design

11 3 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Object Orientation and Its Benefits 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 act upon itself and interact with other objects Modularity is therefore almost inevitable

11 4 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel The Evolution of Object Oriented Concepts Object oriented programming –Developed as an alternative to traditional programming methods –Programmer creates or uses objects: Self-contained, reusable modules that contain data as well as the procedures used to operate on such data

11 5 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel The Evolution of Object Oriented Concepts ( continued ) Object oriented programming languages were developed to: –Provide an easy-to-use software development environment –Provide a powerful software modeling tool for application development –Decrease development time by reducing the amount of code –Improve programmer productivity by making that code reusable

11 6 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel The Evolution of Object Oriented Concepts ( continued ) Object oriented environment has several important attributes: –Data set is no longer passive –Data and procedures are bound together, creating an object –Object has an innate ability to act on itself

11 7 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Object Oriented Concepts Have their roots in programming languages No knowledge of programming is necessary to understand these concepts

11 8 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Objects: Components and Characteristics Object: –Abstract representation of a real-world entity –Has: Unique identity Embedded properties Ability to interact with other objects and act upon itself –Defining characteristic is its unique identity

11 9 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Real-World Student Objects

11 10 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Object Identity Unique to that object Assigned by system at moment of object’s creation Cannot be changed under any circumstances Can be deleted only if the object is deleted Can never be reused

11 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Attributes (Instance Variables) Attributes: –Known as instance variables in OO environment Domain: –Logically groups and describes the set of all possible values that an attribute can have

11 12 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Object Attributes

11 13 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Object State Set of values that object’s attributes have at a given time Can vary, although its OID remains the same To change the object’s state, change the values of the object’s attributes To change the object’s attribute values, send a message to the object –Message will invoke a method

11 14 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Messages and Methods Method: –Code that performs a specific operation on object’s data –Protects data from direct and unauthorized access by other objects –Used to change the object’s attribute values or to return the value of selected object attributes –Represent real-world actions

11 15 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Method Components

11 16 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Objects Send Messages to Each Other

11 17 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Classes Collection of similar objects with shared structure (attributes) and behavior (methods) Class instance or object instance –Each object in a class

11 18 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Class Illustration

11 19 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Protocol An object’s public aspect How it is known by other objects as well as end users Other objects communicate with the student object using any of these methods

11 20 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Public and Private Aspects of an Object

11 21 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Musical Instruments Class Hierarchy

11 22 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Single Inheritance

11 23 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Multiple Inheritance

11 24 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Employee Class Hierarchy Method Override

11 25 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Employee Class Hierarchy Polymorphism

11 26 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Object Classification Simple object Only single value attributes Composite object Contains at least one multi-value attributes and no attributes that refer to other objects; ex: MOVIE Compound object : Contains attribute that refer to other objects. Ex: Advisor Associative object: represents relationship between two or more objects: ex: enrollment

11 27 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Characteristics of an Object Oriented Data Model Support the representation of complex objects Are extensible: –Capable of defining new data types as well as the operations to be performed on them Support encapsulation: –Data representation and method’s implementation must be hidden from external entities

11 28 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Characteristics of an Object Oriented Data Model ( continued ) Exhibit inheritance: –Object must be able to inherit properties (data and methods) of other objects Support the notion of object identity (OID)

11 29 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Comparing the OO and ER Model Components

11 30 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Shared Representation for All Objects of the Class Person

11 31 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel State of a Person Object Instance

11 32 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Referential Object Sharing

11 33 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Class Hierarchy

11 34 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Employee Object Representation

11 35 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Representing a 1:M Relationship

11 36 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Representing 1:1 and 1:M Relationships

11 37 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Employee-Dependent Relationship

11 38 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Representing the M:N Relationship

11 39 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Representing the M:N Relationship with Associated Attributes

11 40 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Representing the M:N Relationship with Intersection Class

11 41 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Object Space Representation

11 42 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Late and Early Binding: Use and Importance Late binding: –Data type of an attribute is not known until execution time or runtime –Two different object instances of the same class can contain values of different data types for the same attribute Early binding: –Allows database to check data type for each of the attribute’s values at compilation or definition time

11 43 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel INVENTORY Table with Predetermined (Base) Data Types

11 44 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Inventory Class with Early Binding

11 45 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel OODM Inventory Class with Late Binding

11 46 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Support for Versioning Allows users to track history of changes in state of an object If the changes do not yield expected results, they can be undone and the component restored to its original state Reason OODBMS is such a strong player in the CAD and computer-aided manufacturing (CAM) arenas

11 47 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel OODM and Previous Data Models: Similarities and Differences OODM object resembles entity and tuple in the ER and relational models but has additional characteristics Class Hierarchies Encapsulation Object ID (OID) not supported Relationships OODM produces a schema in which relations form part of the structure of the database

11 48 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel An Invoice Representation

11 49 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Assume the following business rules: A course contains many Sections, but each Section references only one course. A Section is taught by one professor, but each professor may teach one or more different Sections of one or more courses. A Section may contain many students, and each student may be enrolled in many Sections. A Section may contain many students, and each student is enrolled in many Sections, but each Section belongs to a different course. (Students may take many courses, but they cannot take many Sections of the same course!) Each Section is taught in one room, but each room may be used to teach different Sections of one or more courses. A professor advises many students, but a student has only one advisor. Based on these business rules: a. Identify and describe the main classes of objects. B. Draw the object oriented diagram

11 50 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel See figure p3.8 on 7/p95 Draw object oriented diagram for it

11 51 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Object Oriented Database Management Systems Integrate benefits of typical database systems with the more powerful modeling and computational (programming) characteristics of the object oriented data model Used to develop complex systems

11 52 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Object Oriented Database Management Systems Result of combining OO features, such as –class inheritance –encapsulation, and –polymorphism, With database features such as –data integrity, -- data manipulation, –security, -- system tuning and –persistence, -- recovery –transaction management, –concurrency control, –backup,

11 53 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Object Oriented Database Management Systems

11 54 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel How Object Orientation Affects Database Design Relational and ER models sometimes cannot adequately represent some objects Operations are not a part of the database model Object oriented design requires the database description to include objects and their data representation, constraints, and operations Few computerized OODB design tools exist Lack of standards affects object oriented database design

11 55 Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel OODBMS: Advantages and Disadvantages OODBMS occupies a strong niche market Vehicle for technological innovation Has not been the beneficiary of market share growth