K.Subieta. Introduction to Object Database Systems, Slide 1 3rd Country Conference, Feb.2007 Introduction to Object- Oriented Databases by Prof. Kazimierz.

Slides:



Advertisements
Similar presentations
OO databases 1 Object Oriented databases. OO databases 2 Developing OODBMS - motivation motivation more and more application areas require systems that.
Advertisements

Chapter 10: Designing Databases
Database System Concepts and Architecture
ODMG Standard: Object Model1 OBJECT-ORIENTED DATABASE SYSTEMS ODMG Standard: Object Model Susan D. Urban and Suzanne W. Dietrich Department of Computer.
ICS (072)Database Systems: A Review1 Database Systems: A Review Dr. Muhammad Shafique.
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
Geographic Information Systems
Object-Oriented Databases
1 9 Concepts of Database Management, 4 th Edition, Pratt & Adamski Chapter 9 Database Management Approaches.
Fundamentals, Design, and Implementation, 9/e Chapter 16 Object-Oriented Database Processing.
The University of Akron Dept of Business Technology Computer Information Systems Database Management Approaches 2440: 180 Database Concepts Instructor:
Object Oriented Databases - Overview
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 18 Object Database Management Systems.
Object-Oriented Methods: Database Technology An introduction.
RIZWAN REHMAN, CCS, DU. Advantages of ORDBMSs  The main advantages of extending the relational data model come from reuse and sharing.  Reuse comes.
Database Management COP4540, SCS, FIU An Introduction to database system.
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
2 1 Chapter 2 Data Model Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
Concepts of Database Management, Fifth Edition
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
CSC2012 Database Technology & CSC2513 Database Systems.
DBSQL 10-1 Copyright © Genetic Computer School 2009 Chapter 10 Object-Oriented Based DBMS.
K.Subieta. PJIIT 2 OMG, slide 1 Dec Presentation by: Prof. Kazimierz Subieta Polish-Japanese Institute of Information Technology, Warsaw, PolandPolish-Japanese.
DBMS Lecture 9  Object Database Management Group –12 Rules for an OODBMS –Components of the ODMG standard  OODBMS Object Model Schema  OO Data Model.
Limitations of the relational model. Just as the relational model supplanted the network and hierarchical model so too will the object – orientated model.
11 1 Object oriented DB (not in book) Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Learning objectives: What.
1 CS 430 Database Theory Winter 2005 Lecture 1: Introduction.
Database Design - Lecture 2
1 Introduction to Database Systems. 2 Database and Database System / A database is a shared collection of logically related data designed to meet the.
CHAPTER 14 USING RELATIONAL DATABASES TO PROVIDE OBJECT PERSISTENCE (ONLINE) © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database.
K.Subieta. SBA and SBQL, slide 1 June 2007 Stack-Based Approach and Stack-Based Query Language - Overview Presentation prepared for the OMG Analysis &
Fundamentals of Database Chapter 7 Database Technologies.
SOFSEM-SRF 2006, January 21-26, Merin, Czech Republic R. Adamus,K. Kuliberda, J. Wislicki, K. Subieta Wrapping Relational Data Structures to Object-Oriented.
3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 1 February 20, 2004 Lecture 3: Introduction to Software Analysis and.
Object_Oriented Databases, by Dr. Khalil 1 Object-Oriented DBMSs Dr. Awad Khalil Computer Science Department AUC.
11 1 Chapter 11 Object Oriented Databases Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
1 CS 430 Database Theory Winter 2005 Lecture 17: Objects, XML, and DBMSs.
Information System Development Courses Figure: ISD Course Structure.
K.Subieta. ODB Semantics: SBA, slide 1 December 2007 Object Database Semantics: the Stack-Based Architecture Presentation prepared for Object Database.
Chapter 18 Object Database Management Systems. McGraw-Hill/Irwin © 2004 The McGraw-Hill Companies, Inc. All rights reserved. Outline Motivation for object.
ICS (072)Database Systems: An Introduction & Review 1 ICS 424 Advanced Database Systems Dr. Muhammad Shafique.
Lesson Overview 3.1 Components of the DBMS 3.1 Components of the DBMS 3.2 Components of The Database Application 3.2 Components of The Database Application.
1 CS 430 Database Theory Winter 2005 Lecture 2: General Concepts.
Database Environment Chapter 2. Data Independence Sometimes the way data are physically organized depends on the requirements of the application. Result:
1 CS457 Object-Oriented Databases Chapters as reference.
Creating and Maintaining Geographic Databases. Outline Definitions Characteristics of DBMS Types of database Relational model SQL Spatial databases.
1 Chapter 1 Introduction to Databases Transparencies.
OODBMS: Introduction and Logical Database Design
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Object storage and object interoperability
K.Subieta. SBA & SBQL, slide 1 March 2008 Stack-Based Architecture and Stack-Based Query Language Presentation prepared for 1 st International Conference.
Jemerson Pedernal IT 2.1 FUNDAMENTALS OF DATABASE APPLICATIONS by PEDERNAL, JEMERSON G. [BS-Computer Science] Palawan State University Computer Network.
Chapter 18 Object Database Management Systems. Outline Motivation for object database management Object-oriented principles Architectures for object database.
The Object-Oriented Database System Manifesto Malcolm Atkinson, François Bancilhon, David deWitt, Klaus Dittrich, David Maier, Stanley Zdonik DOOD'89,
November 2001, Slide 1 P.Habela, K.Subieta: Standard Metamodel for Object Databases (2) Standard Metamodel for Object Databases (2): Proposed Improvements.
TTCN-3 Testing and Test Control Notation Version 3.
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.
Completeness Criteria for Object- Relational Database Systems by Won Kim April 2002 Sang Ho Lee School of Computing, Soongsil University
Data Resource Management Data Concepts Database Management Types of Databases Chapter 5 McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies,
Managing Data Resources File Organization and databases for business information systems.
Databases (CS507) CHAPTER 2.
An Introduction to database system
Database Management System
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Analysis models and design models
Presentation transcript:

