Database Theory: Introduction to SQL

Join the AI Workshop to learn more about AI and how it can be applied to web development. Next cohort February 1st, 2026

The AI-first Web Development BOOTCAMP cohort starts February 24th, 2026. 10 weeks of intensive training and hands-on projects.


After we introduced the most popular conceptual Data Model, Entity-Relationship (ER), and the most popular logic data model (the Relational Model), it’s time to introduce SQL.

SQL (Structured Query Language) is a language we use to interact with a Database Management System (DBMS).

As the name suggests, it’s not a programming language, but it was born as a querying language, and later evolved to an interface to doing more advanced operations with a database than just performing queries.

I said “evolved”, but in reality SQL is always evolving. It’s a standard that was first published in 1986, then updated in 1989, 1992, 1999, 2003, 2006, 2008, 2011, 2016 and as its latest version at the time of writing, 2019.

SQL is implemented in many popular DBMS: PostgreSQL, MySQL, Oracle, SQLite, MicroSoft SQL Server, and many more. Each different database implements the standard, or a particular version of it, and adds custom features on top of it, to simplify creating queries or adding a specific functionality.

Unless noted otherwise, every time I talk about SQL I talk about the SQL standard, not a particular implementation of it.

SQL is a huge subject. I cover many of its topics in different lessons, including:

  • Creating a table
  • Adding data to a table
  • How to use SELECT
  • How to update a table structure
  • How to update data
  • How to delete data and tables
  • Handling empty cells
  • Unique and Primary keys
  • Views
  • Joins

Lessons in this unit:

0: Introduction
1: Information systems, data and information
2: Data models
3: What is a Database? And a DBMS?
4: Introduction to the ER Data Model
5: The Relational Model
6: Relational Databases
7: Relational Algebra
8: ▶︎ Introduction to SQL
9: Do you always need a database for your app?