DBMS-SQL-Labs

Database Management System (DBMS) SQL Labs

A comprehensive collection of hands-on SQL laboratories designed to teach database concepts from basic queries to advanced database management techniques. These labs provide practical experience with SQL, database design, and modern database technologies.

🎯 Learning Objectives

By completing these labs, students will:

📚 Lab Structure

Foundational Labs (SQL Basics)

Lab Topic Description Resource
1 Database Creation & Basic Queries Learn to create databases, tables, and perform simple SELECT operations Lab 1
2 Advanced Queries & Joins Master multi-table queries, joins, and complex WHERE clauses Lab 2
3 Foreign Keys & Relationships Understand referential integrity and table relationships Foreign Keys
4 Multi-Table Operations Practice complex joins and relationship queries Multi Tables

Intermediate Labs (Advanced SQL)

Lab Topic Description Resource
5 Set Operations & Nested Queries Learn UNION, INTERSECT, and subquery techniques Lab 2 Advanced
6 Aggregate Functions & Grouping Master COUNT, SUM, AVG, GROUP BY, and HAVING clauses Lab 2 Aggregates
7 Window Functions Learn advanced analytical functions and partitioning Window Functions
8 Views & Virtual Tables Create and manage database views for data abstraction Views Lab

Database Design Labs

Lab Topic Description Resource
9 Database Normalization Learn 1NF, 2NF, 3NF and database design principles Normal Forms
10 Advanced SQL Techniques Practice complex queries and optimization Advanced SQL

Programming Integration Labs

Lab Topic Description Resource
11 Python Database Interface Connect Python applications to databases using connectors Python Lab
12 Jupyter Notebook Integration Interactive database analysis with Jupyter notebooks Jupyter Lab

Advanced Database Concepts

Lab Topic Description Resource
13 Analytical Functions Master ROLLUP, CUBE, and advanced grouping operations Rollup Lab
14 Triggers & Stored Procedures Implement database automation and business logic Triggers Lab
15 Transaction Management Understand ACID properties and concurrency control Transactions
16 Isolation Levels Learn about database isolation and consistency Isolation Levels

Modern Database Technologies

Lab Topic Description Resource
17 JSON & XML Processing Handle semi-structured data in relational databases JSON/XML Lab
18 MongoDB (NoSQL) Introduction to document-based databases MongoDB Lab
19 Neo4j (Graph Database) Explore graph database concepts and Cypher queries Neo4j Lab

🗃️ Data Sets

The repository includes several real-world datasets for hands-on practice:

Dataset Description Use Cases
IMDB Movie Data Movie information including ratings, genres, and revenue Complex queries, aggregations, data analysis
Air Travel Data Flight and passenger information Time-series analysis, grouping operations
Cities Data Geographic and demographic information Joins, geographic queries
Employee Data HR database with employee information Relationship modeling, hierarchical queries
Student Grades Academic performance data Statistical analysis, ranking functions
Drivers Database Complete database schema with sample data Full database operations, complex relationships

🚀 Getting Started

Prerequisites

Quick Start Guide

  1. Clone the repository
    git clone https://github.com/TeachingOW/DBMS-SQL-Labs.git
    cd DBMS-SQL-Labs
    
  2. Set up your database
    CREATE DATABASE dbms_labs;
    USE dbms_labs;
    
  3. Start with Lab 1
    • Navigate to InClass Exercises
    • Follow the step-by-step instructions
    • Practice with the provided examples

Lab Progression

🛠️ Tools and Technologies

Database Systems

Programming Languages

Development Environment

📖 Additional Learning Resources

Interactive Tutorials

Advanced Topics

Practice Platforms

🤝 Contributing

We welcome contributions to improve these labs! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Make your improvements
  4. Submit a pull request

Areas for Contribution

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🌐 Project Website

Visit the project website at https://teachingow.github.io/DBMS-SQL-Labs/ for additional resources and updates.