Database

PostgreSQL

An open source, standards focused relational database known for strict data integrity and advanced features: full ACID transactions, rich indexing, JSON columns, and support for custom data types. It's the default choice for a lot of production web applications because it rarely cuts corners on correctness.

Database

MariaDB

A community developed fork of MySQL, created by MySQL's original developers after Oracle acquired it. It's built to be a drop in replacement: the same SQL syntax and command line tools, under a fully open source license with development driven by the community rather than one company.

Database

SQLite3

A serverless, file based database: the entire database is one file on disk, there's no separate server process to install or start, and no username or password. Python ships with it built in through the sqlite3 module, which is exactly why it's the database behind this course's practice notebooks.

Database

MySQL

The most widely deployed open source relational database in the world, and the one CIS 4720 is built around. It runs as a server process that clients connect to over a network, whether that client is a command line, a GUI, or a Python script.

MySQL Workbench

The official graphical client for MySQL: browse schemas and tables, build queries visually or write SQL directly, and design entity relationship diagrams. It's included with the Windows installer above, or downloadable on its own for macOS and Linux.

MySQL Commands

Connecting from the command line, showing and switching databases, describing a table, and the full command reference table with MySQL and SQLite3 side by side already live on their own page.

Running SQL

Jupyter Notebook

A notebook (.ipynb file) runs code one cell at a time and keeps the output underneath it, which makes it a good fit for working through SQL problems step by step instead of all at once. The practice database for this course is built to run inside one.

The client: installing it yourself

Two ways to get Jupyter running on your own machine:

# Minimal install, just Jupyter py -m pip install notebook jupyter notebook # Or JupyterLab, the newer multi-tab interface py -m pip install jupyterlab jupyter lab

Or install Anaconda, a full distribution that bundles Python, Jupyter, and the common data packages together in one installer. If you're working inside VS Code instead, see the Jupyter extension setup on the Python Resources page.

Related

More to explore