Database Management Systems - Course Syllabus
Course Information
Course Title: Database Management Systems with SQL Course Code: DBMS-SQL-Labs Duration: 16 Weeks Credit Hours: 3-4 credits Prerequisites: Basic programming knowledge
Course Description
This course provides comprehensive hands-on experience with database systems, from fundamental SQL operations to advanced database concepts and modern database technologies. Students will learn to design, implement, query, and manage relational databases while also exploring NoSQL and graph database systems.
Learning Outcomes
Upon successful completion of this course, students will be able to:
- Design and implement normalized relational database schemas
- Write complex SQL queries using joins, subqueries, and aggregate functions
- Create and manage database objects (tables, views, triggers, stored procedures)
- Implement database transactions with appropriate isolation levels
- Connect applications to databases using multiple programming languages
- Understand and apply database optimization techniques
- Work with modern database technologies including NoSQL and graph databases
- Implement database security and integrity constraints
Course Structure
Module 1: Database Fundamentals (Weeks 1-4)
Topics:
- Database concepts and architecture
- SQL basics: CREATE, INSERT, SELECT, UPDATE, DELETE
- Data types and constraints
- Primary and foreign keys
- Basic queries and filtering
Labs:
Deliverables:
- Quiz 1: SQL Basics
- Assignment 1: Create a database schema
Learning Objectives:
- Create databases and tables with appropriate data types
- Write SELECT queries with WHERE, ORDER BY, and LIMIT
- Understand primary and foreign key relationships
- Perform basic INSERT, UPDATE, and DELETE operations
Module 2: Advanced SQL Queries (Weeks 5-8)
Topics:
- Set operations (UNION, INTERSECT, EXCEPT)
- Subqueries and nested queries
- Aggregate functions and GROUP BY
- HAVING clause
- CASE expressions
- Window functions and analytical queries
- Common Table Expressions (CTEs)
- Recursive queries
Labs:
Deliverables:
- Quiz 2: Advanced SQL
- Assignment 2: Complex query problems
- Midterm Project: Database analysis report
Learning Objectives:
- Write complex multi-table queries
- Use aggregate functions effectively
- Apply window functions for analytical queries
- Implement conditional logic with CASE expressions
Module 3: Database Design & Normalization (Weeks 9-10)
Topics:
- Entity-Relationship (ER) modeling
- Database normalization (1NF, 2NF, 3NF, BCNF)
- Denormalization and when to use it
- Database design patterns
- Views and virtual tables
Labs:
Deliverables:
- Quiz 3: Database Design
- Assignment 3: Design and normalize a database
Learning Objectives:
- Create ER diagrams
- Apply normalization principles
- Design efficient database schemas
- Create and use views for data abstraction
Module 4: Database Programming (Weeks 11-12)
Topics:
- Stored procedures
- Functions
- Triggers
- Cursors
- Transaction management
- ACID properties
- Concurrency control
- Isolation levels
Labs:
Deliverables:
- Quiz 4: Database Programming
- Assignment 4: Implement triggers and stored procedures
- Assignment 5: Bank transaction system
Learning Objectives:
- Write stored procedures and functions
- Implement database triggers
- Manage transactions with proper isolation levels
- Connect databases to applications using Python and Java
Module 5: Modern Database Technologies (Weeks 13-16)
Topics:
- Semi-structured data (JSON, XML)
- NoSQL databases
- Document databases (MongoDB)
- Graph databases (Neo4j)
- Database optimization and indexing
- Query performance tuning
Labs:
Deliverables:
- Quiz 5: Modern Databases
- Assignment 6: NoSQL project
- Final Project: Complete database application
Learning Objectives:
- Work with JSON and XML data in SQL
- Understand NoSQL database concepts
- Perform CRUD operations in MongoDB
- Write Cypher queries for Neo4j
- Choose appropriate database types for different use cases
Grading Policy
| Component |
Weight |
| Lab Assignments |
30% |
| Quizzes (5) |
20% |
| Midterm Project |
15% |
| Final Project |
25% |
| Class Participation |
10% |
Grading Scale
- A: 90-100%
- B: 80-89%
- C: 70-79%
- D: 60-69%
- F: Below 60%
Required Materials
Software (All Free/Open Source)
- MySQL Community Server or MariaDB
- Python 3.7+ with MySQL connector
- Java JDK 11+
- Jupyter Notebook
- MongoDB Community Edition
- Neo4j Desktop
- A code editor (VS Code, IntelliJ IDEA, or similar)
Optional Tools
- MySQL Workbench (GUI tool)
- DBeaver (Universal database tool)
- Postman (API testing)
Textbooks & Resources
Primary Resource:
Recommended Reading:
- "Learning SQL" by Alan Beaulieu (O'Reilly)
- "Database System Concepts" by Silberschatz, Korth, and Sudarshan
- MySQL Official Documentation
Online Resources:
- SQLZoo (https://sqlzoo.net/)
- W3Schools SQL Tutorial
- DataLemur SQL Interview Questions
Course Policies
Attendance
- Regular attendance expected for lab sessions
- More than 3 unexcused absences may affect your grade
Late Work
- Assignments submitted late will incur a 10% penalty per day
- No submissions accepted after 5 days past the deadline
- Extensions may be granted for extenuating circumstances
Academic Integrity
- Collaboration is encouraged for learning, but all submitted work must be your own
- Plagiarism or cheating will result in a zero for the assignment and possible disciplinary action
- Cite any external resources used
Accessibility
- Students with disabilities should contact the instructor to discuss accommodations
- All course materials will be made available in accessible formats upon request
Weekly Schedule
Week 1: Introduction to Databases
- Topics: Database concepts, DBMS overview, SQL introduction
- Lab: Quick Start Guide
- Reading: Getting Started Guide
Week 2: Basic SQL Operations
- Topics: SELECT, INSERT, UPDATE, DELETE, WHERE clause
- Lab: Workers Database
- Quiz: SQL Basics Concepts
Week 3: Relationships and Joins
- Topics: Primary keys, Foreign keys, JOIN operations
- Lab: Foreign Keys
- Assignment 1 Due
Week 4: Multi-Table Queries
Week 5: Set Operations
Week 6: Aggregate Functions
Week 7: Conditional Logic
- Topics: CASE expressions, IF statements
- Lab: CASE Expressions
- Quiz 2: Advanced SQL
Week 8: Analytical Queries
Week 9: Database Design
Week 10: Views and Virtual Tables
- Topics: Creating views, Updatable views, Materialized views
- Lab: Views & Virtual Tables
- Quiz 3: Database Design
Week 11: Database Programming I
Week 12: Database Programming II
Week 13: Application Integration
Week 14: Analytical Tools
Week 15: NoSQL Databases
Week 16: Graph Databases
- Topics: Graph theory, Neo4j, Cypher language
- Lab: Neo4j (Graph Database)
- Quiz 5: Modern Databases
- Final Project Due
Projects
Midterm Project: Database Analysis Report
Create a comprehensive database for a real-world scenario, including:
- ER diagram
- Normalized schema (3NF minimum)
- 10+ complex SQL queries
- Analysis and insights from the data
- Documentation
Final Project: Complete Database Application
Build a full-stack application with:
- Well-designed database backend
- Application in Python or Java
- User interface (web or desktop)
- CRUD operations
- Transaction management
- Documentation and presentation
Project Ideas
- E-commerce platform
- Library management system
- Hospital patient management
- Social media clone
- Inventory management system
- Online learning platform
- Banking system
- Restaurant ordering system
Additional Support
Office Hours
- Monday & Wednesday: 2:00 PM - 4:00 PM
- Or by appointment
Online Resources
- Course repository: GitHub
- Discussion forum: Course website
- Email response time: Within 24 hours on weekdays
Study Groups
Students are encouraged to form study groups for:
- Lab assignments
- Project work
- Exam preparation
Tips for Success
- Practice Regularly: SQL is a skill that improves with practice
- Complete Labs on Time: Each lab builds on previous concepts
- Ask Questions: Don't hesitate to seek help when stuck
- Use Real Data: Practice with the provided datasets
- Read Documentation: Get comfortable with official database documentation
- Experiment: Try variations of queries to understand behavior
- Start Projects Early: Don't wait until the deadline
- Backup Your Work: Use version control (Git) for projects
Course Evaluation
Students will have the opportunity to provide feedback:
- Mid-semester evaluation (anonymous)
- End-of-course evaluation
- Continuous feedback welcome
Note: This syllabus is subject to change. Any modifications will be announced in advance.
Last Updated: Spring 2026
Instructor Contact: Available through course repository issues or email