We’ve talked about the client-side and the server-side but how do we keep ahold of all our user’s data? Who remembers that your login password is CatLover1985 so you can sign into the website? The bottom layer of any web application is the database and it handles all the remembering for you (we’ll cover caching much later). It can be relatively simple, like an Excel spreadsheet, or incredibly complex and split into many giant pieces, like Facebook’s.

Databases are kind of hidden in the back of the web application, so people approach them with a sense of suspicion and awe. However, do not fret or feel intimidated. As you dive deeper into the subject, your databases and you are going to become very good friends (or at least frenemies). Rest assured, by the end of this curriculum, you’re going to understand what’s going on with your databases and be able to interact with them like a pro (and probably better than some people you’ll work with). This lesson is a teaser for that.

Compared to a normal programming language like you’ve already learned, SQL (Structured Query Language), which is used to query databases, has a very short syntax… with only a small handful of verbs to learn. What trips people up is that you need to be able to visualize in your head what it’s going to be doing. We’ll spend a fair bit of time on SQL and databases because they’re so fundamental, but for now we’ll just cover enough to get you familiar with what’s going on in there.

Lesson overview

This section contains a general overview of topics that you will learn in this lesson.

  • What a database is.
  • What relational databases are.
  • In what way relational databases are different from XML.
  • What SQL is.
  • What SQL is used for.
  • How to get all the records from a table in SQL.
  • How to insert a record in SQL.


  1. Check out this introduction of how SQL can be used to organise and manage an overwhelming amount of data.
    • You do not need to go any further than the first page on introductions.
  2. Watch this short video introduction to relational databases to get a feel for why this stuff is useful and some more exposure to the terminology we’ll use.
  3. Go through this Khan Academy tutorial, to get a feel for actually creating and manipulating databases.

Knowledge check

This section contains questions for you to check your understanding of this lesson on your own. If you’re having trouble answering a question, click it and review the material it links to.

Additional resources

This section contains helpful links to related content. It isn’t required, so consider it supplemental.

Support us!

The Odin Project is funded by the community. Join us in empowering learners around the globe by supporting The Odin Project!