Download as pdf or txt
Download as pdf or txt
You are on page 1of 103

Database Management

Systems
Module 01: Course Overview

Partha Pratim Das ​Department of Computer Science and Engineering Indian


Institute of Technology, Kharagpur

ppd@cse.iitkgp.ernet.in

Srijoni Majumdar Himadri B G S Bhuyan Gurunath Reddy M

Database System Concepts, 6​th ​Ed​.


©Silberschatz, Korth and Sudarshan ​www.db-book.com

Slides marked with ‘PPD’ are new or edited


©Silberschatz, Korth and Sudarshan 01.2 Database System Concepts - 6​th ​Edition

of database management
Module systems in modern day
Objectives applications
▪ ​To Know Your Course
PPD

▪ ​To understand the importance


©Silberschatz, Korth and Sudarshan 01.3 Database System Concepts - 6​th ​Edition

Module Outline ▪ ​Course Outline


▪ ​Course Text Book
▪ ​Course TAs
▪ ​Why Databases? PPD

▪ ​KYC: Know Your Course

▪ ​Course Prerequisite
©Silberschatz, Korth and Sudarshan 01.4 Database System Concepts - 6​th ​Edition

WHY DATABASES?
PPD

▪​Why Databases?
▪KYC: Know Your Course
©Silberschatz, Korth and Sudarshan 01.5 Database System Concepts - 6​th ​Edition

Database Management System


(DBMS)
▪ ​DBMS contains information about a particular ​enterprise

▪ ​Collection of interrelated ​data

▪ ​Set of ​programs ​to access the data


▪ ​An ​ nd ​efficient ​to use
​environment ​that is both ​convenient a
▪ ​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


©Silberschatz, Korth and Sudarshan 01.6 Database System Concepts - 6​th ​Edition

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

©Silberschatz, Korth and Sudarshan 01.7 Database System Concepts - 6​th ​Edition

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
©Silberschatz, Korth and Sudarshan 01.8 Database System Concepts - 6​th ​Edition

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


©Silberschatz, Korth and Sudarshan 01.9 Database System Concepts - 6​th ​Edition

KNOW YOUR COURSE


PPD

▪Why Databases?
▪​KYC: Know Your Course
©Silberschatz, Korth and Sudarshan 01.10 Database System Concepts - 6​th ​Edition

Course – ​Intentional Definition

Prerequisites – ​Extensional Definition

– ​Set-builder Notation

▪ ​Essential > ​Membership,


Subset,
Superset, Power Set, Universal
▪ ​Set Theory
Set
> ​Definition of a Set
> ​Operations on sets: > ​MOOCs:Discrete
Mathematics​:
– ​Union, Intersection,
https://nptel.ac.in/noc/individual
Complement, Difference,
_course.php?id=noc16-ma01
Cartesian Product PPD

> ​De Morgan’s Law

©Silberschatz, Korth and Sudarshan 01.11 Database System Concepts - 6​th ​Edition

Course Prerequisites
> ​Definition of Functions
▪ ​Essential

▪ ​Relations and Functions > ​Propertiesof Functions –


Injective, Surjective, Bijective
> ​Definition of Relations
> ​Composition of Functions
> ​Ordered Pairs and Binary
> ​Inverse of a Function
Relations
>​MOOCs:Discrete
– ​Domain and Range Mathematics​:
– ​Image, Preimage, Inverse ​– https://nptel.ac.in/noc/individ
Properties – Reflexive, ual_course.php?id=noc16-m
Symmetric, Antisymmetric, a01
Transitive, PPD

Total
©Silberschatz, Korth and Sudarshan 01.12 Database System Concepts - 6​th ​Edition
PPD

Course ▪ ​Essential
Prerequisites ▪ ​Propositional Logic

> ​TruthValues & Truth Tables ​> ​Operators: conjunction (and),


disjunction (or), negation (not), implication, equivalence
> ​Closure under Operations
> ​MOOCs: Discrete Mathematics​:
https://nptel.ac.in/noc/individual_course.php?id=noc16-ma01
▪ ​Predicate Logic

