IiWAS2002, Bandung, Indonesia Teaching and Learning Databases Dr. Stéphane Bressan National...
-
Upload
jacob-booker -
Category
Documents
-
view
218 -
download
1
Transcript of IiWAS2002, Bandung, Indonesia Teaching and Learning Databases Dr. Stéphane Bressan National...
iiWAS2002, Bandung, Indonesia
Teaching and Learning Databases
Dr. Stéphane Bressan
National University of Singapore
iiWAS2002, Bandung, Indonesia
Why Databases?
Persistence
How can data survive the process that created them, and be reused by other processes?
Persistence
Main Memory is volatile Secondary or tertiary memory is
persistent
CacheMain memory
Flash memoryMagnetic Disk
Optical DiskMagnetic Tape
Primary
Secondary
Tertiary
Volatile
Persistent
Persistent
Persistence
Large Amounts of Data
How to manage large amounts of data?
Issues:– Cost– Addressing– Speed
CacheMain memory
Flash memoryMagnetic Disk
Optical DiskMagnetic Tape SPEED
CAPACITY per DOLLAR
32 bits/64bits
Large Amounts of Data
Large Amounts of Data
When data is to be stored on secondary or tertiary storage, then we need to devise efficient algorithms taking into account the dominant cost of Input/Output operations (I/Os)
Such algorithms are called external algorithms (e.g. sort)
Homogeneous Data (The Good News!)
Collections of similar objects We can predict access patterns We can devise indexing and access
methods for efficient storage, update, and retrieval
(Collections of) Structured Data
We can invent data models and design applications around the data by defining the application schema
• record(last name: Smith, first name: Michael, ss#: 67534132)
• difficult for multimedia data (text, video, sound, etc)
(Collections of) Structured Data
We can invent specialised languages for data definition and manipulation (COBOL, SQL)
• CREATE TABLE employee (first_name char(32), last_name CHAR(32))
• SELECT last_name FROM employee WHERE first_name = ‘Michael’
Concurrent and Distributed Access How can data be shared by users and
processes that are possibly distributed over a network?
A Remark on Consistent States and Transactions A Consistent State of the database is a
state which complies with the business rules as usually defined by Integrity constraints– Example: “students who have not passed
cs2102 cannot take cs3223”
A Remark on Consistent States and Transactions A Transaction is a logical unit of work
carried out by a user or an application for which we wish to ensure isolation and consistency
Concurrent Access
Concurrency Control: ACID Isolation: Transactions can be
understood independently from each other
Consistency: If individual transactions would leave the application in a consistent state, a concurrent execution should do the same
Sensitive Data: Integrity
How to guarantee and maintain the integrity of the data in spite of possible application, system, or media failures?
Sensitive Data: Integrity
The DBMS manages the recovery after failure guaranteeing durability and atomicity of the transactions
Sensitive Data: Integrity
Recovery: ACID – Atomicity: all actions in a transaction
happen or none happen– Durability: effects of successful
transactions last
Sensitive Data: Security
How to control the Access to the data?
Definitions
DCL: Database Control Language. It include statements to administer access privileges and transactions properties
In Summary
How to manage large amounts of persistent, homogeneous, and structured data that are shared among distributed users and processes and whose integrity must be maintained and whose security must be controlled?
Database Application
A database application is a collection of data and the programs that allow the manipulation of these data
A database application is usually implemented using a DataBase Management System (DBMS)
Database Application: Examples
ATM banking University data managemen (Oracle) Airline reservations (Amadeus, Sabre) My address book (Microsoft Access) The e-shop around the corner (MSQL)
DataBase Management System
A DBMS is a collection of software that facilitates the implementation and management of database applications
DataBase Management System
Examples of Relational DBMS:– Access, Paradox, dBase, FoxPro, Clipper– SQL Server, MySQL– DB2, Oracle, Sybase, Informix
File and Access Methods Manager
Buffer Manager
Concurrency ControlManager
Recovery Manager
Query Evaluation Engine
Query Optimizer
I/O Manager
Data Definition Language StatementData Manipulation Language Statements
DBMS (simplified) Architecture
Storage manager
Data Control Language Statement
iiWAS2002, Bandung, Indonesia
Introduction to Database Systems
McGrawHill
Asian Customized Edition
ISBN 007-122664-8