Christophides Vassilis 1
FROM RELATIONAL TO OBJECT DATABASE MANAGEMENT
SYSTEMS
V. CHRISTOPHIDES
Department of Computer Science & Engineering University of California, San Diego
ICS - FORTH, Heraklion, Crete
2 Spring 2000
Christophides Vassilis
I) INTRODUCTION
Christophides Vassilis 3
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
4 Spring 2000
Christophides Vassilis
DBMS Applications
● Administration & Management
◆Bank Accounts
◆Company Stocks & Personal
◆Airline Reservation
◆University Courses and Notes
◆Library Books Borrowing
● Media & Net-centric Applications
◆Engineering (CAD/CAM/CIM/CAE)
◆Scientific Applications
•Genome Databases, Environmental Applications (GIS)
◆Telecommunications + Databases
•Network management, Tele- medicine, Info Brokering
◆Multimedia, Entertain., Visualization
•Interactive, Virtual Reality based
◆Software Design and Management
◆Data Warehouses
◆Web Site Management
◆Electronic Commerce
Christophides Vassilis 5
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
6 Spring 2000
Christophides Vassilis
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 7
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
8 Spring 2000
Christophides Vassilis
Three Level Architecture
PHYSICAL SCHEMA LOGICAL SCHEMA
,17(51$/
/(9(/
&21&(378$/
/(9(/
(;7(51$/
/(9(/
VIEW 1 VIEW 2 VIEW 3
INTEGRATION
Christophides Vassilis 9
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
10 Spring 2000
Christophides Vassilis
Mappings in DBMS
Strorage structure definition (Internal Schema) Conceptual View
Conceptual/
Internal Mapping External View A
Conceptual/
External Mapping A
Stored database (internal View) Host Language + DSL Host Language + DSL
User A User B
External Schema A
Conceptual Schema
Database Management Systems (DBMS)
Schemas and mapping built and maintained by the database administrator (DBA)
USER INTERFACE
Christophides Vassilis 11
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.)
● 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.
12 Spring 2000
Christophides Vassilis
Typical Architecture of a DBMS
Schema Modifications
Data
Modifications Queries
“Query” Processor
Storage Manager
Transaction Manager
Data & Metadata
Christophides Vassilis 13
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
● Examples of typical utilities to help DBAs in various tasks
•Load routines
•Unload/Reload routines
•Reorganization routines
•Statistic routines
•Analysis routines
Database End User
Frontend
Backend
Applications
Programming Interface
DBMS
14 Spring 2000
Christophides Vassilis
Application Development: Client/Server Architecture
Database End User
Frontend
Backend
Applications
DBMS Transparent remote
access
● 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 end- user workstations
◆communication through standardized protocols
◆distribution of application programs in order to minimize transfer costs
Christophides Vassilis 15
Client/Server Architecture: First Generation
Windows NT UNIX
CLIENTS APPLICATIONS
Queries Results
rules DBMS
NT, UNIX, NOVELL GCOS, VMS, MVS
APPLICATIONS SERVER
APPLICATION
Data
G. Gardarin
16 Spring 2000
Christophides Vassilis
Client/Server Architecture: Second Generation
Application Application Tool Connectivity Tool Network Protocol
DB Server
Database CLIENTS
Service Requests
Results
SERVER
Network Protocol Connectivity Tool Stored
Procedures
● 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
Application Application Tool Connectivity Tool Network Protocol
Service Requests
G. Gardarin
Christophides Vassilis 17
Client/Server Architecture: Third Generation
● Integration of the Web with the client-server
◆Use Web browsers for a standard presentation to the client
◆Possibility to run small client application (applets)
◆Significant portability (Virtual Private Network, Intranet, Internet)
● Three(or Multi)-tiered Architectures
◆Databases with stored procedures
◆Shared application services
● Hypermedia support
◆Various media types which can be extended (text, image, video)
◆Navigation between documents and applications
Oracle Oracle Database Database
URL HTML
WRB WRB WRBWRB WRBWRB WRB WRB WRB
Web Request Broker WRB
Cartridges
Web Request Broker HTTP
Server
Files or CGI
PL/SQL C Java Perl JCORBA
Browser
ORACLE
18 Spring 2000
Christophides Vassilis
Database Technology Timeline
Early 80s Late 80s Early - Mid 90s Late 90s - 21st C
Pre- relational
Early Relational
Client-server Relational
Enterprise -capable Relational
Internet Computing
Simple OLTP
Active Database
Data Warehouse &
Hi-end OLTP
Packaged &
Vertical Applications
Simple transactions,
on-line backup &
recovery
Stored procedures,
triggers
Scaleable OLTP, parallel query,
partitioning, cluster support, row-level locking,
high availability
Middleware (messaging, queues,events)
Java, CORBA, Web interfaces Support for
all types of data, extensibility,
objects Simple Data
Management
Global Enterprise Management