CS3492
DATABASE MANAGEMENT SYSTEMS
COURSE OBJECTIVES:
•
To learn the fundamentals of data models, relational algebra and SQL
•
To represent a database system
using ER diagrams and to learn normalization techniques
•
To understand the fundamental concepts
of transaction, concurrency and recovery processing
•
To understand the internal storage
structures using different
file and indexing
techniques which will help in physical DB design
•
To have an introductory knowledge about the Distributed databases, NOSQL and
database security
UNIT I RELATIONAL
DATABASES
Purpose
of Database System – Views of data – Data Models – Database System Architecture
– Introduction to relational databases
– Relational Model – Keys – Relational Algebra – SQL fundamentals
– Advanced SQL features – Embedded
SQL– Dynamic SQL
UNIT II DATABASE
DESIGN
Entity-Relationship
model – E-R Diagrams – Enhanced-ER Model – ER-to-Relational Mapping – Functional Dependencies – Non-loss
Decomposition – First, Second, Third Normal Forms, Dependency
Preservation – Boyce/Codd Normal Form – Multi-valued Dependencies and Fourth Normal Form
– Join Dependencies and Fifth Normal Form
UNIT III TRANSACTIONS
Transaction Concepts
– ACID Properties – Schedules – Serializability – Transaction support
in SQL
Need
for Concurrency – Concurrency control –Two Phase Locking- Timestamp –
Multiversion – Validation and
Snapshot isolation– Multiple Granularity locking – Deadlock Handling – Recovery Concepts
– Recovery based on deferred and immediate update – Shadow paging – ARIES Algorithm
UNIT IV IMPLEMENTATION
TECHNIQUES
RAID
– File Organization – Organization of Records in Files – Data dictionary
Storage – Column Oriented
Storage– Indexing
and Hashing –Ordered
Indices – B+ tree Index Files – B tree Index Files
– Static Hashing –
Dynamic Hashing – Query Processing Overview – Algorithms for Selection, Sorting
and join operations – Query optimization using Heuristics - Cost Estimation.
UNIT V ADVANCED
TOPICS
Distributed
Databases: Architecture, Data Storage, Transaction Processing, Query processing
and optimization – NOSQL Databases: Introduction – CAP Theorem – Document Based systems – Key value Stores – Column Based Systems –
Graph Databases. Database Security: Security issues – Access control based on privileges – Role Based access control –
SQL Injection – Statistical Database security
– Flow control – Encryption and Public Key infrastructures – Challenges
COURSE OUTCOMES:
Upon completion of this course, the
students will be able to CO1: Construct SQL Queries using relational algebra
CO2: Design
database using ER model and normalize the database
CO3: Construct
queries to handle transaction processing and maintain consistency of the database
CO4: Compare
and contrast various indexing strategies and apply the knowledge to tune the performance of the database
CO5: Appraise
how advanced databases differ from Relational Databases and find a suitable database for the given requirement.
TEXT BOOKS:
Abraham Silberschatz, Henry F. Korth,
S. Sudharshan, “Database System Concepts”, Seventh
Edition, McGraw Hill, 2020.
Ramez Elmasri,
Shamkant B. Navathe,
“Fundamentals of Database
Systems”, Seventh Edition, Pearson Education, 2017
REFERENCES:
1. C.J.Date, A.Kannan, S.Swamynathan, “An
Introduction to Database Systems”, Eighth Edition, Pearson Education, 2006.