SlideShare a Scribd company logo
1 of 6
Download to read offline
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1
Database Management Systems
Chapter 1
Instructor: Raghu Ramakrishnan
raghu@cs.wisc.edu
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 2
What Is a DBMS?
 
A very large, integrated collection of data.
 
Models real-world enterprise.
¡
Entities (e.g., students, courses)
¡
Relationships (e.g., Madonna is taking CS564)
 
A Database Management System (DBMS) is a
software package designed to store and
manage databases.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 3
Files vs. DBMS
 
Application must stage large datasets
between main memory and secondary
storage (e.g., buffering, page-oriented access,
32-bit addressing, etc.)
 
Special code for different queries
 
Must protect data from inconsistency due to
multiple concurrent users
 
Crash recovery
 
Security and access control
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 4
Why Use a DBMS?
 
Data independence and efficient access.
 
Reduced application development time.
 
Data integrity and security.
 
Uniform data administration.
 
Concurrent access, recovery from crashes.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 5
Why Study Databases??
 
Shift from computation to information
¡
at the “low end”: scramble to webspace (a mess!)
¡
at the “high end”: scientific applications
 
Datasets increasing in diversity and volume.
¡
Digital libraries, interactive video, Human
Genome project, EOS project
¡
... need for DBMS exploding
 
DBMS encompasses most of CS
¡
OS, languages, theory, “A”I, multimedia, logic
?
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 6
Data Models
 
A data model is a collection of concepts for
describing data.
 
A schema is a description of a particular
collection of data, using the a given data
model.
 
The relational model of data is the most widely
used model today.
¡
Main concept: relation, basically a table with rows
and columns.
¡
Every relation has a schema, which describes the
columns, or fields.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 7
Levels of Abstraction
 
Many views, single
conceptual (logical) schema
and physical schema.
¡
Views describe how users
see the data.
¡
Conceptual schema defines
logical structure
¡
Physical schema describes
the files and indexes used.
* Schemas are defined using DDL; data is modified/queried using DML.
Physical Schema
Conceptual Schema
View 1 View 2 View 3
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 8
Example: University Database
 
Conceptual schema:
¡
Students(sid: string, name: string, login: string,
age: integer, gpa:real)
¡
Courses(cid: string, cname:string, credits:integer)
¡
Enrolled(sid:string, cid:string, grade:string)
 
Physical schema:
¡
Relations stored as unordered files.
¡
Index on first column of Students.
 
External Schema (View):
¡
Course_info(cid:string,enrollment:integer)
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 9
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!
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 10
Concurrency Control
 
Concurrent execution of user programs
is essential for good DBMS performance.
¡
Because disk accesses are frequent, and relatively
slow, it is important to keep the cpu humming by
working on several user programs concurrently.
 
Interleaving actions of different user programs
can lead to inconsistency: e.g., check is cleared
while account balance is being computed.
 
DBMS ensures such problems don’t arise: users
can pretend they are using a single-user system.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 11
Transaction: An Execution of a DB Program
 
Key concept is transaction, which is an atomic
sequence of database actions (reads/writes).
 
Each transaction, executed completely, must
leave the DB in a consistent state if DB is
consistent when the transaction begins.
¡
Users can specify some simple integrity constraints on
the data, and the DBMS will enforce these constraints.
¡
Beyond this, the DBMS does not really understand the
semantics of the data. (e.g., it does not understand
how the interest on a bank account is computed).
¡
Thus, ensuring that a transaction (run alone) preserves
consistency is ultimately the user’s responsibility!
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 12
Scheduling Concurrent Transactions
 
DBMS ensures that execution of {T1, ... , Tn} is
equivalent to some serial execution T1’ ... Tn’.
¡
Before reading/writing an object, a transaction requests
a lock on the object, and waits till the DBMS gives it the
lock. All locks are released at the end of the transaction.
(Strict 2PL locking protocol.)
¡
Idea: If an action of Ti (say, writing X) affects Tj (which
perhaps reads X), one of them, say Ti, will obtain the
lock on X first and Tj is forced to wait until Ti completes;
this effectively orders the transactions.
¡
What if Tj already has a lock on Y and Ti later requests a
lock on Y? (Deadlock!) Ti or Tj is aborted and restarted!
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 13
Ensuring Atomicity
 
DBMS ensures atomicity (all-or-nothing property)
even if system crashes in the middle of a Xact.
 
