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