Using Databases with Python Course Syllabus
Full curriculum breakdown — modules, lessons, estimated time, and outcomes.
Overview: This course offers a practical introduction to using relational databases with Python, designed for beginners. Over five weeks, learners will gain hands-on experience with SQLite, SQL fundamentals, advanced queries, and SQLAlchemy ORM. Each module combines theory with coding exercises to build real-world database skills. With an estimated time commitment of 3–5 hours per week, this course prepares learners to integrate databases into Python applications effectively and efficiently.
Module 1: Introduction to Relational Databases
Estimated time: 4 hours
- Understanding database architecture
- Relational models and data organization
- Primary and foreign keys
- Setting up SQLite and connecting with Python
Module 2: SQL Basics and Queries
Estimated time: 4 hours
- Writing SELECT, INSERT, UPDATE, DELETE queries
- Filtering and sorting data with WHERE and ORDER BY
- Using Python scripts to execute SQL commands
- Hands-on practice with SQLite
Module 3: Advanced SQL & Joins
Estimated time: 4 hours
- Understanding INNER JOIN, LEFT JOIN, and RIGHT JOIN
- Writing multi-table queries
- Building reports from combined data sources
- Practicing joins in SQLite through Python
Module 4: SQLAlchemy ORM
Estimated time: 4 hours
- Introduction to object-relational mapping (ORM)
- Defining Python classes as database models
- Performing CRUD operations with SQLAlchemy
- Connecting Python applications to databases
Module 5: Relationship Modeling & Normalization
Estimated time: 4 hours
- Modeling one-to-many and many-to-many relationships
- Database normalization principles
- Implementing complex relationships in SQLAlchemy
- Testing database operations in Python scripts
Module 6: Final Project
Estimated time: 6 hours
- Design a relational database schema
- Implement models using SQLAlchemy ORM
- Write and test complex SQL queries across multiple tables
Prerequisites
- Basic knowledge of Python programming
- Familiarity with variables, loops, and functions
- No prior database experience required
What You'll Be Able to Do After
- Design and manage relational databases in Python
- Write and optimize complex SQL queries
- Use SQLAlchemy to connect Python applications with databases
- Handle many-to-many relationships and normalization
- Test and integrate database operations into real-world projects