Idea: Keep a log (history) of all actions carried out
by the DBMS while executing a set of Xacts:
¡
Before a change is made to the database, the
corresponding log entry is forced to a safe location.
(WAL protocol; OS support for this is often inadequate.)
¡
After a crash, the effects of partially executed
transactions are undone using the log. (Thanks to WAL, if
log entry wasn’t saved before the crash, corresponding
change was not applied to database!)
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 14
The Log
 
The following actions are recorded in the log:
¡
Ti writes an object: the old value and the new value.
• Log record must go to disk before the changed page!
¡
Ti commits/aborts: a log record indicating this action.
 
Log records chained together by Xact id, so it’s easy to
undo a specific Xact (e.g., to resolve a deadlock).
 
Log is often duplexed and archived on “stable” storage.
 
All log related activities (and in fact, all CC related
activities such as lock/unlock, dealing with deadlocks
etc.) are handled transparently by the DBMS.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 15
Databases make these folks happy ...
 
End users and DBMS vendors
 
DB application programmers
¡
E.g. smart webmasters
 
Database administrator (DBA)
¡
Designs logical /physical schemas
¡
Handles security and authorization
¡
Data availability, crash recovery
¡
Database tuning as needs evolve
Must understand how a DBMS works!
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 16
Structure of a DBMS
 
A typical DBMS has a
layered architecture.
 
The figure does not
show the concurrency
control and recovery
components.
 
This is one of several
possible architectures;
each system has its own
variations.
Query Optimization
and Execution
Relational Operators
Files and Access Methods
Buffer Management
Disk Space Management
DB
These layers
must consider
concurrency
control and
recovery
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 17
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.

More Related Content

What's hot

1.4 data independence
1.4 data independence1.4 data independence
1.4 data independenceBHARATH KUMAR
 
Introduction to RDBMS
Introduction to RDBMSIntroduction to RDBMS
Introduction to RDBMSSarmad Ali
 
Dbms Concepts
Dbms ConceptsDbms Concepts
Dbms Conceptsadukkas
 
Database systems assignment 1
Database systems   assignment 1Database systems   assignment 1
Database systems assignment 1Nelson Kimathi
 
Efficient Database Design for Banking System
Efficient Database Design for Banking SystemEfficient Database Design for Banking System
Efficient Database Design for Banking SystemS.M. Murad Hasan Tanvir
 
Data Models [DATABASE SYSTEMS: Design, Implementation, and Management]
Data Models [DATABASE SYSTEMS: Design, Implementation, and Management]Data Models [DATABASE SYSTEMS: Design, Implementation, and Management]
Data Models [DATABASE SYSTEMS: Design, Implementation, and Management]Usman Tariq
 
Datamodels & architecture
Datamodels & architectureDatamodels & architecture
Datamodels & architectureNeeraj Kumar
 
Introduction to Data Abstraction
Introduction to Data AbstractionIntroduction to Data Abstraction
Introduction to Data AbstractionDennis Gajo
 
Week 3 Classification of Database Management Systems & Data Modeling
Week 3 Classification of Database Management Systems & Data ModelingWeek 3 Classification of Database Management Systems & Data Modeling
Week 3 Classification of Database Management Systems & Data Modelingoudesign
 

What's hot (20)

1.4 data independence
1.4 data independence1.4 data independence
1.4 data independence
 
Introduction to RDBMS
Introduction to RDBMSIntroduction to RDBMS
Introduction to RDBMS
 
Db4 th
Db4 thDb4 th
Db4 th
 
Dbms Concepts
Dbms ConceptsDbms Concepts
Dbms Concepts
 
DBMS
DBMSDBMS
DBMS
 
Database systems assignment 1
Database systems   assignment 1Database systems   assignment 1
Database systems assignment 1
 
Dbms Lecture Notes
Dbms Lecture NotesDbms Lecture Notes
Dbms Lecture Notes
 
Efficient Database Design for Banking System
Efficient Database Design for Banking SystemEfficient Database Design for Banking System
Efficient Database Design for Banking System
 
Unit01 dbms
Unit01 dbmsUnit01 dbms
Unit01 dbms
 
Data Models [DATABASE SYSTEMS: Design, Implementation, and Management]
Data Models [DATABASE SYSTEMS: Design, Implementation, and Management]Data Models [DATABASE SYSTEMS: Design, Implementation, and Management]
Data Models [DATABASE SYSTEMS: Design, Implementation, and Management]
 
Advanced Database System
Advanced Database SystemAdvanced Database System
Advanced Database System
 
Architecture of dbms
Architecture of dbmsArchitecture of dbms
Architecture of dbms
 
ans3ed-oddonly.pdf
ans3ed-oddonly.pdfans3ed-oddonly.pdf
ans3ed-oddonly.pdf
 
