150 likes | 316 Views
University of Maryland University College CSMN 601 - Spring 2001 Comparing Relational and Object-Oriented Databases Nelson Caballero. Comparing Relational and Object-Oriented Databases. Hypothetical case scenario. IT manager attends a corporate meeting.
E N D
University of Maryland University College CSMN 601 - Spring 2001 Comparing Relational and Object-Oriented Databases Nelson Caballero
Comparing Relational and Object-Oriented Databases Hypothetical case scenario • IT manager attends a corporate meeting. • Problem: Customer service complaints. • Fact 1: Employees blame slow, antiquated and difficult to use database. • Fact 2: Managers demand modern databases. • Fact 3: No knowledge of technology used by competitors. • Goal: Improve services, remain competitive, and increase revenue.
Comparing Relational and Object-Oriented Databases Presentation Agenda: • Relational and Object-Oriented Database Concepts • Database Functionality • Query Language • Database Management System • Selection Criteria • Conclusion
Comparing Relational and Object-Oriented Databases Database Administrator Database User Schema Compiler Storage/Retrieval Services User Interface DBMS Operating System Data Dictionary Data • Relational and Object-Oriented Concepts What is a database? • “A collection of persistent data used by an enterprise.” (Date, C.) • Offers controls to modify data in shared environments. • Data is independent of programs and users. • Data elements are interrelated and stored together. Nelson Caballero - 4/16/2001
Comparing Relational and Object-Oriented Databases Employee Table Position_Office Table Employee_Position Table • Relational and Object-Oriented Concepts (Continued) Relational Databases • Introduced by Ted Codd of IBM Research in 1970. • Data perceived by users as tables. • Retrieval operations generate new tables from other tables. • Concerned with data structure, integrity, and manipulation. Nelson Caballero - 4/16/2001
Comparing Relational and Object-Oriented Databases Object Inheritance Object Relationships Class representation Employee Name Parents Date of Birth Sex Attributes GetAge() ComputeSalary() Methods • Relational and Object-Oriented Concepts (Continued) Object-Oriented Databases • Support data abstraction, encapsulation, and inheritance. • Allow object identification and communication. • Reuse and modify objects. • Deal with complex data types. Nelson Caballero - 4/16/2001
Comparing Relational and Object-Oriented Databases • Relational and Object-Oriented Concepts (Continued) Comparison between both models • Both models support ACID properties differently. (Atomicity, Consistency, Isolation, and Durability) Nelson Caballero - 4/16/2001
Comparing Relational and Object-Oriented Databases Relational Object Oriented • Multi-user access with temporary transaction locking. • Strict recovery requirements. • Supports full and incremental back up/restore. • Pessimistic concurrency, arbitrary deadlock. • Uses small to large servers. • Mandatory security controls. • Multi-user access with cooperative transactions. • Less strict recovery requirements. • Supports full and incremental back up and restore. • Optimistic concurrency, prevents deadlocks by using complex controls. • Requires large servers. • Discretionary security controls. • Database Functionality • Transactions. • Recovery. • Back up and restore. • Concurrency and deadlock. • Storage. • Authorization and security. Nelson Caballero - 4/16/2001
Comparing Relational and Object-Oriented Databases • Database Functionality (Continued) Database allows transactions, enforces security, and concurrency based on user roles and privileges. Nelson Caballero - 4/16/2001
Comparing Relational and Object-Oriented Databases Relational Object Oriented • User-friendly syntax. • Allows definition and deletion of tables. • Supports high-level programming languages (C, COBOL, and Pascal). • Contains commands for inserting, deleting, and updating records. • Creates table views. • Grants/revokes user privileges. • Complex syntax. • Queries object data and methods. • Supports OO programming languages (C++, Java, Smalltalk). • Handles from 1 to billions of objects. • Supports object search, optimization, indexing, and access. • Navigates object relations. • Query Language “A comprehensive database language with statements for data definition, query, and update.” (Elmasri and Navathe) Nelson Caballero - 4/16/2001
Comparing Relational and Object-Oriented Databases Relational Object Oriented • Decision support applications. • Ordinary business applications. • Applications that integrate with legacy systems. • Conservative implementations. • Engineering design applications. • Multimedia applications. • Knowledge bases. • Applications with demanding distribution and concurrency. • Applications that require advanced features. • Electronic devices with embedded software. Source: Object oriented Modeling and design for database applications. Blaha, M. and Premerlani, W. • Database Management System A software system that enables users to create and maintain the database. Nelson Caballero - 4/16/2001
Comparing Relational and Object-Oriented Databases Which database model is better for my organization? • Selection Criteria It depends on the company: • Business needs and practices. • Monetary constraints. • Infrastructure and resources. • Short and long term corporate goals. Nelson Caballero - 4/16/2001
Comparing Relational and Object-Oriented Databases • Selection Criteria (Continued) IDC predicts a 12.5% revenuegrowth for relational databasesand 18.5% for object-orienteddatabases from 1999 to 2004. Database industry Trends: Database technology Revenue (Millions of US dollars) Source IDC, 2000 Nelson Caballero - 4/16/2001
Comparing Relational and Object-Oriented Databases • Conclusion Incorporating a new database technology requires: • Understanding of database, relational, and object concepts. • Assessing database functionality. • Assessing query language features. • Studying DBMS efficiency. • Selecting a technology based on business rules and needs. Nelson Caballero - 4/16/2001
Comparing Relational and Object-Oriented Databases Sample OO databases on the Web http://wwwqbic.almaden.ibm.com/cgi-bin/stamps-demo http://www.hermitagemuseum.org/fcgi-bin/db2www/qbicSearch.mac/qbic?selLang=Englishhttp://earth.jsc.nasa.gov/ Nelson Caballero - 4/16/2001