Ch1_Introduction
Ch1_Introduction
Database-System Applications
Purpose of Database Systems
View of Data
Database Languages
Database Design
Database Engine
Database Architecture
Database Users and Administrators
History of Database Systems
Database System Concepts - 7th Edition 1.2 ©Silberschatz, Korth and Sudarshan
Database Systems
Database System Concepts - 7th Edition 1.3 ©Silberschatz, Korth and Sudarshan
Database Applications Examples
Enterprise Information
• Sales: customers, products, purchases
• Accounting: payments, receipts, assets
• Human Resources: Information about employees, salaries, payroll
taxes.
Manufacturing: management of production, inventory, orders, supply
chain.
Banking and finance
• customer information, accounts, loans, and banking transactions.
• Credit card transactions
• Finance: sales and purchases of financial instruments (e.g., stocks
and bonds; storing real-time market data
Universities: registration, grades
Database System Concepts - 7th Edition 1.4 ©Silberschatz, Korth and Sudarshan
Database Applications Examples (Cont.)
Database System Concepts - 7th Edition 1.5 ©Silberschatz, Korth and Sudarshan
Purpose of Database Systems
In the early days, database applications were built directly on top of file
systems, which leads to:
Data redundancy and inconsistency: data is stored in multiple file
formats resulting in 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 - 7th Edition 1.6 ©Silberschatz, Korth and Sudarshan
Purpose of Database Systems (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
Ex: 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 System Concepts - 7th Edition 1.7 ©Silberschatz, Korth and Sudarshan
Data Models
A collection of tools for describing
• Data
• Data relationships
• Data semantics
• Data constraints
Relational model
Entity-Relationship data model (mainly for database design)
Object-based data models (Object-oriented and Object-relational)
Semi-structured data model (XML)
Other older models:
• Network model
• Hierarchical model
Database System Concepts - 7th Edition 1.9 ©Silberschatz, Korth and Sudarshan
Relational Model
Columns
Rows
Ted Codd
Turing Award 1981
Database System Concepts - 7th Edition 1.10 ©Silberschatz, Korth and Sudarshan
A Sample Relational Database
Database System Concepts - 7th Edition 1.11 ©Silberschatz, Korth and Sudarshan
View of Data
A database system is a collection of interrelated data and a set of
programs that allow users to access and modify these data.
A major purpose of a database system is to provide users with an abstract
view of the data.
• Data models
A collection of conceptual tools for describing data, data
relationships, data semantics, and consistency constraints.
• Data abstraction
Hide the complexity of data structures to represent data in the
database from users through several levels of data abstraction.
Database System Concepts - 7th Edition 1.12 ©Silberschatz, Korth and Sudarshan
Levels of Abstraction
Database System Concepts - 7th Edition 1.13 ©Silberschatz, Korth and Sudarshan
View of Data
Database System Concepts - 7th Edition 1.14 ©Silberschatz, Korth and Sudarshan
Instances and Schemas
Database System Concepts - 7th Edition 1.15 ©Silberschatz, Korth and Sudarshan
Physical Data Independence
Database System Concepts - 7th Edition 1.16 ©Silberschatz, Korth and Sudarshan
Data Definition Language (DDL)
• Authorization
Who can access what
Database System Concepts - 7th Edition 1.17 ©Silberschatz, Korth and Sudarshan
Data Manipulation Language (DML)
Database System Concepts - 7th Edition 1.18 ©Silberschatz, Korth and Sudarshan
SQL Query Language
Database System Concepts - 7th Edition 1.19 ©Silberschatz, Korth and Sudarshan
Database Access from Application Program
Database System Concepts - 7th Edition 1.20 ©Silberschatz, Korth and Sudarshan
Database Design
Database System Concepts - 7th Edition 1.21 ©Silberschatz, Korth and Sudarshan
Database Engine
A database system is partitioned into modules that deal with each of the
responsibilities of the overall system.
The functional components of a database system can be divided into
• The storage manager,
• The query processor component,
• The transaction management component.
Database System Concepts - 7th Edition 1.22 ©Silberschatz, Korth and Sudarshan
Storage Manager
A program module that provides the interface between the low-level data
stored in the database and the application programs and queries
submitted to the system.
The storage manager is responsible to the following tasks:
• Interaction with the OS file manager
• Efficient storing, retrieving and updating of data
The storage manager components include:
• Authorization and integrity manager
• Transaction manager
• File manager
• Buffer manager
Database System Concepts - 7th Edition 1.23 ©Silberschatz, Korth and Sudarshan
Storage Manager (Cont.)
The storage manager implements several data structures as part of the
physical system implementation:
• Data files -- store the database itself
• Data dictionary -- stores metadata about the structure of the
database, in particular the schema of the database.
• Indices -- can provide fast access to data items. A database index
provides pointers to those data items that hold a particular value.
Database System Concepts - 7th Edition 1.24 ©Silberschatz, Korth and Sudarshan
Query Processor
Database System Concepts - 7th Edition 1.25 ©Silberschatz, Korth and Sudarshan
Query Processing
Database System Concepts - 7th Edition 1.26 ©Silberschatz, Korth and Sudarshan
Transaction Management
Database System Concepts - 7th Edition 1.27 ©Silberschatz, Korth and Sudarshan
Database Architecture
Centralized databases
• One to a few cores, shared memory
Client-server,
• One server machine executes work on behalf of multiple client
machines.
Parallel databases
• Many core shared memory
• Shared disk
• Shared nothing
Distributed databases
• Geographical distribution
• Schema/data heterogeneity
Database System Concepts - 7th Edition 1.28 ©Silberschatz, Korth and Sudarshan
Database Architecture
(Centralized/Shared-Memory)
Database System Concepts - 7th Edition 1.29 ©Silberschatz, Korth and Sudarshan
Database Applications
Database System Concepts - 7th Edition 1.30 ©Silberschatz, Korth and Sudarshan
Two-tier and three-tier architectures
Database System Concepts - 7th Edition 1.31 ©Silberschatz, Korth and Sudarshan
Database Users
Database System Concepts - 7th Edition 1.32 ©Silberschatz, Korth and Sudarshan
Database Administrator
A person who has central control over the system is called a database
administrator (DBA). Functions of a DBA include:
Schema definition
Storage structure and access-method definition
Schema and physical-organization modification
Granting of authorization for data access
Routine maintenance
Periodically backing up the database
Ensuring that enough free disk space is available for normal
operations, and upgrading disk space as required
Monitoring jobs running on the database
Database System Concepts - 7th Edition 1.33 ©Silberschatz, Korth and Sudarshan
History of Database Systems
Database System Concepts - 7th Edition 1.34 ©Silberschatz, Korth and Sudarshan
History of Database Systems (Cont.)
1980s:
• Research relational prototypes evolve into commercial systems
SQL becomes industrial standard
• Parallel and distributed database systems
Wisconsin, IBM, Teradata
• Object-oriented database systems
1990s:
• Large decision support and data-mining applications
• Large multi-terabyte data warehouses
• Emergence of Web commerce
Database System Concepts - 7th Edition 1.35 ©Silberschatz, Korth and Sudarshan
History of Database Systems (Cont.)
2000s
• Big data storage systems
Google BigTable, Yahoo PNuts, Amazon,
“NoSQL” systems.
• Big data analysis: beyond SQL
Map reduce and friends
2010s
• SQL reloaded
SQL front end to Map Reduce systems
Massively parallel database systems
Multi-core main-memory databases
Database System Concepts - 7th Edition 1.36 ©Silberschatz, Korth and Sudarshan
End of Chapter 1
Database System Concepts - 7th Edition 1.37 ©Silberschatz, Korth and Sudarshan