Database System Concepts, 6th Ed.
©Silberschatz, Korth and Sudarshan
See www.dbbook.com for conditions on reuse
Database Management System (DBMS)
DBMS contains information about a particular enterprise
Collection of interrelated data
Set of programs to access the data
An environment that is both convenient and efficient to use
Database Applications:
Banking: transactions
Airlines: reservations, schedules
Universities: registration, grades
Sales: customers, products, purchases
Online retailers: order tracking, customized recommendations
Manufacturing: production, inventory, orders, supply chain
Human resources: employee records, salaries, tax deductions
Databases can be very large.
Databases touch all aspects of our lives
Database System Concepts 6th Edition
1.2
©Silberschatz, Korth and Sudarshan
University Database Example
Application program examples
Add new students, instructors, and courses
Register students for courses, and generate class rosters
Assign grades to students, compute grade point averages (GPA) and generate transcripts
In the early days, database applications were built directly on top of
file systems
Database System Concepts 6th Edition
1.3
©Silberschatz, Korth and Sudarshan
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
Database System Concepts 6th Edition
1.4
©Silberschatz, Korth and Sudarshan
Drawbacks of using file systems to store data (Cont.)
Atomicity of updates
Failures may leave database in an inconsistent state with partial updates carried out
Example: Transfer of funds from one account to another should either complete or not happen at all
Concurrent access by multiple users
Concurrent access needed for performance
Uncontrolled concurrent accesses can lead to inconsistencies
– Example: Two people reading a balance (say 100) and updating it by withdrawing money (say 50 each) at the same time
Security problems
Hard to provide user access to some, but not all, data
Database systems offer solutions to all the above problems
Database System Concepts 6th Edition
1.5
©Silberschatz, Korth and Sudarshan
Data Models
A collection of tools for describing
Data
Data relationships
Data semantics
Data constraints
Relational model
EntityRelationship data model (mainly for database design)
Objectbased data models (Objectoriented and Objectrelational)
Semistructured data model (XML)
Other older models:
Network model
Hierarchical model
Database System Concepts 6th Edition
1.9
©Silberschatz, Korth and Sudarshan
Relational Model
Relational model (Chapter 2)
Example of tabular data in the relational model
Columns
Rows
Database System Concepts 6th Edition
1.10
©Silberschatz, Korth and Sudarshan
A Sample Relational Database
Database System Concepts 6th Edition
1.11
©Silberschatz, Korth and Sudarshan
Data Definition Language (DDL)
Specification notation for defining the database schema
Example:
create table instructor ( ID char(5), name varchar(20), dept_name varchar(20), salary numeric(8,2))
DDL compiler generates a set of table templates stored in a data dictionary
Data dictionary contains metadata (i.e., data about data)
Database schema
Integrity constraints
Primary key (ID uniquely