Database Management System Lecture 01 Introduction
Database Management System Lecture 01 Introduction
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.3 ©Silberschatz, Korth and Sudarshan
Database Applications Examples (Cont.)
Database System Concepts - 7th Edition 1.4 ©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 induplication of information in different files
Difficulty in accessing data
• No ‘semantic relation’ can be meaningfully established across data
• May require complicated sequence of actions to retrieve related information
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.5 ©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.6 ©Silberschatz, Korth and Sudarshan
Relational Model
Columns
Rows
Ted Codd
Turing Award 1981
Database System Concepts - 7th Edition 1.9 ©Silberschatz, Korth and Sudarshan
A Sample Relational Database
Database System Concepts - 7th Edition 1.10 ©Silberschatz, Korth and Sudarshan
View of Data
Database System Concepts - 7th Edition 1.12 ©Silberschatz, Korth and Sudarshan
Instances and Schemas
Database System Concepts - 7th Edition 1.13 ©Silberschatz, Korth and Sudarshan
Data Definition Language (DDL)
• Authorization
Who can access what
Database System Concepts - 7th Edition 1.14 ©Silberschatz, Korth and Sudarshan
Data Manipulation Language (DML)
Database System Concepts - 7th Edition 1.15 ©Silberschatz, Korth and Sudarshan
SQL Query Language
Database System Concepts - 7th Edition 1.16 ©Silberschatz, Korth and Sudarshan
Database Access from Application Program
Database System Concepts - 7th Edition 1.17 ©Silberschatz, Korth and Sudarshan
Database Design
Database System Concepts - 7th Edition 1.18 ©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.19 ©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
Database System Concepts - 7th Edition 1.20 ©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.21 ©Silberschatz, Korth and Sudarshan
Query Processor
Database System Concepts - 7th Edition 1.22 ©Silberschatz, Korth and Sudarshan
Transaction Management
Database System Concepts - 7th Edition 1.23 ©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.24 ©Silberschatz, Korth and Sudarshan