K.Subieta. Introduction to Object Database Systems, Slide 1 3rd Country Conference, Feb.2007 Introduction to Object- Oriented Databases by Prof. Kazimierz Subieta 3rd Country Conference, February 2007

K.Subieta. Introduction to Object Database Systems, Slide 2 3rd Country Conference, Feb.2007 Topics Why object-oriented databases? Why relational and object-relational databases are not enough? Current major activities concerning object-oriented databases. Basic concepts of object-oriented databases. PJIIT projects on object-oriented databases.

K.Subieta. Introduction to Object Database Systems, Slide 3 3rd Country Conference, Feb.2007 Why object-orientation in databases? Object databases consist of objects rather than relations, tables or other data structures. What is object? “Object” is a kind of idiom or metaphor that addresses the human psychology and the way humans perceive the real world and think. Millions years of the evolution have created in our minds mechanisms enabling us to isolate objects in our environment, to name them, and to assign to them some properties and behaviour. Object-orientedness in computer technologies is founded on inborn mechanisms of our minds.

K.Subieta. Introduction to Object Database Systems, Slide 4 3rd Country Conference, Feb.2007 Why is object-orientation important? The software manufacturing problems: –Growing cost of software design, development and deployment, –The problem with “legacy” (obsolete) software, –Big risk of unsuccessful projects, –Immature methods of software design and construction, –Poor reliability, problems with security –Integration of distributed, heterogeneous, redundant and fragmented data and service resources, –Very high cost of software maintenance. The main factor of the software problems: Complexity Object-orientation in new hope in fight with complexity.

K.Subieta. Introduction to Object Database Systems, Slide 5 3rd Country Conference, Feb.2007 Factors of the software complexity

K.Subieta. Introduction to Object Database Systems, Slide 6 3rd Country Conference, Feb.2007 Conceptual modeling of software Processes of the software constructions are performed in our minds. People must clearly imagine the problem before solving it. Software analysis and design tools are nowadays object-oriented as a rule, c.f. UML. Object-orientation reduces the complexity of the mappings: - between the human perception of the problem domain and an abstract model - between the abstract object-oriented model and databases → object databases Human perception of the problem domain Abstract conceptual model of the problem domain Programmer’s view of data structures and operations... mapping *

K.Subieta. Introduction to Object Database Systems, Slide 7 3rd Country Conference, Feb.2007 Why relational and object-relational databases are not enough? Relational databases are currently the most popular –It is unlikely that they will loose soon their dominant position However, relational databases imply severe impedance mismatch between object-oriented design and relational data structures –The mapping is difficult, software production cost is higher, –Performance frequently compromised, maintenance cost too high. The relational model and the object model are fundamentally different, and the integrating the two is not straightforward Object-relational wave disappointed: –Almost nobody uses object-oriented extensions of relational systems (see the famous interview with David Maier) –They are not supported by standards, tools and API-s –New SQL standards aiming the object-relational model are unsuccessful.

