ITEC 3220A Using and Designing Database Systems Instructor: Prof Z. Yang Course Website: 3220a.htm

Slides:



Advertisements
Similar presentations
Database Systems: Design, Implementation, and Management Tenth Edition
Advertisements

Database Design – Lecture 11
Entity Relationship (ER) Modeling
L3-1-S1 OO Concepts © M.E. Fayad SJSU -- CMPE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room.
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.
©Silberschatz, Korth and Sudarshan8.1Database System Concepts Chapter 8: Object-Oriented Databases Need for Complex Data Types The Object-Oriented Data.
Object Oriented System Development with VB .NET
Chapter 14 (Web): Object-Oriented Data Modeling
Object-Oriented Databases
Database Systems: Design, Implementation, & Management, 5 th Edition, Rob & Coronel 1 Data Models: Degrees of Data Abstraction l Modified ANSI/SPARC Framework.
Chapter 4 Entity Relationship (E-R) Modeling
Object Oriented Concepts. Movement toward Objects Instead of data-oriented or process-oriented Analysis, many firms are now moving to object-oriented.
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
Chapter 14: Object-Oriented Data Modeling
EER vs. UML Terminology EER Diagram Entity Type Entity Attribute
Entity-Relationship Design
Introduction To System Analysis and design
DeSiamorewww.desiamore.com/ifm1 Database Management Systems (DBMS)  B. Computer Science and BSc IT Year 1.
Chapter 13 (Online): Object-Oriented Databases
1. 2 Data Modeling 3 Process of creating a logical representation of the structure of the database The most important task in database development E-R.
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.
OBJECT AND CLASES: THE BASIC CONCEPTS Pertemuan 8 Matakuliah: Konsep object-oriented Tahun: 2009.
OBJECT ORIENTED PROGRAMMING CONCEPTS ISC 560. Object-oriented Concepts  Objects – things names with nouns  Classes – classifications (groups) of similar.
CONCEPTS OF OBJECT ORIENTED PROGRAMMING. Topics To Be Discussed………………………. Objects Classes Data Abstraction and Encapsulation Inheritance Polymorphism.
Geog 495 GIS Database Design Midterm review. Outlines 1.Database Concepts 2.Relational Database 3.Object-oriented Database 4.Entity-Relationship Diagram.
Database Design - Lecture 2
1 ER Modeling BUAD/American University Entity Relationship (ER) Modeling.
Object Orientation and Its Benefits
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 13 (ONLINE): OBJECT-ORIENTED DATA MODELING © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database Management 11 th Edition.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
Basic OOP Concepts and Terms. In this class, we will cover: Objects and examples of different object types Classes and how they relate to objects Object.
DeSiamorePowered by DeSiaMore1 Database Management Systems (DBMS)  B. Computer Science and BSc IT Year 1.
Chapter 7 Data Modeling with Entity Relationship Diagrams
Msigwaemhttp//:msigwaem.ueuo.com/1 Database Management Systems (DBMS)  B. Computer Science and BSc IT Year 1.
1 A Demo of Logical Database Design. 2 Aim of the demo To develop an understanding of the logical view of data and the importance of the relational model.
Chapter 6 Introduction to Defining Classes. Objectives: Design and implement a simple class from user requirements. Organize a program in terms of a view.
Object Oriented Analysis: Associations. 2 Object Oriented Modeling BUAD/American University Class Relationships u Classes have relationships between each.
ITEC 3220A Using and Designing Database Systems Instructor: Gordon Turpin Course Website: Office: CSEB3020.
CSC 131 Fall 2006 Lecture # 6 Object-Oriented Concepts.
Object Oriented Database By Ashish Kaul References from Professor Lee’s presentations and the Web.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
Database Design – Lecture 12 Object Oriented Database Design cont’d.
Information Access Mgt09/12/971 Entity-Relationship Design Information Level Design.
DatabaseIM ISU1 Fundamentals of Database Systems Chapter 3 Data Modeling Using Entity-Relationship Model.
Chapter 4 Basic Object-Oriented Concepts. Chapter 4 Objectives Class vs. Object Attributes of a class Object relationships Class Methods (Operations)
Chapter 3: Modeling Data in the Organization. Business Rules Statements that define or constrain some aspect of the business Assert business structure.
Entity Relationship Diagram (ERD). Objectives Define terms related to entity relationship modeling, including entity, entity instance, attribute, relationship.
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.
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.
ENTITY RELATIONSHIP DIAGRAM. Objectives Define terms related to entity relationship modeling, including entity, entity instances, attribute, relationship.
Lecture # 14 Chapter # 5 The Relational Data Model and Relational Database Constraints Database Systems.
Object-oriented programming (OOP) is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their.
Entity Relationship (E-R) Model
DATA MODELING AND DATABASE DESIGN
Database Development Lifecycle
Object-Oriented Database Management System (ODBMS)
Tables and Their Characteristics
Lec 3: Object-Oriented Data Modeling
Systems Analysis – ITEC 3155 Modeling System Requirements – Part 2
ITEC 3220A Using and Designing Database Systems
Basic OOP Concepts and Terms
DATA MODELING AND DATABASE DESIGN
Chapter 20 Object-Oriented Concepts and Principles
Presentation transcript:

