Unit01 DBMS
Unit01 DBMS
Unit01 DBMS
TERM 2008-09
Slide No:L1-1
What Is a DBMS?
Slide No:L1-2
Why Use a DBMS?
Slide No:L1-3
Why Study Databases?? ?
Slide No:L1-4
Files vs. DBMS
Slide No:L1-5
Purpose of Database Systems
• In the early days, database applications were built
directly on top of file systems
• Drawbacks of using file systems to store data:
– Data redundancy and inconsistency
• Multiple file formats, duplication of information
in different files
– Difficulty in accessing data
• Need to write a new program to carry out each
new task
– Data isolation — multiple files and formats
– Integrity problems
• Integrity constraints (e.g. account balance > 0)
become “buried” in program code rather than
being stated explicitly
• Hard to add new constraints or change existing
ones
Slide No:L1-6
Purpose of Database Systems (Cont.)
Slide No:L1-8
Summary
• DBMS used to maintain, query large datasets.
• Benefits include recovery from system crashes,
concurrent access, quick application
development, data integrity and security.
• Levels of abstraction give data independence.
• A DBMS typically has a layered architecture.
• DBAs hold responsible jobs
and are well-paid!
• DBMS R&D is one of the broadest,
most exciting areas in CS.
Slide No:L1-9
View of Data
Slide No:L2-1
Instances and Schemas
Slide No:L2-3
Data Models
Slide No:L2-4
Data Models
Slide No:L2-5
Example: University Database
• Conceptual schema:
– Students(sid: string, name: string, login: string,
• Physical schema:
– Relations stored as unordered files.
– Index on first column of Students.
Slide No:L2-6
Data Independence
• Applications insulated from how data
is structured and stored.
• Logical data independence:
Protection from changes in logical
structure of data.
• Physical data independence:
Protection from changes in physical
structure of data.
One of the most important benefits of using a DBMS
Slide No:L2-7
DATA BASE LANGUAGE
Data Manipulation Language (DML)
Slide No:L3-1
Data Definition Language (DDL)
• Specification notation for defining the database schema
Example: create table account (
account_number char(10),
branch_name char(10),
balance integer)
• DDL compiler generates a set of tables stored in a data
dictionary
• Data dictionary contains metadata (i.e., data about data)
– Database schema
– Data storage and definition language
• Specifies the storage structure and access methods
used
– Integrity constraints
• Domain constraints
• Referential integrity (e.g. branch_name must
correspond to a valid branch in the branch table)
– Authorization
Slide No:L3-2
Relational Model
relational model
Slide No:L3-3
A Sample Relational Database
Slide No:L3-4
SQL
• SQL: widely used non-procedural language
– Example: Find the name of the customer with
customer-id 192-83-7465
select customer.customer_name
from customer
where customer.customer_id = ‘192-83-
7465’
– Example: Find the balances of all accounts held by
the customer with customer-id 192-83-7465
select account.balance
from depositor, account
where depositor.customer_id = ‘192-83-
7465’ and
depositor.account_number =
account.account_number
Slide No:L3-5
SQL
Slide No:L3-6
Database Users
Slide No:L4-1
Database Administrator
Slide No:L4-2
Data storage and Querying
• Storage management
• Query processing
• Transaction processing
Slide No:L5-1
Storage Management
Slide No:L5-2
Query Processing
Slide No:L5-3
Query Processing (Cont.)
Slide No:L5-4
Transaction Management
Slide No:L5-5
Database Architecture
Slide No:L6-1
Overall System Structure
Slide No:L6-2
Database Application Architectures
(web browser)
Old Modern
Slide No:L6-3