K.Subieta. Introduction to Object Database Systems, Slide 8 3rd Country Conference, Feb.2007 Major activities concerning object-oriented databases Commercial OO DBMS (ca. 5% of the database market) –Limited functionalities in comparison to RDBMS –Objectivity/DB, GemStone, Object Store, Versant, Ontos, db4o,… Object Data Management Group (ODMG) standard –Low technical quality, inconsistent, incomplete, no full implementation –However, showing the direction. New standards SQL-99 and SQL 2003 –Extremely huge and eclectic, too many redundant options, extremely difficult to implement, –Loose recommendation rather than strong technical specification. OMG MDA / OCL / QVT /Action Semantics –Actually, proposed as a support for UML specification, not databases –Suggestions that can be used as query/programming languages are to be checked. Java and.NET persistence layers, Hibernate, LINQ, native queries XML repositories and query languages. New (pending) OMG standard on object-oriented databases. A lot of academic projects, in particular, our ODRA project.

K.Subieta. Introduction to Object Database Systems, Slide 9 3rd Country Conference, Feb.2007 General capabilities of object databases Traditional capabilities (from relational systems): New features: è Secondary storage management è Schema management è Concurrency control è Transaction management, recovery è Query processing è Access authorization and control, safety, security è Complex objects è Object identities è User-defined types è Encapsulation è Type/class hierarchy with inheritance è Overloading, overriding, late binding, polymorphism è Computational and pragmatic completeness of programmers’ interfaces

K.Subieta. Introduction to Object Database Systems, Slide 10 3rd Country Conference, Feb.2007 Object database concepts (1) Complex objects, object identity. Objects have arbitrary complexity. Each object has identity, i.e. a unique internal identitifier (OID) (with no meaning in the problem domain), and Each object has one or more external names. Relationships, associations, links. Objects are connected by conceptual links. For instance, the Employee and Department objects can be connected by a link worksFor. Encapsulation and information hiding. The internal properties of an object are subdivided into two parts: public and private (invisible from the outside). Classes, types, interfaces. Each object is an instance of one or more classes. Objects are instantiated according to information presented in the class. The class contains the properties that are common for some collection of objects (objects’ invariants). Each object has a type. Objects are accessible via their interfaces.

K.Subieta. Introduction to Object Database Systems, Slide 11 3rd Country Conference, Feb.2007 Object database concepts (2) Abstract data types (ADTs): a kind of a class, which assumes that any access to an object is limited to the predefined collection of operations. Operations, methods and messages. An object is associated with a set of operations (methods). The object performs the operation after receiving a message with the name of operation to be performed (and its parameters). Inheritance. Classes are organized in a hierarchy reflecting the hierarchy of real world concepts. For instance, the class Person is a superclass of the classes Employee and Student. Polymorphism, late binding, overriding. The operation to be executed on an object is chosen dynamically, after the object receives the message with the operation name. Persistence. Database objects are persistent, i.e., they live as long as necessary. They can outlive programs, which created them.

K.Subieta. Introduction to Object Database Systems, Slide 12 3rd Country Conference, Feb.2007 Architecture of an Object-Oriented DBMS Executable program Transaction processing, log management, rollback, recovery, authorization, security Data/Objects Views Rules Query optimization and processing Database resources IndicesCatalogs 4GL/RAD environment Source program in 4GL/RAD Processor of ad hoc queries Facilities Preprocessor Compiler Source program in C++, Java, etc. Object code modules Linker Class library, run- time modules of the prog. lang. Class library, run- time modules of OODBMS

K.Subieta. Introduction to Object Database Systems, Slide 13 3rd Country Conference, Feb.2007 Traditional and object-oriented application The traditional structure of an application... Types Procedure and function libraries Application modules Dictionaries, catalogs Database procedures, views, rules Possive data (relations) Linked objects Classes and types... The object-oriented structure of an application... Application modules Dictionaries, catalogs Database procedures, views, rules Database schema Database schema Procedure and function libraries

K.Subieta. Introduction to Object Database Systems, Slide 14 3rd Country Conference, Feb.2007 Object Data Management Group (ODMG) A group of startup companies who thought that traditional standard-making processes were slow and cumbersome. The idea of this activity is taken from the group OMG developing the standard CORBA. ODMG developed four versions of the standard (last ODMG 3.0, 2000). The standard has a lot of drawbacks. It is probably too early and immature. The standard already plays an important role of integrating research and development efforts devoted to object bases. Many projects both in industry and academia are going along the lines that were determined by the standard.

