Module 6: Databases & Data Modeling
- 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.
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: