Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 CS 430 Database Theory Winter 2005 Lecture 17: Objects, XML, and DBMSs.

Similar presentations


Presentation on theme: "1 CS 430 Database Theory Winter 2005 Lecture 17: Objects, XML, and DBMSs."— Presentation transcript:

1 1 CS 430 Database Theory Winter 2005 Lecture 17: Objects, XML, and DBMSs

2 2 Topics Object-Oriented DBMS (ODBMS) Object-Relational DBMS (ORDBMS) XML and Databases

3 3 Object-Oriented DBMS Motivation: Deal with shortcomings of traditional RDBMS for applications with complex data. E.g.:  CAD (Computer Aided Design)  Experiment Data  GIS (Geographic Information System)  Multi-Media

4 4 Object-Oriented DBMS Additional Motivation: Tight Integration with O-O Programming Languages  Avoid the “Impedance Mismatch”  Example: Write a C++ program. Fetch and Update data in DBMS in response to program actions on corresponding objects in memory “Swizzling” pointers: Map between pointers in memory and pointers in database

5 5 ODBMS Features Object Identifiers (OIDs)  Provide globally unique identifiers, immutable across all objects Class Inheritance Object operations or methods Direct representation of relations and collections  Include specific collection types Versioning in the database  E.g. versions of parts of a design

6 6 ODBMS Standards Object Data Management Group (ODMG) standard Includes:  Object Definition Language (ODL)  Object Query Language (OQL)  C++ Language Binding

7 7 ODBMS Issues Ad Hoc Query  May have to write program to navigate database to find desired data  Does encapsulation block ad hoc operation? Views? Integrity  Generally enforced by methods that update the database  No declarative description of integrity constraints

8 8 ODBMS Summary “The Object-Oriented Database System Manifesto”  “This paper attempts to define an object-oriented database system. It describes the main features and characteristics that a system must have to qualify as an object-oriented database system.”  http://www- 2.cs.cmu.edu/People/clamen/OODBMS/Manifesto /htManifesto/Manifesto.html

9 9 ODBMS Summary (continued) ODBMS is good for providing persistent storage for an individual application ODBMSs have lost battle for shared data storage  Textbook: Last ODBMS reference is 1997, most are 1986-1993 (Textbook copyright is 2004). If necessary, mapping ER Model to ODBMS Model is straight forward

10 10 Object/Relational DBMS (ORDBMS) Michael Stonebreaker: Taxonomy of DBMSs RDBMSORDBMS File System ODBMS Query Complex Simple Data Complex Simple

11 11 Object/Relational Concept Provide alternative to ODBMS for complex data  Extend RDBMS approach “Third Generation Database Manifesto”  Written in response to OODB Manifesto  http://portal.acm.org/citation.cfm?id=390001 http://portal.acm.org/citation.cfm?id=390001

12 12 SQL-99 Support for ORDBMS Row Types, Array Types Object Identity Mechanisms  Includes a REF (Reference) Type Inheritance (Sub/Super Tables) Methods and Encapsulation Application Packages  Standardized packages of extensions for new kinds of data  SQL/MM (Multi-Media)

13 13 Some Implementations Informix Universal Server  Extension of Stonebreaker’s Postgres work at U.C. Berkeley  Uses “Data Blades” to support complex data types Oracle Data Cartridges IBM Relational Extenders All provide add-in extensions to base RDBMS capabilities

14 14 Extension Implementation Add new operations and/or syntax to Query Language  Integration with Query Language Parser Integrate into Query Optimizer  Rewrite rules: E.g. NOT( X 20)  Provide necessary costing formulas Specialized storage and index structures  E.g. Quad-Trees for 2d data

15 15 Extension Issues Mechanisms for linking extensions into base DBMS  Java Virtual Machine “Sandbox” is attractive Where are methods executed in a client/server environment  Server: Uses shared resource  Client: May require extra data movement External functions (called from Queries) executing queries in database

16 16 Chris Date’s “Two Great Blunders” An Alternative View on ORDBMS Blunder One: Rows are not Objects  However, Values are Objects (Domains are Classes) Blunder Two: Mixing pointers (e.g. References) and Relations However, this is a criticism of the direction of SQL-99 extensions to RDBMS  Not a call for ODBMS or something else

17 17 Object-Relational Summary This appears to be the future direction for the DBMS community SQL-99 adopted many of these concepts  Next version will continue to grow these concepts Not clear (at least to me) exactly how the Microsoft NewFS will relate to these concepts

18 18 XML and Database XML is coming to dominate worlds of data exchange and document formatting How do you integrate XML in to your data bases?

19 19 DB Relevant XML Standards XML Schema  Provide better description of XML documents than basic XML DTDs XPath  Standard way to describe nodes in XML documents XQuery  Standard Query Language for XML documents

20 20 Three Approaches to Putting XML into a Database One: Store XML document as a text BLOB Two: “XML Column”  Provide an XML object class for database values An ORDBMS extension  Good for storing complete already existing documents  Good for archives (e.g. legal record)  Problematic when operating on or updating parts of documents (as opposed to whole document)

21 21 Three Approaches to Putting XML into a Database Three: “Shred and Publish” or “XML Collection”  Shred XML document content into a standard Relational Database  Publish query results as XML documents  Only works when Documents conform strictly to DTDs or Schemas There is no requirement to keep original document intact (e.g. store tags)  Good when parts of document are queried and updated  Issue: Mapping of Relations in database (a network) in XML tag structure (a hierarchy)


Download ppt "1 CS 430 Database Theory Winter 2005 Lecture 17: Objects, XML, and DBMSs."

Similar presentations


Ads by Google