​ ​Quantification
> ​Predicates > – Existential, Universal

> ​MOOCs: Discrete Mathematics​:


https://nptel.ac.in/noc/individual_course.php?id=noc16-ma01

©Silberschatz, Korth and Sudarshan 01.13 Database System Concepts - 6​th ​Edition
Course > ​B-Tree

Prerequisites > ​HashTable / Map ​> ​MOOCs:


Design and Analysis of
Algorithms​:
▪ ​Essential https://nptel.ac.in/noc/individual
_course.php?id=noc17-cs27 ​>
▪ ​Data Structures
MOOCs: Fundamental
> ​Array Algorithms – Design and
Analysis​:
> ​List https://nptel.ac.in/noc/individual
_course.php?id=noc16-cs24
> ​Binary Search Tree
PPD

– ​Balanced Tree
©Silberschatz, Korth and Sudarshan 01.14 Database System Concepts - 6​th ​Edition

Course > ​Sorting

Prerequisites – ​Merge Sort ​– ​Quick Sort


> ​Search

– ​Linear Search ​– ​Binary


▪ ​Essential
Search ​– ​Interpolation Search ​>
▪ ​Algorithms
and MOOCs: Design and Analysis
Programming in C of Algorithms​:
https://nptel.ac.in/noc/individual https://nptel.ac.in/noc/individual
_course.php?id=noc17-cs27 ​> _course.php?id=noc17-cs43
MOOCs: Introduction to PPD

Programming in C​:

©Silberschatz, Korth and Sudarshan 01.15 Database System Concepts - 6​th ​Edition
PPD

Course ▪ ​Desirable
Prerequisites ▪ ​Object-Oriented Analysis
and Design
_course.php?id=noc17-cs25
▪ ​MOOCs: Object-Oriented
Analysis and Design​: ▪ ​Programming in C++ / Java
https://nptel.ac.in/noc/individual
▪ ​MOOCs: Programming in C++​:
https://nptel.ac.in/noc/individual_course.php?id=noc17- cs24

©Silberschatz, Korth and Sudarshan 01.16 Database System Concepts - 6​th ​Edition

:
Week Topics ​Week 1 C
​ ourse
Course Outline Overview
PPD

Introduction to RDBMS ​Week 2 S


​ tructured Query Language (SQL)
Week 3 ​Relational Algebra
Entity-Relationship Model ​Week 4 ​Relational Database Design ​Week 5
Application Development Case Studies Storage and File Structure
Week 6 ​Indexing and Hashing
Query Processing ​Week 7 ​Query Optimization
Transactions (Serializability and Recoverability) ​Week 8 ​Concurrency
Control
Recovery Systems Course Summarization
©Silberschatz, Korth and Sudarshan 01.17 Database System Concepts - 6​th ​Edition

Course
Textbook
PPD
7​th ​Edition will also do

Website​: ​http://db-book.com/
©Silberschatz, Korth and Sudarshan 01.18 Database System Concepts - 6​th ​Edition

himadribhuyan@gmail.com​,
Course TAs 9438911655
▪ ​Gurunath Reddy M,
▪ ​Srijoni Majumdar, mgurunathreddy@gmail.com​,
majumdarsrijoni@gmail.com​, 9434137638
PPD
9674474267
▪ ​Himadri B G S Bhuyan,
©Silberschatz, Korth and Sudarshan 01.19 Database System Concepts - 6​th ​Edition

database management systems


Module in modern day applications
Summary ▪ ​Introduced various aspects of
the Course
PPD

▪ ​Elucidates the importance of


©Silberschatz, Korth and Sudarshan 01.20 Database System Concepts - 6​th ​Edition

PPD ​Instructor and TAs

Name Mail Mobile


Partha Pratim Das, Instructor ppd@cse.iitkgp.ernet.in 9830030880

Srijoni Majumdar, TA majumdarsrijoni@gmail.com 9674474267

Himadri B G S Bhuyan, TA himadribhuyan@gmail.com 9438911655


Gurunath Reddy M mgurunathreddy@gmail.com 9434137638

Slides used in this presentation are borrowed from ​http://db-


book.com/ ​with kind permission of the authors.

Edited and new slides are marked with “PPD”.

Database Management
Systems
Module 02: Introduction to DBMS/1
Slides marked with ‘PPD’ are new or edited
Partha Pratim Das ​Department of Computer Science and Engineering Indian
Institute of Technology, Kharagpur

ppd@cse.iitkgp.ernet.in

Srijoni Majumdar Himadri B G S Bhuyan Gurunath Reddy M

Database System Concepts, 6​th ​Ed​.


©Silberschatz, Korth and Sudarshan ​www.db-book.com
©Silberschatz, Korth and Sudarshan 02.2 Database System Concepts - 6​th ​Edition

Module Recap ▪ ​Course Outline


▪ ​Course Text Book
▪ ​Course TAs
▪ ​Why Databases? PPD

▪ ​KYC: Know Your Course

▪ ​Course Prerequisite
©Silberschatz, Korth and Sudarshan 02.3 Database System Concepts - 6​th ​Edition

PPD ​Module Objectives

▪ ​To familiarize with the basic notions and terminology of database


management systems
▪ ​To understand the role of data models and languages

▪ ​To understand the approaches to database design


©Silberschatz, Korth and Sudarshan 02.4 Database System Concepts - 6​th ​Edition

Module Outline ▪ ​Relational Databases

▪ ​DDL & DML

▪ ​SQL
▪ ​Levels of Abstraction
▪ ​Database Design
▪ ​Schema & Instance
PPD

▪ ​Data Models
©Silberschatz, Korth and Sudarshan 02.5 Database System Concepts - 6​th ​Edition
LEVELS OF
ABSTRACTION​ ▪​Levels of Abstraction

▪Schema & Instance


▪Data Models
▪DDL & DML
▪SQL
▪Database Design
PPD
©Silberschatz, Korth and Sudarshan 02.6 Database System Concepts - 6​th ​Edition

Levels of Abstraction

▪ ​Physical level: ​describes how a record (e.g., instructor) is stored

▪ ​Logical level: ​describes data stored in database, and the


relationships among the data
​ ​record
type ​instructor =
ID ​: string; ​name ​: string; ​dept_name :​ string; ​salary ​: integer; ​end​;

▪ ​View level: ​application programs hide details of data types

▪ ​Viewscan also hide information (such as an employee’s salary) for


security purposes

©Silberschatz, Korth and Sudarshan 02.7 Database System Concepts - 6​th ​Edition

View of Data
An architecture for a database system

©Silberschatz, Korth and Sudarshan 02.8 Database System Concepts - 6​th ​Edition

SCHEMA AND INSTANCE


▪Levels of Abstraction
▪​Schema & Instance
▪Data Models
▪DDL & DML
▪SQL
▪Database Design
PPD

©Silberschatz, Korth and Sudarshan 02.9 Database System Concepts - 6​th ​Edition

in programming languages
Schemas and
▪ ​Schema
Instances ▪ ​Logical Schema ​– the overall
logical structure of the database
▪ ​Similar to types and variables ▪ ​Analogous to type information
of a variable in a program
Account # Account Type
▪ ​Example: The database
Interest Rate Min. Bal.
consists of information about a
Balance
set of customers and accounts
in a bank and the relationship
▪ ​Physical Schema​– the overall
between them
physical structure of the
▪ ​Customer Schema database
PPD
Name Customer ID Account #
Aadhaar ID Mobile #

▪ ​Account Schema
©Silberschatz, Korth and Sudarshan 02.10 Database System Concepts - 6​th ​Edition

time
Schemas and
▪ ​Analogous to the value of a
Instances variable
▪ ​Customer Instance
▪ ​Instance Name Customer ID Account #
▪ ​The
actual content of the Aadhaar ID Mobile # ​Pavan
database at a particular point in Laha 6728 917322
182719289372 9830100291
Lata Kala 8912 827183 Account # Account Type
918291204829 7189203928 Interest Rate Min. Bal.
Nand Prabhu 6617 372912 Balance ​917322 Savings 4.0%
127837291021 8892021892 5000 7812 372912 Current
0.0% 0 291820 827183 Term
Deposit 6.75% 10000 100000
▪ ​Account Instance PPD

©Silberschatz, Korth and Sudarshan 02.11 Database System Concepts - 6​th ​Edition

Schemas and Instances


▪ ​Physical Data Independence ​– the ability to modify the physical
schema without changing the logical schema
▪ ​Analogousto independence of ‘Interface’ and ‘Implementation’ in
Object-Oriented Systems

▪ ​Applications depend on the logical schema


▪ ​Ingeneral, the interfaces between the various levels and components
should be well defined so that changes in some parts do not seriously
influence others.
©Silberschatz, Korth and Sudarshan 02.12 Database System Concepts - 6​th ​Edition

DATA MODELS
▪Levels of Abstraction
▪Schema & Instance
▪​Data Models
▪DDL & DML
▪SQL
▪Database Design
PPD
©Silberschatz, Korth and Sudarshan 02.13 Database System Concepts - 6​th ​Edition

Data Models

▪ ​A collection of tools for describing


▪ ​Data

▪ ​Data relationships
▪ ​Data semantics
▪ ​Data constraints

▪ ​Relational model ​(we focus in this course)

▪ ​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
©Silberschatz, Korth and Sudarshan 02.14 Database System Concepts - 6​th ​Edition

Relational Model

▪ ​All the data is stored in various tables


Columns
▪ ​Example of tabular data in the relational model ​
Rows

©Silberschatz, Korth and Sudarshan 02.15 Database System Concepts - 6​th ​Edition

A Sample Relational Database


©Silberschatz, Korth and Sudarshan 02.16 Database System Concepts - 6​th ​Edition

DDL AND DML


▪Levels of Abstraction
▪Schema & Instance
▪Data Models
▪​DDL & DML
▪SQL
▪Database Design
PPD
©Silberschatz, Korth and Sudarshan 02.17 Database System Concepts - 6​th ​Edition

Data Definition Language (DDL)

▪ ​Specification notation for defining the database schema

