Database Management Systems (CS30202) and Database Management Systems Lab (CS39202)
Course Content:
Theory:
Database system architecture: Data Abstraction, Data Independence, Data Definition and Data Manipulation Languages.
Data models: Entity-relationship, network, relational and object
oriented data models, integrity constraints and data manipulation
operations.
Relational query languages: Relational algebra, tuple and domain relational calculus, SQL and QBE.
Relational database design: Domain and data dependency, Armstrongs
axioms, normal forms, dependency preservation, lossless design.
Query processing and optimization: Evaluation of relational algebra
expressions, query equivalence, join strategies, query optimization
algorithms.
Storage strategies: Indices, B-trees, hashing.
Transaction processing: Recovery and concurrency control, locking and
timestamp based schedulers, multiversion and optimistic Concurrency
Control
schemes.
Advanced topics: Object-oriented and object relational databases,
logical databases, web databases, distributed databases, data
warehousing and data mining.
Laboratory:
Database schema design, database creation, SQL programming and report
generation using a popular RDBMS like
ORACLE/MySQL/Postgresql.
Students are to be exposed to front end development tools, ODBC and
JDBC calls from application programs, internet based access to
databases and database administration.
Suggested Text Books:
Abraham Silberschatz, Henry Korth, and S. Sudarshan, Database System Concepts, McGrawHill
J. D. Ullman, Principles of Database Systems, Galgoti
R. Elmasri and S. Navathe, Fundamentals of Database Systems Addison-Wesley
Lectures:
1. Introduction to Databases
2. Entity-Relationship Model of Data and ER Diagrams
3. Relational Data Model and Relational Algebra
4. SQL
5. Advanced SQL - Integrity constraints, functions, triggers
6. Database design - functional dependencies and normal forms
7. Relational calculus
8. Storage management - physical, files and records
9. Index structures
10. Query processing
11. Query optimization
12. Transactions
13. Concurrency control
14. Recovery systems
15. Introduction to big data
16. Introduction to data mining
Laboratory Assignments:
A1: E-R diagram and schema design
A2: SQL queries
A3: Application program interface with DBMS
A4: Information system design
A5: Project