Table Relations and Normalization

In the fifth mission of this SQL Intermediate course, you'll focus on how to create and normalize database tables to increase your knowledge of SQL and add knowledge of relational database concepts to your toolbox. On occasion, you will be asked to create a database by yourself or to normalize a database. This mission will get you up-to-speed on relational database concepts so you can have a complete conceptual idea of how everything works when using SQL.

Using our platform's SQLite shell, you'll get hands-on practice with creating a database tables, inserting data into tables and more. You will also learn about primary and foreign keys, which are critical concepts to understand the underlying concept of the types of joins we learning about in the Joining Data in SQL mission. In addition, you will have learn about database normalization, which is a process to minimize duplicated data, avoid data modification issues, and to simplify queries!


  • How to use the SQLite shell to work with databases
  • Master SQL concepts and create and normalize database tables
  • How to insert and update data in database tables

Mission Outline

1. The SQLite Shell
2. Creating Tables
3. Primary and Foreign Keys
4. Database Normalization
5. Inserting and Deleting Rows
6. Adding Columns to a Table
7. Adding Values to Existing Rows
8. Challenge: Adding Sales Tax Capabilities
9. Next Steps
10. Takeaways


Course Info:


The median completion time for this course is 6.8 hours. ​View Details​​​

This course requires a basic subscription and has four mission including two guided projects. It is the 12th course in the Data Analyst in Python path and Data Scientist in Python path.


Take a Look Inside

(function(d) { d.addEventListener("DOMContentLoaded", function() { var pathname = d.location.pathname.replace(/^[/]|[/]$/g, "").replace("/", "-"); var tags = d.getElementsByTagName("iframe"); var type = pathname.startsWith("course") ? "?course=" : pathname.startsWith("path") ? "?path=" : null; if (type) { var i; for (i = 0; i < tags.length; i++) { if (tags[i].src.indexOf("signup#iframe") !== -1) { tags[i].src = tags[i].src.replace("#iframe", "") + type + pathname + "#iframe"; } } } }, false); })(document);