▪ ​Example: ​create table ​instructor (​


ID ​char​(5), ​name v
​ archar​(20)​, ​dept_name ​varchar​(20), ​salary n
​ umeric​(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 identifies instructors)
▪ ​Authorization

> ​Who can access what

©Silberschatz, Korth and Sudarshan 02.18 Database System Concepts - 6​th ​Edition
Data Manipulation Language (DML)

▪ ​Language for accessing and manipulating the data organized by the


appropriate data model
▪ ​DML also known as query language

▪ ​Two classes of languages

▪ ​Pure​ used for proving properties about computational power and for

optimization
> ​Relational Algebra ​(we focus in this course)

> ​Tuple relational calculus ​> ​Domain relational calculus

▪ ​Commercial ​– used in commercial systems

> ​SQL is the most widely used commercial language


©Silberschatz, Korth and Sudarshan 02.19 Database System Concepts - 6​th ​Edition

SQL
▪Levels of Abstraction
▪Schema & Instance
▪Data Models
▪DDL & DML
▪​SQL
▪Database Design
PPD
©Silberschatz, Korth and Sudarshan 02.20 Database System Concepts - 6​th ​Edition

SQL

▪ ​The most widely used commercial language

▪ ​SQL is NOT a Turing machine equivalent language

▪ ​Cannotbe used to solve all problems that a C program, for example,


can solve
▪ ​To be able to compute complex functions SQL is usually embedded
in some higher-level language

▪ ​Application programs generally access databases through one of

▪ ​Language extensions to allow embedded SQL

▪ ​Application
program interface (e.g., ODBC/JDBC) which allow SQL
queries to be sent to a database

©Silberschatz, Korth and Sudarshan 02.21 Database System Concepts - 6​th ​Edition
DATABASE DESIGN
▪Levels of Abstraction
▪Schema & Instance
▪Data Models
▪DDL & DML
▪SQL
▪​Database Design
PPD

©Silberschatz, Korth and Sudarshan 02.22 Database System Concepts - 6​th ​Edition
Database Design

The process of designing the general structure of the database:

▪ ​Logical Design ​– Deciding on the database schema. Database


design requires that we find a “good” collection of relation schemas.
▪ ​Business decision

▪ ​What attributes should we record in the database?


▪ ​Computer Science decision
▪ ​Whatrelation schemas should we have and how should the attributes
be distributed among the various relation schemas?
▪ ​Physical Design ​– Deciding on the physical layout of the database
©Silberschatz, Korth and Sudarshan 02.23 Database System Concepts - 6​th ​Edition

Database Design (Cont.)

▪ ​Is there any problem with this relation?


©Silberschatz, Korth and Sudarshan 02.24 Database System Concepts - 6​th ​Edition

database management systems


Module
▪ ​Introduced the role of data
Summary models and languages
▪ ​Introduced the approaches to
database design
▪ ​Familiarized with the basic PPD

notions and terminology of


©Silberschatz, Korth and Sudarshan 02.25 Database System Concepts - 6​th ​Edition

PPD ​Instructor and TAs

Name Mail Mobile


Partha Pratim Das, Instructor ppd@cse.iitkgp.ernet.in 9830030880

Srijoni Majumdar, TA majumdarsrijoni@gmail.com 9674474267

Himadri B G S Bhuyan, TA himadribhuyan@gmail.com 9438911655


Gurunath Reddy M mgurunathreddy@gmail.com 9434137638

Slides used in this presentation are borrowed from ​http://db-


book.com/ ​with kind permission of the authors.

Edited and new slides are marked with “PPD”.

Database Management
Systems
Module 03: Introduction to DBMS/2
Slides marked with ‘PPD’ are new or edited
Partha Pratim Das ​Department of Computer Science and Engineering Indian
Institute of Technology, Kharagpur

ppd@cse.iitkgp.ernet.in

Srijoni Majumdar Himadri B G S Bhuyan Gurunath Reddy M

Database System Concepts, 6​th ​Ed​.


©Silberschatz, Korth and Sudarshan ​www.db-book.com
©Silberschatz, Korth and Sudarshan 03.2 Database System Concepts - 6​th ​Edition

Module Recap ▪ ​Relational Databases

▪ ​DDL & DML

▪ ​SQL
▪ ​Levels of Abstraction
▪ ​Database Design
▪ ​Schema & Instance
PPD

▪ ​Data Models
©Silberschatz, Korth and Sudarshan 03.3 Database System Concepts - 6​th ​Edition

components of a database
Module engine
Objectives ▪ ​To familiarize with database
internals and architecture
▪ ​To understand the historical
▪ ​To understand models of
perspective
database management systems PPD

▪ ​To familiarize with major


©Silberschatz, Korth and Sudarshan 03.4 Database System Concepts - 6​th ​Edition

Module Outline ▪ ​Storage Management

▪ ​Query Processing

▪ ​Transaction Management
▪ ​Database Design
▪ ​Database Users and
▪ ​OO Relational Model
Administrators
▪ ​XML
▪ ​Database Internals &
▪ ​Database Engine Architecture
PPD
▪ ​History of DBMS

©Silberschatz, Korth and Sudarshan 03.5 Database System Concepts - 6​th ​Edition

DATABASE DESIGN
PPD

▪​Database Design
▪OO Relational Model
▪XML
▪Database Engine
▪Database Users and Administrators
▪Database Internals & Architecture
▪History of DBMS

©Silberschatz, Korth and Sudarshan 03.6 Database System Concepts - 6​th ​Edition

Database Design

The process of designing the general structure of the database:


▪ ​Logical Design

▪ ​Decidingon the database schema. Database design requires that we


find a “good” collection of relation schemas.
▪ ​Business decision

▪ ​What attributes should we record in the database?


▪ ​Computer Science decision

▪ ​Whatrelation schemas should we have and how should the attributes


be distributed among the various relation schemas?

▪ ​Physical Design

▪ ​Deciding on the physical layout of the database


©Silberschatz, Korth and Sudarshan 03.7 Database System Concepts - 6​th ​Edition

relation?
Database Design PPD

(Cont.)

▪ ​Is there any problem with this


©Silberschatz, Korth and Sudarshan 03.8 Database System Concepts - 6​th ​Edition

Design Approaches

▪ ​Need to come up with a methodology to ensure that each of the


relations in the database is “good”
▪ ​Two ways of doing so:

▪ ​Entity Relationship Model (Chapter 7)


> ​Models an enterprise as a collection of ​entities ​and
relationships >​ ​Represented diagrammatically by an ​entity-relationship
diagram:

▪ ​Normalization Theory (Chapter 8)


> ​Formalize what designs are bad, and test for them
©Silberschatz, Korth and Sudarshan 03.9 Database System Concepts - 6​th ​Edition

OBJECT-RELATIONAL DATA
MODELS​ PPD

▪Database Design
▪​OO Relational Model
▪XML
▪Database Engine
▪Database Users and Administrators
▪Database Internals & Architecture
▪History of DBMS
©Silberschatz, Korth and Sudarshan 03.10 Database System Concepts - 6​th ​Edition

Object-Relational Data Models

▪ ​Relational model: flat, “atomic” values

▪ ​Object Relational Data Models

▪ ​Extend
the relational data model by including object orientation and
constructs to deal with added data types
▪ ​Allow
attributes of tuples to have complex types, including non-
atomic values such as nested relations
▪ ​Preserverelational foundations, in particular the declarative access to
data, while extending modeling power
▪ ​Provide upward compatibility with existing relational languages

©Silberschatz, Korth and Sudarshan 03.11 Database System Concepts - 6​th ​Edition
PPD

▪Database Design
▪OO Relational Model
▪​XML
▪Database Engine
▪Database Users and Administrators
▪Database Internals & Architecture
▪History of DBMS

XML: EXTENSIBLE MARKUP


LANGUAGE
©Silberschatz, Korth and Sudarshan 03.12 Database System Concepts - 6​th ​Edition

XML: Extensible Markup Language

▪ ​Defined by the WWW Consortium (W3C)

▪ ​Originally intended as a document markup language not a database


language
▪ ​The ability to specify new tags, and to create nested tag structures
made XML a great way to exchange ​data​, not just documents
▪ ​XML has become the basis for all new generation data interchange
formats
▪ ​A wide variety of tools is available for parsing, browsing and querying
XML documents/data

©Silberschatz, Korth and Sudarshan 03.13 Database System Concepts - 6​th ​Edition

DATABASE ENGINE
PPD
▪Database Design
▪OO Relational Model
▪XML
▪​Database Engine
▪Database Users and Administrators
▪Database Internals & Architecture
▪History of DBMS

©Silberschatz, Korth and Sudarshan 03.14 Database System Concepts - 6​th ​Edition
Database Engine ▪ ​Query processing

▪ ​Transaction manager
PPD
▪ ​Storage manager

©Silberschatz, Korth and Sudarshan 03.15 Database System Concepts - 6​th ​Edition

Storage Management

▪ ​Storage manager ​is 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

▪ ​Issues:

▪ ​Storage access

▪ ​File organization
▪ ​Indexing and hashing
©Silberschatz, Korth and Sudarshan 03.16 Database System Concepts - 6​th ​Edition

Query Processing

1. Parsing and translation 2. Optimization 3. Evaluation


©Silberschatz, Korth and Sudarshan 03.17 Database System Concepts - 6​th ​Edition

Query Processing (Cont.)

▪ ​Alternative ways of evaluating a given query

▪ ​Equivalent expressions

▪ ​Different algorithms for each operation

▪ ​Cost difference between a good and a bad way of evaluating a query


can be enormous

▪ ​Need to estimate the cost of operations

▪ ​Depends
critically on statistical information about relations which the
database must maintain
▪ ​Need
to estimate statistics for intermediate results to compute cost of
complex expressions

©Silberschatz, Korth and Sudarshan 03.18 Database System Concepts - 6​th ​Edition

Transaction Management
▪ ​What if the system fails?

▪ ​What if more than one user is concurrently updating the same data?

▪ ​A ​transaction ​is a collection of operations that performs a single


logical function in a database application
▪ ​Transaction-management component ​ensures that the database
remains in a consistent (correct) state despite system failures (e.g.,
power failures and operating system crashes) and transaction failures.

▪ ​Concurrency-control manager ​controls the interaction among the


concurrent transactions, to ensure the consistency of the database.
©Silberschatz, Korth and Sudarshan 03.19 Database System Concepts - 6​th ​Edition

DATABASE USERS AND


ADMINISTRATOR
PPD

▪Database Design
▪OO Relational Model
▪XML
▪Database Engine
▪​Database Users and Administrators
▪Database Internals & Architecture
▪History of DBMS

©Silberschatz, Korth and Sudarshan 03.20 Database System Concepts - 6​th ​Edition

Database Users and Administrators


Database
©Silberschatz, Korth and Sudarshan 03.21 Database System Concepts - 6​th ​Edition

DATABASE INTERNALS AND


ARCHITECTURE
PPD

▪Database Design
▪OO Relational Model
▪XML
▪Database Engine
▪Database Users and Administrators
▪​Database Internals & Architecture
▪History of DBMS

©Silberschatz, Korth and Sudarshan 03.22 Database System Concepts - 6​th ​Edition

Database System Internals


©Silberschatz, Korth and Sudarshan 03.23 Database System Concepts - 6​th ​Edition

Database Architecture

The architecture of a database systems is greatly influenced by


the underlying computer system on which the database is running:

▪ ​Centralized

▪ ​Client-server
▪ ​Parallel (multi-processor)

▪ ​Distributed

©Silberschatz, Korth and Sudarshan 03.24 Database System Concepts - 6​th ​Edition

HISTORY OF DBMS
PPD

▪Database Design
▪OO Relational Model
▪XML
▪Database Engine
▪Database Users and Administrators
▪Database Internals & Architecture
▪​History of DBMS

©Silberschatz, Korth and Sudarshan 03.25 Database System Concepts - 6​th ​Edition

History of Database Systems


▪ ​1950s and early 1960s:

▪ ​Data processing using magnetic tapes for storage

▪ ​Tapes provided only sequential access


▪ ​Punched cards for input
▪ ​Late 1960s and 1970s:

▪ ​Hard disks allowed direct access to data

▪ ​Network and hierarchical data models in widespread use

▪ ​Ted Codd defines the relational data model


▪ ​Would win the ACM Turing Award for this work

▪ ​IBM Research begins System R prototype

▪ ​UC Berkeley begins Ingres prototype

▪ ​High-performance (for the era) transaction processing


©Silberschatz, Korth and Sudarshan 03.26 Database System Concepts - 6​th ​Edition

History (cont.)

▪ ​1980s:

▪ ​Research relational prototypes evolve into commercial systems


▪ ​SQL becomes industrial standard
▪ ​Parallel and distributed database systems
▪ ​Object-oriented database systems
▪ ​1990s:

▪ ​Large decision support and data-mining applications


▪ ​Large multi-terabyte data warehouses
▪ ​Emergence of Web commerce
▪ ​Early 2000s:

▪ ​XML and XQuery standards


▪ ​Automated database administration
▪ ​Later 2000s:

▪ ​Giant data storage systems


▪ ​Google BigTable, Yahoo PNuts, Amazon, ..
©Silberschatz, Korth and Sudarshan 03.27 Database System Concepts - 6​th ​Edition

Module ▪ ​Familiarized with major


components of a database
Summary engine
▪ ​Familiarized with database
internals and architecture
▪ ​Introduced models of database PPD

management systems
©Silberschatz, Korth and Sudarshan 03.28 Database System Concepts - 6​th ​Edition

9830030880
Instructor and
Srijoni Majumdar, TA
TAs majumdarsrijoni@gmail.com
9674474267

Himadri B G S Bhuyan, TA
Name Mail Mobile himadribhuyan@gmail.com
9438911655
Partha Pratim Das, Instructor
ppd@cse.iitkgp.ernet.in Gurunath Reddy M
mgurunathreddy@gmail.com kind permission of the
9434137638 authors.

Edited and new slides are


marked with “PPD”.
PPD

Slides used in this


presentation are borrowed
from ​http://db-book.com/ ​with

Module 04: Introduction to Relational


Model/1
Slides marked with ‘PPD’ are new or edited

Database Management
Systems

Partha Pratim Das ​Department of Computer Science and Engineering Indian


Institute of Technology, Kharagpur

ppd@cse.iitkgp.ernet.in

Srijoni Majumdar Himadri B G S Bhuyan Gurunath Reddy M

Database System Concepts, 6​th ​Ed​.


©Silberschatz, Korth and Sudarshan ​www.db-book.com
©Silberschatz, Korth and Sudarshan 04.2 Database System Concepts - 6​th ​Edition

Module Recap ▪ ​Storage Management

▪ ​Query Processing

▪ ​Transaction Management
▪ ​Database Design
▪ ​Database Users and
▪ ​OO Relational Model
Administrators
▪ ​XML
▪ ​Database Internals &
▪ ​Database Engine Architecture
PPD
▪ ​History of DBMS

©Silberschatz, Korth and Sudarshan 04.3 Database System Concepts - 6​th ​Edition

PPD ​Module Objectives

▪ ​To understand attributes and their types

▪ ​To understand the mathematical structure of relational model –


schema, instance and keys
▪ ​To familiarize with different types of relational query languages

©Silberschatz, Korth and Sudarshan 04.4 Database System Concepts - 6​th ​Edition

Module Outline ▪ ​Keys

▪ ​Relational Query Languages


PPD

▪ ​Attribute Types

▪ ​Relation Schema and Instance


©Silberschatz, Korth and Sudarshan 04.5 Database System Concepts - 6​th ​Edition

Example of a Relation

attributes (or columns)

tuples (or rows)


©Silberschatz, Korth and Sudarshan 04.6 Database System Concepts - 6​th ​Edition

ATTRIBUTES
PPD

▪​Attribute Types
▪Relation Schema and Instance
▪Keys
▪Relational Query Languages
©Silberschatz, Korth and Sudarshan 04.7 Database System Concepts - 6​th ​Edition

Alpha String
Attribute Types
▪ ​DoB​: Date
▪ ​The set of allowed values for ▪ ​Passport#​: String (Letter
each attribute is called the followed by 7 digits) – nullable
domain ​of the attribute
▪ ​Aadhaar #​: 12-digit number
▪ ​Roll #​: Alphanumeric string
▪ ​Department​: Alpha String
▪ ​First Name, Last Name​:
▪ ​Attribute values are (normally)
required to be ​atomic​; that is, Name
indivisible Last Name
DoB Passport # Aadhaar #
▪ ​The special value ​null i​ s a Department
member of every domain. DoB Passport # Aadhaar #
Indicated that the value is Department
“unknown”
▪ ​The null value causes
complications in the definition of
many operations
PPD

Roll # First

15CS10026 Lalit Dubey 27-Mar-1997 L4032464 1728-6174-9239 Computer

16EE30029 Jatin Chopra 17-Nov-1996 null 3917-1836-3816 Electrical

You might also like