Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Concurrency control wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Clusterpoint wikipedia , lookup
Relational model wikipedia , lookup
Definition Object-Oriented Concept • Object • Class & Encapsulation • Inheritance & Polymorphism Advantages & Disadvantage Example Conclusion The combination of “object-oriented programming principles” with “database management principles” Not a new concept, it started in the mid1970s Some ODBMS are multimedia databases that include graphics, audio, information and animation. Database that stores data elements as objects. Uses object-oriented concepts. › Object - an instance of a data type Typical Applications for ODBMS › Computer-aided design (CAD) › Computer-aided software engineering (CASE) › Multimedia databases (video, image, game, etc.) › Office automation system (OIS) › Expert database system ODBMS › Application and data use the same OO model › Uses persistent programming languages Application ODB Directly manipulate persistent data in a database Persistent data exists after the program terminates No translation from database to application programming is needed RDBMS- extended to use OO concepts › Database is relational › Programming language is OO Application Translation RDB An entity contains 1) Attributes- atomic or structured type 2) Relationshipsreference to an object or set of such objects 3) Methodsbehavior of the object Student SID: double Variables Name:String Major:String Schedule:String … getSID() Methods getName() setName() … Relationships Encapsulation- hide the abstract data type internal (user only need to know the available method & how to call them) Polymorphism- a property that allows methods in different classes to respond to the same message signature. (dynamic binding, etc..) Inheritance- a class can inherit the characteristics of anther class. The original class is called base class or super and the new class is called derived class or subclass Multiple inheritance- inherit from more than one superclass Selective inheritance- inherit only some of the properties of a superclass ODBMS RDBMS Unique identification of objects is done behind the scenes (invisible to user) User has to worry about two tuples have the same primary key values to avoid error conditions Data model is used to model entities and their relationships, constraints and operations can dynamically change the states of the data in the system ER diagram is used model the static parts of system and separate model for the operations and behaviors of entities in the application Query language is unnecessary for accessing data (still possible to use queries) Query language is necessary for accessing data Manage complex data more efficiently (large class can hold many medium classes which themselves hold many smaller classes) Object model the real world better than the relational tuples Manage complex data inefficiently (has lots of smaller tables and join them via foreign keys, which is still a problem since query database on “Has-a” relationship between entities) Still under-construction › Lack of standards › Lack of development tools › Lack of support for views › Lack of support for security More complicated than RDBMS takes longer to learn Inefficient when managing simple data and relations Popular query language that has the similar syntax SQL An extension of SQL, it has select, from, and where clauses The extensions are accommodate the properties of objects and the operators on complex objects Example of accessing data in ODMB using ODMG & OQL 1) OJB.getInstance() returns a 2) 3) 4) 5) 6) 7) org.odmg.Implementation instance Create a new Database Instance Opens an ODMB Database (read-only or write-only mode) Create a query instance Specify the query statement Execute the query A list of results is returned ODBMS can store, manage and maintain multimedia & business object, that can be done required less code, reuse code, easy to maintain. ODBMS manage the complex of interrelationships between objects more efficiently than RDBMS Although there are many advantages of ODBMS but there are also problems: What is wrong with ODBMS? › › › › Vendors don’t support ODBMS standard Only 1 vendor is currently supporting OQL Difficult to perform ad hoc queries Relationships among objects use object identifiers and must be explicitly designed QUESTION??? THE END…