Donate
Back to Software Engineering Career Track
Sign in to save your progress and earn a certificate.

Module 6: Databases & Data Modeling

Learning Objectives
  • Distinguish relational (SQL) from non-relational (NoSQL) databases
  • Design a simple relational schema with primary and foreign keys
  • Understand indexing's effect on query performance

A relational database (like PostgreSQL or MySQL) organizes data into tables with a fixed structure and uses keys to link related tables together, for example a foreign key linking each order to the customer who placed it. A non-relational (NoSQL) database, such as MongoDB, stores more flexible, document-like data and suits use cases where the structure varies row to row or where extreme write-speed matters more than strict consistency. You will learn to design a basic schema using primary keys (a unique identifier for each row) and foreign keys (a reference to another table's primary key), and understand indexing: a database structure that dramatically speeds up lookups on a column, at the cost of extra storage and slightly slower writes.

Module Quiz

1. A key reason a team might choose a NoSQL database like MongoDB over a relational database is:

2. A foreign key in a relational database is used to:

3. Adding an index to a frequently searched column generally: