300 likes | 442 Views
Object - Oriented Databases Group # 8. Brian Williams – Overview & Key Issues S. Ann Meadows – OO vs. ER/EER David Martin – OO Data Modeling with UML Duane Michaud – Advantages/Disadvantages Jeffrey Mersch – Real life applications. Overview of topics to cover.
E N D
Object - Oriented DatabasesGroup # 8 Brian Williams – Overview & Key Issues S. Ann Meadows – OO vs. ER/EER David Martin – OO Data Modeling with UML Duane Michaud – Advantages/Disadvantages Jeffrey Mersch – Real life applications
Overview of topics to cover • Object-Oriented databases and database modeling seeks to interpret and implement database management in a more natural context. • Seeking to representing data, along with processes, within a real world implementation, OODBs present data modeling as high-level conceptual activity. Group #8 - OODBs
Key Issues: • Data Modeling (Design) • Object • Object Diagram • State • Behavior • The object contains the operations it can perform on itself or others • Class (Object Class) • Class Diagram Group #8 - OODBs
Key Issues: • Associations (Relationships) • Relates instances of object classes • Similar degrees of association (unary, binary, ternary, etc) • Association Roles • Multiplicity • Association Class Group #8 - OODBs
Key Issues: • Generalization / Inheritance • Generalizations • Abstract the operations as well as attributes • Inheritance • Abstract Classes • Concrete Classes • Multiple Classification Group #8 - OODBs
Key Issues: • Special topics in Inheritance • Polymorphism • Applying the same operation in different ways. • Overriding • Replacing a method inherited from a super class by more specific implementation Group #8 - OODBs
Objects in OODBs • Object: An entity that has a well-defined role in the application domain as well as state, behavior, and identity. • State: Encompasses an object's properties (attributes and relationships) and the values those properties have. • Behavior: Represents how an object acts and reacts. • Identity: Every object has a unique identity, even if all of its attribute values are the same. Group #8 - OODBs
Object-Oriented Class A class is a type and a collection of objects of that type. classes group objects with methods or operations. ER/EER Entity Type A collection of entities that share common properties or characteristics. How can we understand OODBs by comparing it to what we already know about Databases? Group #8 - OODBs
Object-Oriented Object An entity that has a well-defined role in the application domain as well as state, behavior, and identity. Objects inherit characteristics and abilities as a result of their membership in a class. ER/EER Entity instance A single occurrence of an entity type. How can we understand OODBs by comparing it to what we already know about Databases? Group #8 - OODBs
Object-Oriented Association A relationship between object classes. ER/EER Relationship A named two-dimensional table of data. How can we understand OODBs by comparing it to what we already know about Databases? Group #8 - OODBs
Object-Oriented Inheritance of attributes same ER/EER Inheritance of attributes same How can we understand OODBs by comparing it to what we already know about Databases? Group #8 - OODBs
The Difference between an Object and an Entity • The difference is that an Object exhibits BEHAVIOR as well as attributes. • Behavior: how an object acts and reacts. • Behavior is expressed through operations that can be performed on it. • Operation : A function or a service that is provided by all the instances of a class. Group #8 - OODBs
How is the object-oriented model different from the ER and EER models? • Unlike the object-oriented model, the ER and EER models do not let you capture processes; they only allow you to model the data needs of an organization. • The object-oriented model also supports aggregation, while the ER and EER models do not. • Aggregation : The process of transforming data from a detailed to a summary level. A part-of relationship between a component object and an aggregate object. Group #8 - OODBs
How do we model anobject-oriented database? • Unified Modeling Language (UML) • "a language for specifying, visualizing, and constructing the artifacts of software systems, as well as for business modeling" (UML Document Set, 1997) • UML is much more than an object oriented version of EER diagrams. UML is designed to represent complex systems. Database systems are usually part of an overall system. • UML notation is useful for graphically depicting an object-oriented database. Group #8 - OODBs
Object-Oriented Data Modeling • Class diagram • Shows the static structure of an object-oriented model. It is divided into three parts and shows the class name at the top, common attributes in the middle, and common behavior at the bottom. • Object Diagram • A set of objects that share a common structure and a common behavior. Group #8 - OODBs
Object-Oriented Data Modeling • Four generic types of operations: • Constructors create new instances of a class. For example there might be a create-student operation in the Student class that creates a new student object. • Queries are read-only operations that access the current state of an object. • Update operations change the state of an object, like register-for(course). • Scope operations apply to a class rather than an object instance. For example, avg_gpa could calculate the average gpa for all student objects. Group #8 - OODBs
Object-Oriented Data ModelingAggregation Group #8 - OODBs
Shared attributes and operations An employee may be none of them. Specialized attributes and operations Object-Oriented Data ModelingGeneralizations, Inheritance, and Constraints Group #8 - OODBs
Object-Oriented Data ModelingPolymorphism, abstract operation, class-scope attribute, and ordering This operation is abstract…it has no method at Student level Class-scope attributes – only one value common to all instances of these classes Group #8 - OODBs
Future of OODBS • Object-Oriented Databases were speculated one day to replace most Relational Database Management systems. • While they are not there yet, Michael Stonebraker of Informix predicts that OODBMS’s will corner the market within 5 years. • Let’s take a look at why OO database management is predicted by many to overtake the traditional relational database management. Group #8 - OODBs
Advantages of OODBMS • Designers have added object oriented capabilities to the RDBMS model. • OODBMS’s are better equipped to handle multimedia in an internet environment. • OODBMS’s feature a compatibility with intranet settings, which have experienced a rise in the last few years. (RDBMS systems historically have operated mostly on client-server networks) • OODBMS’s are very useful for CAD (computer aided design) and telecommunications. Group #8 - OODBs
OO’s Advantages & Disadvantages It’s not hard to see why many are encouraged by the bright future and potential of the Object-Oriented Database management system model. However, there have been some issues that have prevented it from achieving the early success that many had foreseen. Let’s have a look at some unresolved issues that worry some database users. Group #8 - OODBs
Problems and Disadvantages • Relational Database supporters have developed and can use the Object-relational database management system that implements OO concepts as well to enable it to handle myriad types of data. • In many situations, Relational databases outperform OO databases in data retrieval by implementing optimizers. • A lack of standardization has plagued the relatively new OODBMS model. While every RDBMS adheres to the SQL standards, some OODBMS developed the OQL (object query language) but relatively few adhere to it. • Perhaps the biggest disadvantage is the lack of financial incentive for many companies and clients to change to the OODBMS. Though it often outperforms it’s ancestor the RDBMS, many companies are not yet ready to dump their old systems. The OODBMS finds most of it’s usage in newer “niche” marketplaces. Group #8 - OODBs
Object Oriented Database Use Today • Rational databases are still by far the most widely used databases. • Object-relational database-management systems are gaining in popularity and are expected to outsell even relational databases by 2003. • Object oriented databases are still minor players with solid markets. • Object oriented databases are used in areas like CAD (computer-aided design) and telecommunications. Group #8 - OODBs
Object Oriented Database Use Today • Companies in London like J. P. Morgan, Chase [Manhattan], and Citibank are using ODBMS technologies in modeling financial instruments such as derivatives and bonds. • Object oriented provides mechanisms such as inheritance for modeling new instruments quickly and easily, which helps companies get products to market quickly. • British Telecommunications (BT) uses the Versant ODBMS. • Radio Computing Services is the world’s largest radio software company uses the POET ODBMS because it integrates and organize various elements, regardless of data types, in a single program environment. Group #8 - OODBs
Object Oriented Database Use Today • The Objectivity/DB ODBMS is used by Stanford Linear Accelerator Center. • The Object Store ODBMS is used in Southwest Airline’s Home Gate to provide self service to travelers through the Internet. • West McLaren Mercedes, developer of the MP4/13 Formula One racing car, is using Computer Associates’ Jasmine ODBMS to enable its engineers to effectively monitor and track its Formula One car’s performance. Group #8 - OODBs
TEST QUESTIONS • In OODBS, what is a class? • It is a class is a type and a collection of objects of that type. • In OODBS, what is an object? • An object is an entity that has a well-defined role in the application domain as well as state, behavior, and identity. Group #8 - OODBs
Supplemental Study Guide • http://www.geocities.com/ann_6cats/cgs2545chapter14.htm#A Group #8 - OODBs
References • Modern Databases Management 6th Edition • http://lwi2.wiwi.uni-frankfurt.de/praxis/vortraege/21_12_2000/Oodbs.pdf • http://www.clis2.umd.edu/courses/208b/spring00/208s0012.ppt • http://myphlip1.pearsoncmg.com/phlip/mpchapter.cfm?vbcid=4202&vsubmit=Go • http://www.leavcom.com (Leavitt Communications) • http://www.leavcom.com/db_08_00.htm • http://www.service-architecture.com/object-oriented-databases Group #8 - OODBs