Complete DBMS Course Outline
Module 1: Introduction to Databases
- 1.1 What is a Database?
- 1.2 Database Applications
- 1.3 Purpose of DBMS
- Assignments: Identify databases in real-life applications
Module 2: DBMS Architecture
- 2.1 Levels of Abstraction
- 2.2 DBMS Components
- 2.3 Data Models
- Lab: Draw 3-level architecture for a sample database
Module 3: Relational Model
- 3.1 Structure of Relational Databases
- 3.2 Relational Algebra & Calculus
- 3.3 Keys and Constraints
- Practice: Write and evaluate relational algebra expressions
Module 4: SQL (Structured Query Language)
- 4.1 Introduction to SQL
- 4.2 DDL, DML, DCL, TCL
- 4.3 SQL Queries
- 4.4 Joins, Subqueries, Views
- 4.5 Indexes and Sequences
- Assignments: Design and query a database using MySQL/PostgreSQL
Module 5: Database Design
- 5.1 ER Model
- 5.2 ER to Relational Mapping
- 5.3 Normalization
- 5.4 Functional Dependencies
- Project: Design a normalized database for a library management system
Module 6: Transactions and Concurrency Control
- 6.1 Transactions
- 6.2 Concurrency Control Techniques
- 6.3 Deadlock and Recovery
- Simulations: Model transaction schedules and identify conflicts
Module 7: Storage and Indexing
- 7.1 File Organization
- 7.2 Indexing
- 7.3 RAID and Disk Storage
- Labs: Implement basic indexing in a program
Module 8: Query Processing and Optimization
- 8.1 Query Parsing and Translation
- 8.2 Execution Plans
- 8.3 Cost-based Optimization
- Case Study: Analyze SQL execution plan in PostgreSQL
Module 9: Distributed and NoSQL Databases
- 9.1 Distributed Databases
- 9.2 NoSQL Introduction
- 9.3 MongoDB / Cassandra Basics
- Practice: Simple MongoDB project
Module 10: Database Security and Authorization
- 10.1 User Management
- 10.2 Authorization and Roles
- 10.3 SQL Injection and Prevention
- 10.4 Encryption
- Demo: Setup user roles in PostgreSQL
Final Project
- Design, implement, and demonstrate a complete database system for a real-world problem (e.g.,
E-commerce, Hospital Management).
Resources
- Books: Korth, Silberschatz; Elmasri, Navathe
- Tools: MySQL, PostgreSQL, SQLite, MongoDB
- Platforms: db-fiddle.com, SQLZoo, LeetCode (DB section)