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
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.
SYLLABUS
UNIT1 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 SQ
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
Window Functions Examples
CROSS JOIN EXAMPLE
COMMON TABLE EXPRESSIONS
(CTES)
RECURSIVE QUERIES
JSON AND XML SUPPORT
EMBEDDED SQL
NEED FOR SQL