K.Subieta. Introduction to Object Database Systems, Slide 15 3rd Country Conference, Feb.2007 ODMG Standard: the content Object Model. It determines the meaning of basic concepts of object-oriented data structures, such as: objects, attributes, relationships, collections, interfaces, operations, inheritance, and others. Object Definition Language (ODL). It is an extension of CORBA IDL. ODL is used to determine the structure of a database, i.e., a database schema. Object Interchange Format. It determines the representation of objects for exchanging them between different OODBMS. Object Query Language (OQL). OQL retains some syntax of SQL. Semantically, OQL is very different from SQL. OQL is intended to retrieve data from an object base. Bindings to programming languages C++, Smaltalk and Java. They determine principles of including ODL and OQL statements into the mentioned languages. The bindings define many classes, allowing to access and process an object base directly from one of these languages.

K.Subieta. Introduction to Object Database Systems, Slide 16 3rd Country Conference, Feb.2007 Pure Object-Oriented DBMS (OODBMS) They provide traditional database functionality (e.g. persistence, distribution, integrity, concurrency and recovery), but are based on the object model. They totally abandon the relational model. They are (somehow) related to the ODMG standard. They are well suited for handling complex, highly interrelated data, particularly in cross-platform and distributed environment. Some benchmarks show that performance of pure OODBMS is much better than RDBMS. So far, however, pure OODBMS have marketing disadvantages, which reduce their wide acceptance: maturity of technology stability of vendors size of companies...

K.Subieta. Introduction to Object Database Systems, Slide 17 3rd Country Conference, Feb.2007 Object-Relational DBMS (ORDBMS) ORDBMS are based on the idea that the relational model and SQL implemented in the majority of RDBMS should be extended. A database still consists of a set of tables. A number of object features are provided as an extension to this core relational model (multi-row tables, references between rows, inheritance between tables, etc.). No standards: they exclude portability and even a common conceptual and didactic basis. Informix Dynamic Server (formerly Illustra, Informix Universal Server), IBM’s DB2 Universal Database, Oracle-10, UniSQL/X, OSMOS, Ingres II, Sybase Adaptive Server,...

K.Subieta. Introduction to Object Database Systems, Slide 18 3rd Country Conference, Feb.2007 SQL-99 (aka SQL-3) A new SQL standard developed by ANSI and ISO. SQL-99 is assumed to be a programming language with full computational and pragmatic power. The main data structure is the table, equipped with a lot of options. SQL-99 supports user-defined abstract data types (ADTs), including methods, object identifiers, subtypes, inheritance and polymorphism. Some enhancements are introduced to statements defining tables, in particular, types of rows, row identifiers, and (specific) inheritance between rows. Control statements, parameterized types, programming abstractions. A lot of other features SQL-99 is downward compatible with SQL-92 Little care about minimality, non-redundancy and clean separation between primary (built-in), secondary (add-on, library) and external features. Extremely huge and eclectic ( pages). There are doubts if it will ever be entirely implemented.

K.Subieta. Introduction to Object Database Systems, Slide 19 3rd Country Conference, Feb.2007 Query languages The commercial success of relational database systems to a big extent has been amplified by the idea of query languages. SQL, the most representative language, has various applications. “Impedance mismatch”: clumsy programmers’ options due to embedding of a query language into a programming language. The advent of pure OO DBMS caused a lot of confusion concerning query languages for this sort of systems: e.g. “impossible to define”, “impossible to create a consistent theory”. Query languages can be defined for OO DBMS. New powerful idea: the Stack-Based Approach (SBA) Stack-Based Query Language (SBQL) – a powerful query and programming language for OO databases - is proposed as a new OMG standard. –Looking for supporters and a lot of good luck.

K.Subieta. Introduction to Object Database Systems, Slide 20 3rd Country Conference, Feb.2007 What is SBA and SBQL? SBA is a conceptual frame for developing O-O database query/programming languages SBQL is a model query language according to SBA. –It has the same role and meaning as object algebras, but it is formally sound and much more universal. SBA/SBQL deal with various data models and all imaginable and reasonable query constructs. Abstract implementation is the basic paradigm of formal specification of semantics.

