0% found this document useful (0 votes)
147 views

Week 1 Lecture Material

The document provides an overview of a course on database management systems. It discusses the importance of databases in modern applications, outlines the course modules, and lists the prerequisites for the course including set theory, relations, logic, data structures, algorithms, and programming.

Uploaded by

anon_200163716
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
147 views

Week 1 Lecture Material

The document provides an overview of a course on database management systems. It discusses the importance of databases in modern applications, outlines the course modules, and lists the prerequisites for the course including set theory, relations, logic, data structures, algorithms, and programming.

Uploaded by

anon_200163716
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 103

Database Management

Systems
Module 01: Course Overview

Partha Pratim Das ​Department of Computer Science and Engineering Indian


Institute of Technology, Kharagpur

[email protected]

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

[email protected]​,
Course TAs 9438911655
▪ ​Gurunath Reddy M,
▪ ​Srijoni Majumdar, [email protected]​,
[email protected]​, 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 [email protected] 9830030880

Srijoni Majumdar, TA [email protected] 9674474267

Himadri B G S Bhuyan, TA [email protected] 9438911655


Gurunath Reddy M [email protected] 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

[email protected]

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 [email protected] 9830030880

Srijoni Majumdar, TA [email protected] 9674474267

Himadri B G S Bhuyan, TA [email protected] 9438911655


Gurunath Reddy M [email protected] 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

[email protected]

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 [email protected]
9674474267

Himadri B G S Bhuyan, TA
Name Mail Mobile [email protected]
9438911655
Partha Pratim Das, Instructor
[email protected] Gurunath Reddy M
[email protected] 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

[email protected]

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