Explore how to design and manage relational and non-relational databases, from normalization and SQL DDL/DML to indexing strategies and choosing between Postgres, MongoDB, and Redis for different scenarios.
Overview
Syllabus
- Intro to DBMS: Relational and Non-Relational Databases
- Get introduced to database management systems, as well as learning the difference between relational and non-relational databases.
- Normalizing Data
- Find out about the different forms of normalized data for optimizing database storage.
- Data Definition Language (DDL)
- Learn about the data definition language, such as creating tables and different data types.
- Data Manipulation Language (DML)
- Dive into the data manipulation language in order to alter existing tables and data.
- Consistency with Constraints
- Find out how to keep consistency amongst your data by adding constraints.
- Performance with Indexes
- Maximize your database performance by using indexes when and where appropriate.
- Intro to Non-Relational Databases
- With your relational database skills in hand, you’re ready for a look into the other side of data, with non-relational databases.
- Udiddit, A Social News Aggregator
- Investigate a poorly designed database for Udiddit, a social news aggregator. You’ll design a new, normalized and performant database and migrate over data from the previous database.
Taught by
Ziad Saab