{"id":48801544,"url":"https://github.com/lucaspaiva-lp/cs50-databases-sql","last_synced_at":"2026-04-14T03:03:47.016Z","repository":{"id":337144037,"uuid":"1141495034","full_name":"lucaspaiva-lp/cs50-databases-sql","owner":"lucaspaiva-lp","description":"Personal study repository for CS50’s Introduction to Databases with SQL, focused on SQL, data modeling, and query reasoning.","archived":false,"fork":false,"pushed_at":"2026-04-09T21:02:12.000Z","size":527,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-09T23:10:00.105Z","etag":null,"topics":["backend","cs50","data-modeling","databases","docker-container","learning-notes","postgres","sql","sqllite3"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lucaspaiva-lp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-24T23:38:03.000Z","updated_at":"2026-04-09T21:02:20.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/lucaspaiva-lp/cs50-databases-sql","commit_stats":null,"previous_names":["lucaspaiva-lp/cs50-databases-sql"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lucaspaiva-lp/cs50-databases-sql","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucaspaiva-lp%2Fcs50-databases-sql","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucaspaiva-lp%2Fcs50-databases-sql/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucaspaiva-lp%2Fcs50-databases-sql/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucaspaiva-lp%2Fcs50-databases-sql/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lucaspaiva-lp","download_url":"https://codeload.github.com/lucaspaiva-lp/cs50-databases-sql/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucaspaiva-lp%2Fcs50-databases-sql/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31779954,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T02:24:21.117Z","status":"ssl_error","status_checked_at":"2026-04-14T02:24:20.627Z","response_time":153,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend","cs50","data-modeling","databases","docker-container","learning-notes","postgres","sql","sqllite3"],"created_at":"2026-04-14T03:03:34.660Z","updated_at":"2026-04-14T03:03:47.010Z","avatar_url":"https://github.com/lucaspaiva-lp.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CS50 – Introduction to Databases with SQL\n\nThis repository contains my personal solutions, notes, and experiments for\n **CS50's Introduction to Databases with SQL (HarvardX / edX)**.\n\nThe structure follows the  **official weekly progression of the course**, aligned\nstrictly with the problem sets as released by CS50.\n\n---\n\n## Course Roadmap (Official Order)\n\n### 0 — Foundations\n\n**Objective:** Build fluency in reading queries, basic filtering, and thinking in sets.\n\n* [Cyberchase](/0-querying/cyberchase/)\n* [36 Views](/0-querying/32-views/)\n* [Players](/0-querying/players/)\n\n---\n\n### 1 — Querying \u0026 Aggregation\n\n**Objective:** Apply filtering, grouping, joins, and real-world investigation logic.\n\n* [Packages, Please](/1-relating/packages-please/)\n* [DESE](/1-relating/dese/)\n* [Moneyball](/1-relating/moneyball/)\n\n---\n\n### 2 — Relating Data\n\n**Objective:** Work with multi-table relationships and real datasets.\n\n* [ATL](/2-designing/atl/)\n* [Happy to Connect](/2-designing/connect/)\n* [Union Square Donuts](/2-designing/)\n\n---\n\n### 3 — Data Integrity \u0026 Cleaning\n\n**Objective:** Defensive querying and handling imperfect data.\n\n* Don’t Panic!\n* Meteorite Cleaning\n\n---\n\n### 4 — Investigation \u0026 Analysis\n\n**Objective:** Complex joins, investigative reasoning, and storytelling with SQL.\n\n* Census Taker\n* The Private Eye\n* Bed and Breakfast\n\n---\n\n### 5 — Advanced Query Composition\n\n**Objective:** Views, abstractions, and reusable query logic.\n\n* In a Snap\n* your.harvard\n\n---\n\n### 6 — Sentimental SQL \u0026 Final Project\n\n**Objective:** Apply SQL concepts via another language and complete a capstone.\n\n* Don’t Panic! (Sentimental) — Python or Java\n* From the Deep\n* Happy to Connect (Sentimental)\n* FP Final Project\n* Final Project\n\n---\n\n## Repository Organization\n\nEach week or conceptual block is organized into directories following the\nprogression above. SQL files contain only the queries required by each problem\nset, following CS50’s constraints.\n\n---\n\n## Note on Databases (.db files)\n\nThe database files `.db` used in the exercises are **not included** in this\nrepository.\n\nThese databases are provided by **CS50 / HarvardX** as part of the official\ncourse materials and are excluded here for **ethical and academic integrity\nreasons**.\n\nAll SQL queries in this repository were written and tested against the official\ncourse databases within the authorized learning environment.\n\n---\n\n## Environment Setup \u0026 Usage (PC / Notebook)\n\nThis repository provides two ways to run the CS50 SQL tools: using **Docker** (automated) or a  **Local Python Virtual Environment** .\n\n### 1. Initial Configuration (One-time setup)\n\nRegardless of the method, create your environment variables file to store your credentials:\n\n```\ntouch .env\n```\n\nEdit the `.env` file:\n\n```\nGITHUB_USER=your_user_here\nGITHUB_TOKEN=ghp_your_token_here\n```\n\n---\n\n### 2. Option A: Using Local Python (Venv)\n\nUse this method if you want to run the tools directly on your Arch Linux host:\n\n**Create and activate the virtual environment:**\n\n```\npython -m venv .venv\nsource .venv/bin/activate\n```\n\n**Install dependencies:**\n\n```\npip install -r requirements.txt\n```\n\n---\n\n### 3. Option B: Using Docker (Automated Auth)\n\nThis method leverages **Expect** to automatically inject your GitHub Token, bypassing manual login prompts.\n\n**Build the Image:**\n\n```\ndocker compose build --no-cache\n```\n\n**Run the Environment:**\n\n```\ndocker compose run --rm cs50-sql\n```\n\n---\n\n### 4. Running check50 / submit50\n\nOnce your environment is ready (either via `.venv` or inside the Docker container), run the commands normally:\n\n**Example:**\n\n```\ncheck50 cs50/problems/2024/sql/connect\n```\n\n---\n\n### SysAdmin Tip (Arch Linux Alias)\n\nTo quickly jump into the Docker environment from any terminal, add this alias to your `~/.bashrc` or `~/.zshrc`:\n\n```\nalias sql='docker compose run --rm cs50-sql'\n```\n\n## License and Disclaimer\n\nThe solutions, queries, and technical results contained in this repository\nrepresent **my own work and understanding** developed while completing the\ncourse exercises.\n\nHowever, the **course content, problem statements, datasets, and instructional\nmaterials** are the intellectual property of **CS50 / Harvard University /\nHarvardX (edX)** and are used here  **strictly for educational and non-commercial\npurposes**, in accordance with the course’s academic integrity and usage\npolicies.\n\nThis repository is intended as a **personal study record and technical** **portfolio**, not as a redistribution of official course materials.\nSolutions are published **after independent completion** of the exercises.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucaspaiva-lp%2Fcs50-databases-sql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flucaspaiva-lp%2Fcs50-databases-sql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucaspaiva-lp%2Fcs50-databases-sql/lists"}