K.Subieta. Introduction to Object Database Systems, Slide 21 3rd Country Conference, Feb.2007 ODRA: Object-oriented database core functionality The prototype is operating –Client-server database system, –Each installation can work as a client and as a server –Hierarchical client-server architecture possible –Main memory database, with memory mapping files. Distributed protocols - implemented Integrated Development Environment (IDE) - implemented Administration module - advanced Still a lot of programming is required to introduce advanced features related e.g. to classes, transactions (including distributed ones) and optimizations.

K.Subieta. Introduction to Object Database Systems, Slide 22 3rd Country Conference, Feb.2007 ODRA (Object Database for Rapid Applications development) Communication Bus Integration view Existing non-ODRA applications (distributed) Contributory view 1 ODRA database O-R wrapper 1 Relational database 1 Contributory view 2 ODRA database O-R wrapper 2 Relational database 2 Contributory view 3 ODRA database O-XML wrapper XML file Contributory view 4 ODRA database O-WS wrapper Web Service application Contributory view ODRA database …. wrapper …. application ODRA database (server) SBQL client application 1 Client view 1 SBQL client application 2 Client view 2 JDBC gateway Client view 3 Java client application Web Service gateway Client view 4 Web Service application Web Service gateway Client view 4 Web Service application ODRA applications (distributed)

K.Subieta. Introduction to Object Database Systems, Slide 23 3rd Country Conference, Feb.2007 SBQL for ODRA The prototype is operating, ready for testing Probably the most advanced implemented query language for object-oriented models. –Incomparably more powerful than OQL, OCL and XQuery –Comparable to last versions of the SQL standard. –Imperative (programming) statements, functions and procedures (with parameters being queries, recursive) –Strong typing (advanced, but not finished yet) –Updateable views - ready –Optimized by rewriting - ready –Optimization by indices almost ready. Considered as a new OMG standard for object-oriented databases

K.Subieta. Introduction to Object Database Systems, Slide 24 3rd Country Conference, Feb.2007 Current PJIIT European projects European Project eGov Bus –A dynamically adaptable information system supporting life events experienced by the citizen or business serviced by European government organizations. –Integration of distributed, heterogeneous, redundant and fragmented resources for eGov applications. –8 European partners, Jan Dec 2007, budget 3 M Euro European Project VIDE –The UML-compliant action language VIDE to be researched, developed, evaluated and disseminated during the project will enable fully visual prototyping, programming, debugging and documenting of future applications. –Implementation of OMG MDA, visual programming. –10 European partners, July 2006 – Dec 2008, budget 4 M Euro

K.Subieta. Introduction to Object Database Systems, Slide 25 3rd Country Conference, Feb.2007 SBQL in the eGov Bus project SBQL as embedded QL for application programming in Java. SBQL as a self-contained DBPL for application programming. SBQL updateable views will play the following roles: –As mediators that virtually convert a local data and service resource to the shape that is required by the canonical model. –As integrators that virtually fuse fragmented collections residing on different servers, resolve heterogeneities, remove redundancies, join fragmented remote services into the form of a procedure (c.f. life events) and (if necessary) equip some remote objects into new classes and methods. –As customizers that adapt the data that are seen through the canonical model to the need of particular end user applications and/or to particular users.

K.Subieta. Introduction to Object Database Systems, Slide 26 3rd Country Conference, Feb.2007 VIDE project SBQL implementation engine will be used to implement and extend OCL. OCL queries will be depicted visually in the visual version of the language code. OCL queries will address directly UML-like class diagrams. OCL queries will be components of visual programming graphical metaphors. The VIDE language will have both visual and textual syntax with no losses in the automated conversion between the two. The programmer will have the freedom of choice to edit either the visual or the textual code. There is a political game: OCL is an OMG standard, while SBQL is more powerful, simpler, consistent, with well- specified semantics.

K.Subieta. Introduction to Object Database Systems, Slide 27 3rd Country Conference, Feb.2007 Conclusion Object databases have a growing position on the market. –Although currently relational systems dominate Despite a lot of commercial confusion and despite object-relational rivals, object databases are successfully applied in practical areas. Object-relational models, adopting object-oriented concepts on top of relational systems, are not accepted by database programmers. The relational model has already lost its position as a scientific and technical authority in the database domain. XML technologies are not true object-oriented. Java persistence is limited as a database technology. The pure object database model, an intellectual winner, has big chances to be an eventual commercial winner.