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 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. Brian, Ann, David, Duane, Jeffrey Group #8 - OODBs 2 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 Brian, Ann, David, Duane, Jeffrey Group #8 - OODBs 3 Key Issues: Associations (Relationships) Relates instances of object classes Similar degrees of association (unary, binary, ternary, etc) Association Roles Multiplicity Association Class Brian, Ann, David, Duane, Jeffrey Group #8 - OODBs 4 Key Issues: Generalization / Inheritance Generalizations Abstract the operations as well as attributes Inheritance Abstract Classes Concrete Classes Multiple Classification Brian, Ann, David, Duane, Jeffrey Group #8 - OODBs 5 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 Brian, Ann, David, Duane, Jeffrey Group #8 - OODBs 6 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. Brian, Ann, David, Duane, Jeffrey Group #8 - OODBs 7 How can we understand OODBs by comparing it to what we already know about Databases? ER/EER Entity Type Object-Oriented Class A collection of entities that share common properties or characteristics. Brian, Ann, David, Duane, Jeffrey A class is a type and a collection of objects of that type. classes group objects with methods or operations. Group #8 - OODBs 8 How can we understand OODBs by comparing it to what we already know about Databases? ER/EER Entity instance Object-Oriented Object An entity that has a welldefined role in the application domain as well as state, behavior, and identity. A single occurrence of an entity type. Objects inherit characteristics and abilities as a result of their membership in a class. Brian, Ann, David, Duane, Jeffrey Group #8 - OODBs 9 How can we understand OODBs by comparing it to what we already know about Databases? ER/EER Relationship Object-Oriented Association A named twodimensional table of data. Brian, Ann, David, Duane, Jeffrey A relationship between object classes. Group #8 - OODBs 10 How can we understand OODBs by comparing it to what we already know about Databases? ER/EER Object-Oriented Inheritance of attributes same Brian, Ann, David, Duane, Jeffrey Inheritance of attributes same Group #8 - OODBs 11 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. Brian, Ann, David, Duane, Jeffrey Group #8 - OODBs 12 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. Brian, Ann, David, Duane, Jeffrey Group #8 - OODBs 13 How do we model an object-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. Brian, Ann, David, Duane, Jeffrey Group #8 - OODBs 14 Object-Oriented Data Modeling Class diagram Shows the static structure of an objectoriented 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. Brian, Ann, David, Duane, Jeffrey Group #8 - OODBs 15 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. Brian, Ann, David, Duane, Jeffrey Group #8 - OODBs 16 Object-Oriented Data Modeling Aggregation Brian, Ann, David, Duane, Jeffrey Group #8 - OODBs 17 Object-Oriented Data Modeling Generalizations, Inheritance, and Constraints An employee may be none of them. Shared attributes and operations Specialized attributes and operations Brian, Ann, David, Duane, Jeffrey Group #8 - OODBs 18 Object-Oriented Data Modeling Polymorphism, 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 Brian, Ann, David, Duane, Jeffrey Group #8 - OODBs 19 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. Brian, Ann, David, Duane, Jeffrey Group #8 - OODBs 20 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. Brian, Ann, David, Duane, Jeffrey Group #8 - OODBs 21 OO’s Advantages & Disadvantages It’s not hard to see why many are encouraged by the bright future and potential of the ObjectOriented 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. Brian, Ann, David, Duane, Jeffrey Group #8 - OODBs 22 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. Brian, Ann, David, Duane, Jeffrey Group #8 - OODBs 23 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. Brian, Ann, David, Duane, Jeffrey Group #8 - OODBs 24 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. Brian, Ann, David, Duane, Jeffrey Group #8 - OODBs 25 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. Brian, Ann, David, Duane, Jeffrey Group #8 - OODBs 26 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. Brian, Ann, David, Duane, Jeffrey Group #8 - OODBs 27 Supplemental Study Guide http://www.geocities.com/ann_6cats/cgs2545chapter14.htm#A Brian, Ann, David, Duane, Jeffrey Group #8 - OODBs 28 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 Brian, Ann, David, Duane, Jeffrey Group #8 - OODBs 29