Database
DatabaseDatabase
Database
 
Data Abstraction
Data AbstractionData Abstraction
Data Abstraction
 
Datamodels & architecture
Datamodels & architectureDatamodels & architecture
Datamodels & architecture
 
RDBMS.ppt
RDBMS.pptRDBMS.ppt
RDBMS.ppt
 
Dbms models
Dbms modelsDbms models
Dbms models
 
Introduction to Data Abstraction
Introduction to Data AbstractionIntroduction to Data Abstraction
Introduction to Data Abstraction
 
Week 3 Classification of Database Management Systems & Data Modeling
Week 3 Classification of Database Management Systems & Data ModelingWeek 3 Classification of Database Management Systems & Data Modeling
Week 3 Classification of Database Management Systems & Data Modeling
 

Similar to Ch1 intro (20)

Ch1_Intro-95.ppt
Ch1_Intro-95.pptCh1_Intro-95.ppt
Ch1_Intro-95.ppt
 
Mydbms
MydbmsMydbms
Mydbms
 
Database Management Systems (DBMS)
Database Management Systems (DBMS)Database Management Systems (DBMS)
Database Management Systems (DBMS)
 
Intro to dbms
Intro to dbmsIntro to dbms
Intro to dbms
 
Computer lecture (1) m.nasir
Computer lecture (1) m.nasirComputer lecture (1) m.nasir
Computer lecture (1) m.nasir
 
Overview of databases
Overview of databasesOverview of databases
Overview of databases
 
Dbms1
Dbms1Dbms1
Dbms1
 
27 fcs157al2
27 fcs157al227 fcs157al2
27 fcs157al2
 
DBMS.pptx
DBMS.pptxDBMS.pptx
DBMS.pptx
 
Chp-1.pptx
Chp-1.pptxChp-1.pptx
Chp-1.pptx
 
Database Management System.pptx
Database Management System.pptxDatabase Management System.pptx
Database Management System.pptx
 
Chapter 1( intro & overview)
Chapter 1( intro & overview)Chapter 1( intro & overview)
Chapter 1( intro & overview)
 
Harsh
HarshHarsh
Harsh
 
database introductoin optimization1-app6891.pdf
database introductoin optimization1-app6891.pdfdatabase introductoin optimization1-app6891.pdf
database introductoin optimization1-app6891.pdf
 
Introduction to Database
Introduction to DatabaseIntroduction to Database
Introduction to Database
 
Introduction to Databases and Transactions
Introduction to Databases and TransactionsIntroduction to Databases and Transactions
Introduction to Databases and Transactions
 
Cdocumentsandsettingsuser1desktop2 dbmsexamples-091012013049-phpapp01
Cdocumentsandsettingsuser1desktop2 dbmsexamples-091012013049-phpapp01Cdocumentsandsettingsuser1desktop2 dbmsexamples-091012013049-phpapp01
Cdocumentsandsettingsuser1desktop2 dbmsexamples-091012013049-phpapp01
 
Lect 1-2
Lect 1-2Lect 1-2
Lect 1-2
 
DBMS-material for b.tech students to learn
DBMS-material for b.tech students to learnDBMS-material for b.tech students to learn
DBMS-material for b.tech students to learn
 
Introduction To Database.ppt
Introduction To Database.pptIntroduction To Database.ppt
Introduction To Database.ppt
 

Recently uploaded

MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Analog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAnalog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAbhinavSharma374939
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxhumanexperienceaaa
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 

Recently uploaded (20)

MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Analog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAnalog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog Converter
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 

