Spring 2000 FROM RELATIONAL TO OBJECT DATABASE MANAGEMENT SYSTEMS V. CHRISTOPHIDES Department of Computer Science & Engineering University of California, San Diego ICS - FORTH, Heraklion, Crete Christophides Vassilis 1 Spring 2000 I) INTRODUCTION Christophides Vassilis 2 Spring 2000 What is a DBMS? Database: Logically coherent collection of “computerized” data Stored Data: Persistent facts with some inherent meaning Accessible Data: Extracted and derived facts for a specific purpose Database Management System: General purpose software that facilitates the process of defining, constructing and manipulating database for various applications. It offers the following services: Data Persistence Disk Management Data Sharing Data Reliability Ad hoc Queries Christophides Vassilis 3 Spring 2000 DBMS Applications Administration & Management Media & Net-centric Applications Bank Accounts Engineering (CAD/CAM/CIM/CAE) Company Stocks & Personal Scientific Applications Genome Databases, Environmental Airline Reservation Applications (GIS) University Courses and Telecommunications + Databases Notes Network management, TeleLibrary Books Borrowing medicine, Info Brokering Multimedia, Entertain., Visualization Interactive, Virtual Reality based Software Design and Management Data Warehouses Web Site Management Electronic Commerce Christophides Vassilis 4 Spring 2000 DBMS vs. other types of software Effective Manipulation of Persistent Data recovery from failures concurrent access security & integrity controls data independence physical & logical & user Efficient Access to Large Data Volumes buffer management indexing/clustering query optimization distribution Christophides Vassilis 5 Spring 2000 Example: Phone Directory One file: first and last name, address, profession, telephone number Two type of access: Direct by first/last name (white pages) Sequential by profession headings (yellow pages) Implementation without a DBMS: Hashing on first/last name (key) and linked lists of profession headings Change of the access mode implies PROGRAM RERWITING Implementation with a DBMS: Choice of a physical structure Choice of a logical structure Application programs are build on the top of data logical structuring Christophides Vassilis 6 Spring 2000 The ANSI-SPARC Architecture External Level: What actually seen by users (not necessary the whole database) Conceptual Level: Modeling of the real-word data, independent from the underlying DBMS Internal Level: How data is physically stored Logical-schema: Logical organization of data using the DBMS data model (tables, etc.) Physical-schema: Physical organization of data in the secondary memory (files, records, etc.) The ability to modify a scheme definition in one level without affecting a scheme definition in a higher level is called data independence Christophides Vassilis 7 Spring 2000 Three Level Architecture EXTERNAL LEVEL VIEW 1 VIEW 2 VIEW 3 INTEGRATION CONCEPTUAL LEVEL LOGICAL SCHEMA PHYSICAL SCHEMA Christophides Vassilis INTERNAL LEVEL 8 Spring 2000 The Data Independence issue Physical (for optimization) Changes of physical structures doesn’t affect data logical organization EXAMPLE: Addition/Suppression of indices in a DBMS Logical (for maintainability) Modifications of data logical structure should not affect programs EXAMPLE: New Relations/Attributes in the logical schema of a DBMS User (for flexibility) Multiple views on the same logical organization of data EXAMPLE: Secretary and Professor views on a University database Data independence is achieved by inter-level mappings Queries are translated between levels automatically Christophides Vassilis 9 Spring 2000 Mappings in DBMS User A User B Host Language + DSL Host Language + DSL External Schema A Schemas and mapping built and maintained by the database administrator (DBA) External View A Conceptual/ External Mapping A Conceptual Schema Database Management Systems (DBMS) Conceptual View Conceptual/ Internal Mapping Stored database (internal View) Strorage structure definition (Internal Schema) USER INTERFACE Christophides Vassilis 10 Spring 2000 DBMS Components Data Collections: Minimizing data redundancy Enabling multi-user access People: Database Designer Database Administrator Application Programmers End-Users Hardware: Processor(s) Main Memory Secondary Storage (e.g., disks, CD-ROMs, etc.) Christophides Vassilis Software The Storage Manager: buffer and file manager The Transaction Manager: locking, logging, and transaction commitment (ACID) The Query Processor: parsing, optimization, execution Various Automated Tools: Development and Design aids, Report writers, etc. 11 Spring 2000 Typical Architecture of a DBMS Schema Modifications Queries Data Modifications “Query” Processor Transaction Manager Storage Manager Data & Metadata Christophides Vassilis 12 Spring 2000 Application Development: Backend vs. Frontend Backend the DBMS Frontends Applications which run on top of the DBMS Examples of vendor-provided applications or tools Query language processor Business graphics sub-systems Spreadsheet Statistical packages Application generators CASE Tools Report writer Web-DBMS Gateways End User A pplications Frontend Programming Interf ace Backend DBMS Examples of typical utilities to help DBAs in various tasks Load routines Unload/Reload routines Reorganization routines Statistic routines Analysis routines Christophides Vassilis Database 13 Spring 2000 Application Development: Client/Server Architecture Partition of programs between client et server processes, communicating via queries Hierarchical partition of functions data at the servers are shared by several clients graphical interfaces at the enduser workstations communication through standardized protocols distribution of application programs in order to minimize transfer costs Christophides Vassilis End User A pplications Frontend Tr a nspa r ent r emote a ccess Backend DBMS Database 14 Spring 2000 Client/Server Architecture: First Generation DBMS SERVER rules NT, UNIX, NOVELL Data GCOS, VMS, MVS Queries Windows APPLICATION Results NT APPLICATIONS UNIX CLIENTS APPLICATIONS G. Gardarin Christophides Vassilis 15 Spring 2000 Client/Server Architecture: Second Generation Stored Procedures Procedure accomplice a service function on data Service-oriented architecture rather than query-oriented Distribution of data manipulation Extensibility and Scalability Possibility to have several, eventually redundant, servers Possibility to have private data on clients CLIENTS Application Application Application Tool Application Tool Connectivity Tool Connectivity Tool Network Protocol Network Protocol Service Requests Service Requests Results Network Protocol Connectivity Tool DB Server Stored Procedures G. Gardarin SERVER Database Christophides Vassilis 16 Spring 2000 Client/Server Architecture: Third Generation Integration of the Web with the client-server Use Three(or Multi)-tiered Architectures Databases with stored procedures Shared application services URL Cartridges HTTP Server Files or CGI media types which can be extended (text, image, video) Navigation between documents and applications Christophides Vassilis WRB WRB WRB WRB WRB PL/SQL C Java Perl JCORBA Web Request Broker Hypermedia support Various HTML Web Request Broker Web browsers for a standard presentation to the client Possibility to run small client application (applets) Significant portability (Virtual Private Network, Intranet, Internet) Browser ORACLE Oracle Database 17 Spring 2000 Database Technology Timeline Simple Data Management Global Enterprise Management Early 80s Late 80s Early Relational Prerelational Simple OLTP Simple transactions, on-line backup & recovery Christophides Vassilis Early - Mid 90s Client-server Relational Active Database Stored procedures, triggers Enterprise -capable Relational Data Warehouse & Hi-end OLTP Scaleable OLTP, parallel query, partitioning, cluster support, row-level locking, high availability Late 90s - 21st C Internet Computing Packaged & Vertical Applications Support for all types of data, extensibility, objects Middleware (messaging, queues,events) Java, CORBA, Web interfaces 18