Skip to content

A repository containing the solutions for projects and problem sets designed by one of Harvard's CS50 series courses, Introduction to Databases with SQL. Update: 2024-25.

License

Notifications You must be signed in to change notification settings

Kiana-Jafari/CS50-Databases-with-SQL-Projects

Repository files navigation

CS50 SQL Projects Repository

Welcome! This repository contains my solutions and explorations for CS50’s Introduction to Databases with SQL. Throughout the course, I’ve been solving real-world problem sets and projects designed to strengthen my understanding of SQL and database design principles.


This repository mainly serves as a portfolio of my projects as well as a reference point for anyone curious about problem-solving approaches to SQL-based projects. Each project folder corresponds to a problem set or assignment from the course and includes:

  • Project-specific README files with summaries.
  • SQL scripts and supporting files.
  • Notes and reflections (where relevant).

Contents

  • Problem Set 0

    • Cyberchase
      Querying episode data from the PBS series Cyberchase.
    • 36 Views
      Working with a dataset inspired by Hokusai’s Thirty-Six Views of Mount Fuji.
    • Players
      Exploring sports data through relational queries.
  • Problem Set 1

    • Packages
      Solving mysteries of missing packages for the city of Boston using packages.db.
    • DESE
      Analyzing Massachusetts public education data to answer key questions using dese.db.
    • Moneyball
      Finding high-value baseball players for the Oakland Athletics using moneyball.db.
  • Problem Set 2

    • ATL
      Designing a passenger and flights database for the world’s busiest airport.
    • Happy to Connect
      Modeling a social networking platform similar to LinkedIn.
    • Union Square Donuts
      Building a database for customer orders and operations at a donut shop.
  • Problem Set 3

    • Don’t Panic!
      Simulated pentest of a SQLite-backed website: modify admin credentials, erase logs, and insert deceptive data (ethics emphasized).
    • Meteorite Cleaning
      Importing and cleaning historical meteorite landing data into SQLite for downstream analysis.
  • Problem Set 4

    • Census Taker
      Creating demographic views from Nepal’s census database.
    • The Private Eye
      Extracting hidden messages through SQL-based cipher decoding.
    • Bed and Breakfast
      Building analytical views to study Airbnb’s impact on Boston.
  • Problem Set 5

    • In a Snap
      Writing optimized SQL queries for a fast, Snapchat-style messaging app.
    • your.harvard
      Implementing indexes to improve the performance of course registration queries.
  • Problem Set 6


Technologies

  • Command-line tools for interacting with databases
  • SQLite3 (Primary database engine used in the course)
  • MySQL (Used for Problem Set 6, Scaling)
  • SQL queries for data retrieval, transformation, and analysis
  • CS50 Query Tools for testing performance and correctness

Notes

  1. This repository is a learning journey. While solutions are my own, they are influenced by the structure and requirements of CS50 SQL’s curriculum.
  2. Please note that you can find the data resources with their associated links in the Data folder, right in this repository.

Acknowledgements

About

A repository containing the solutions for projects and problem sets designed by one of Harvard's CS50 series courses, Introduction to Databases with SQL. Update: 2024-25.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages