### Lesson 1: Data and Tables
In this lesson, you'll learn about how relational databases let you structure data into tables. You'll learn about the importance of unique keys and relationships between tables.
### Lesson 2:
Elements of SQL
In this lesson, you'll begin learning SQL, the Structured Query Language used by most relational databases. You'll learn about the **select** and **insert** statements, the basic operations for getting data out of a database and putting data into a database. You'll learn about the operators and syntax available to get the database to scan and join tables for you.
### Lesson 3: Python DB-API
In this lesson, you'll learn how to access a relational database from Python code. You'll use a virtual machine (VM) running on your own computer to run a Python web application, and adapt that application to use a database backend. Then you'll learn about some of the most common security pitfalls of database-backed applications, including the famous Bobby Tables
. This lesson also covers the SQL **update** and **delete** statements.
### Lesson 4: Deeper Into SQL
In this lesson, you'll learn how to design and create new databases. You'll learn about normalized design, which makes it easier to write effective code using a database. You'll also learn how to use the SQL **join** operators to rapidly connect data from different tables.
### Lesson 5: Final Project
In this project, you'll use your Python and SQL knowledge to build a database-backed Python module to run a game tournament. You'll design the database schema and write code to implement an API for the project.