ITEC 3220A Using and Designing Database Systems Instructor: Prof Z. Yang Course Website: a.htm a.htm Office: TEL 3049

Object-Oriented Database

3 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

4 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 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

5 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

6 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

7 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

8 Classes Collection of similar objects with shared structure (attributes) and behavior (methods) Class instance or object instance –Each object in a class

9 Object Characteristics

10 Class Hierarchy Superclass Subclass Class lattice

11 Inheritance Ability of object to inherit the data structure and behavior of classes above it Single inheritance –Class has one immediate superclass

12 Inheritance (Cont’d.) Multiple –Class has more than one immediate superclass

13 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

14 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 Associative object

15 OO vs. E-R Model Components

16 Class-Subclass Relationship

17 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:1 1:M M:N M:N with an Intersection Class Interobject Relationships

18 1:1 and 1:M Relationships

19 Employee-Dependent Relationship

20 Representing the M:N Relationship

21 Representing the M:N Relationship with Associated Attributes

22 Representing the M:N Relationship with Intersection Class

23 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 Late and Early Binding

24 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 OODM vs. E-R Data Models

25 Object ID –Not supported in relational models Relationships –OODM Interclass references Class hierarchy inheritance –Relational models Value-based approach OODM vs. E-R Data Models (Cont’d) Access –Relational models SQL –OODM Navigational Set-oriented access

26 Example Using the following ERD to create the equivalent OO representations. Item_ID USER User_ID Checkout ITEM

27 More Example Assume the following business rules: A course contains many sections, but each section has only one course A section is taught by one professor, but each professor may teach one or more different sections of one or more course A section may contain many students, and each student is enrolled in many sections, but each section belongs to a different course. (Students my 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 several different sections of one or more courses A professor advises many students, but a student has only one advisor

28 More Example (Cont’d) Identify and describe the main classes of objects Modify your description in part 1 to include the use of abstract types such as Name, DOB, and Address Create the conceptual OO representations

29 More Example on OO Database Using intersection class to represent the following relationship

30 OO Design Example Design OO conceptual representations for an engineering company, using the following requirements: A customer has a customer identifier. Other important attributes of each customer include name and address. They can request any number of work orders from the company. The company maintains a list of materials. The data about materials include a material identifier, a name and cost. A work order has a work order number, a creation date, a completion date, a work address and a set of (one or more) tasks. In addition, each work order has one optional supervising employee. Each employee has a number assigned by the company. Other important attributes of each employee include name and skill. Each work order also has a collection of materials. The same material can be used by any number of work orders. Material requirement includes material quantity. Each task has a task identifier, a task name, an hourly rate and estimated hours. Tasks are standardized across work orders so that the same task may be performed on many work orders. We have to keep record of actual hours of each task on a work order.