🗄️ Database Management Systems

Comprehensive Database Design, Implementation and Management

Dr. Nikhil Kumar Rajput

📚 Course Overview

This comprehensive course covers database design principles, SQL programming, transaction management, and modern database technologies including NoSQL systems and data warehousing.

  • Database Design & ER Modeling
  • Relational Model & Normalization
  • SQL Programming & Optimization
  • Transaction Management & ACID
  • Indexing & Query Processing
  • NoSQL & Modern Database Systems

🎯 Learning Objectives

Upon completion of this course, you will be able to:

  • Design efficient database schemas
  • Write complex SQL queries and procedures
  • Optimize database performance
  • Implement transaction control
  • Manage database security and backup
  • Work with NoSQL databases

💻 Laboratory Sessions

Hands-on database development and administration:

  • Database Installation & Configuration
  • SQL Programming & Advanced Queries
  • Database Design & Implementation
  • Indexing & Performance Optimization
  • Transaction Management & Concurrency
  • NoSQL Database Exploration
  • Data Warehousing & Analytics

📊 Assessment Structure

Your database expertise will be evaluated through:

  • Database Design Project (25%)
  • SQL Programming Assignments (20%)
  • Mid-term Examination (20%)
  • Final Exam (20%)
  • Lab Work & Participation (15%)

🛠️ Database Systems

Multiple database platforms and tools:

  • MySQL & PostgreSQL (Relational)
  • MongoDB (Document Database)
  • Redis (Key-Value Store)
  • Neo4j (Graph Database)
  • Database Design Tools
  • Performance Monitoring Tools

🏗️ Real-World Projects

Industry-relevant database applications:

  • E-commerce Database Design
  • University Management System
  • Healthcare Database Implementation
  • Social Media Data Architecture
  • Analytics Dashboard Creation
  • Distributed Database Setup

🚀 SQL Query Example

Advanced database operations and analytics

-- Complex query with joins and window functions SELECT s.student_name, s.department, c.course_name, e.grade, AVG(e.grade) OVER (PARTITION BY s.department) as dept_avg, RANK() OVER (PARTITION BY c.course_id ORDER BY e.grade DESC) as rank_in_course FROM Students s JOIN Enrollments e ON s.student_id = e.student_id JOIN Courses c ON e.course_id = c.course_id WHERE e.semester = 'Fall 2024' AND e.grade >= 85 ORDER BY s.department, e.grade DESC; -- Create stored procedure for grade calculation DELIMITER // CREATE PROCEDURE CalculateGPA(IN student_id INT) BEGIN SELECT s.student_name, ROUND(AVG( CASE e.grade WHEN 'A+' THEN 4.0 WHEN 'A' THEN 4.0 WHEN 'B+' THEN 3.5 WHEN 'B' THEN 3.0 ELSE 2.0 END ), 2) as GPA FROM Students s JOIN Enrollments e ON s.student_id = e.student_id WHERE s.student_id = student_id; END // DELIMITER ;
UNIVERSITY OF DELHI SYLLABUS

📘 Course Curriculum

Unit-wise syllabus aligned with the University of Delhi curriculum.

Unit 1: Introduction and ER Model

  • Database concepts and DBMS architecture
  • Data models
  • Entity-Relationship modelling

Unit 2: Relational Model

  • Relations, keys and constraints
  • Relational algebra
  • Relational calculus

Unit 3: Structured Query Language (SQL)

  • DDL, DML and DCL
  • Joins and nested queries
  • Views, triggers and stored procedures

Unit 4: Database Design and Normalization

  • Functional dependencies
  • Normal forms 1NF to BCNF
  • Decomposition

Unit 5: Transactions and Concurrency

  • ACID properties
  • Concurrency control and locking
  • Recovery techniques