Ch1 intro

  • 1. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Database Management Systems Chapter 1 Instructor: Raghu Ramakrishnan raghu@cs.wisc.edu Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 2 What Is a DBMS?   A very large, integrated collection of data.   Models real-world enterprise. ¡ Entities (e.g., students, courses) ¡ Relationships (e.g., Madonna is taking CS564)   A Database Management System (DBMS) is a software package designed to store and manage databases. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 3 Files vs. DBMS   Application must stage large datasets between main memory and secondary storage (e.g., buffering, page-oriented access, 32-bit addressing, etc.)   Special code for different queries   Must protect data from inconsistency due to multiple concurrent users   Crash recovery   Security and access control
  • 2. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 4 Why Use a DBMS?   Data independence and efficient access.   Reduced application development time.   Data integrity and security.   Uniform data administration.   Concurrent access, recovery from crashes. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 5 Why Study Databases??   Shift from computation to information ¡ at the “low end”: scramble to webspace (a mess!) ¡ at the “high end”: scientific applications   Datasets increasing in diversity and volume. ¡ Digital libraries, interactive video, Human Genome project, EOS project ¡ ... need for DBMS exploding   DBMS encompasses most of CS ¡ OS, languages, theory, “A”I, multimedia, logic ? Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 6 Data Models   A data model is a collection of concepts for describing data.   A schema is a description of a particular collection of data, using the a given data model.   The relational model of data is the most widely used model today. ¡ Main concept: relation, basically a table with rows and columns. ¡ Every relation has a schema, which describes the columns, or fields.
  • 3. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 7 Levels of Abstraction   Many views, single conceptual (logical) schema and physical schema. ¡ Views describe how users see the data. ¡ Conceptual schema defines logical structure ¡ Physical schema describes the files and indexes used. * Schemas are defined using DDL; data is modified/queried using DML. Physical Schema Conceptual Schema View 1 View 2 View 3 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 8 Example: University Database   Conceptual schema: ¡ Students(sid: string, name: string, login: string, age: integer, gpa:real) ¡ Courses(cid: string, cname:string, credits:integer) ¡ Enrolled(sid:string, cid:string, grade:string)   Physical schema: ¡ Relations stored as unordered files. ¡ Index on first column of Students.   External Schema (View): ¡ Course_info(cid:string,enrollment:integer) Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 9 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!
  • 4. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 10 Concurrency Control   Concurrent execution of user programs is essential for good DBMS performance. ¡ Because disk accesses are frequent, and relatively slow, it is important to keep the cpu humming by working on several user programs concurrently.   Interleaving actions of different user programs can lead to inconsistency: e.g., check is cleared while account balance is being computed.   DBMS ensures such problems don’t arise: users can pretend they are using a single-user system. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 11 Transaction: An Execution of a DB Program   Key concept is transaction, which is an atomic sequence of database actions (reads/writes).   Each transaction, executed completely, must leave the DB in a consistent state if DB is consistent when the transaction begins. ¡ Users can specify some simple integrity constraints on the data, and the DBMS will enforce these constraints. ¡ Beyond this, the DBMS does not really understand the semantics of the data. (e.g., it does not understand how the interest on a bank account is computed). ¡ Thus, ensuring that a transaction (run alone) preserves consistency is ultimately the user’s responsibility! Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 12 Scheduling Concurrent Transactions   DBMS ensures that execution of {T1, ... , Tn} is equivalent to some serial execution T1’ ... Tn’. ¡ Before reading/writing an object, a transaction requests a lock on the object, and waits till the DBMS gives it the lock. All locks are released at the end of the transaction. (Strict 2PL locking protocol.) ¡ Idea: If an action of Ti (say, writing X) affects Tj (which perhaps reads X), one of them, say Ti, will obtain the lock on X first and Tj is forced to wait until Ti completes; this effectively orders the transactions. ¡ What if Tj already has a lock on Y and Ti later requests a lock on Y? (Deadlock!) Ti or Tj is aborted and restarted!
  • 5. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 13 Ensuring Atomicity   DBMS ensures atomicity (all-or-nothing property) even if system crashes in the middle of a Xact.   Idea: Keep a log (history) of all actions carried out by the DBMS while executing a set of Xacts: ¡ Before a change is made to the database, the corresponding log entry is forced to a safe location. (WAL protocol; OS support for this is often inadequate.) ¡ After a crash, the effects of partially executed transactions are undone using the log. (Thanks to WAL, if log entry wasn’t saved before the crash, corresponding change was not applied to database!) Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 14 The Log   The following actions are recorded in the log: ¡ Ti writes an object: the old value and the new value. • Log record must go to disk before the changed page! ¡ Ti commits/aborts: a log record indicating this action.   Log records chained together by Xact id, so it’s easy to undo a specific Xact (e.g., to resolve a deadlock).   Log is often duplexed and archived on “stable” storage.   All log related activities (and in fact, all CC related activities such as lock/unlock, dealing with deadlocks etc.) are handled transparently by the DBMS. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 15 Databases make these folks happy ...   End users and DBMS vendors   DB application programmers ¡ E.g. smart webmasters   Database administrator (DBA) ¡ Designs logical /physical schemas ¡ Handles security and authorization ¡ Data availability, crash recovery ¡ Database tuning as needs evolve Must understand how a DBMS works!
  • 6. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 16 Structure of a DBMS   A typical DBMS has a layered architecture.   The figure does not show the concurrency control and recovery components.   This is one of several possible architectures; each system has its own variations. Query Optimization and Execution Relational Operators Files and Access Methods Buffer Management Disk Space Management DB These layers must consider concurrency control and recovery Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 17 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.