Master the fundamentals of data modeling across relational, document, and graph databases. Learn how databases store, query, and enforce structure, and understand the design considerations for OLTP vs. OLAP workloads. Design normalized schemas in PostgreSQL to prevent CRUD anomalies, then model flexible document collections in MongoDB using embedding and referencing strategies. Build graph models in Neo4j with Cypher to represent and traverse connected data. Compare ACID guarantees across all three paradigms, explore managed cloud services on AWS, and apply your skills by designing a complete multi-database backend for a growing e-commerce company.
Overview
Syllabus
- Introduction to Data Modeling
- Define data modeling and learn how to structure data effectively to create knowledge, including polyglot persistence and when to combine relational, document, and graph databases for different needs
- Data Modeling for Relational Databases
- Apply relational database concepts and techniques, including ACID properties, normalization, star schemas, and JSONB columns, to organize and query structured and unstructured data
- Data Modeling for Document Stores and NoSQL
- Explore NoSQL data modeling, covering document databases, storage formats, OLTP vs. OLAP, hot vs. cold data, and how models connect logical design to physical storage
- Data Modeling for Graph Databases
- Explore graph databases, emphasizing relationships as first-class data using nodes and edges, including NoSQL concepts, Cypher/GQL querying, modeling, and why graphs excel at connected data
- Data Modeling for ACME
- Apply your data modeling skills end-to-end: design a normalized PostgreSQL schema, flexible MongoDB collections, and a Neo4j recommendation graph for a growing e-commerce company
Taught by
Amanda Moran