Relational Database Design and Modeling for Software Engineers

Ace your technical interviews by mastering relational database design with real-world case studies.

Level:
Beginner
Study Time:
5h
Lessons:
62
Assessments:
113
Updated
Last month
4.4
(1,596 ratings)
2,793 learners
Arslan Ahmad
Created byArslan Ahmad
Ex FAANG Manager, Expert Behind Relational Database Design and Modeling for Software Engineers

Course Overview

Relational database design is the work of deciding which tables should exist, what each one holds, and how they connect. Get it right and most queries become simple. Get it wrong and the same fact ends up stored in three places, where two of them will eventually disagree. This course teaches those decisions rather than the syntax. It starts with what a database actually is, and how that differs from a folder of files. A database describes itself. The catalog holds the tables, the columns, the types and the rules. A program can ask what exists, instead of having the layout built into its code. From there the course covers what a database management system does, what the relational model really says, and where non-relational stores differ. The scaling comparison is treated honestly. Relational databases do scale out, and the real difference is the cost of joins and transactions that cross machines. Data modeling comes next. A model has three levels. The conceptual level names the things the business cares about. The logical level turns them into tables, keys and relationships. The physical level decides types, indexes and storage. Keeping the levels apart is what stops an argument about a column type from derailing a discussion about what the business means. The entity-relationship chapter is the visual heart of the course. It covers entities and attributes, including the composite, multivalued and derived kinds, and it is exact about the notation. A double ellipse means multivalued. A dashed ellipse means derived. Relationships get their degree, their cardinality ratio and their participation. The chapter is clear that total participation is what becomes NOT NULL later. Weak entities, partial keys and identifying relationships each get their own treatment. The chapter ends by building a full diagram for an employee management system. The relational model chapter turns pictures into tables. It separates the kinds of key carefully, because interviews test exactly this. A superkey identifies a row and may carry columns it does not need. A candidate key is a superkey with nothing to spare. A primary key is the candidate key you chose. A prime attribute is any column inside some candidate key. The chapter covers the integrity constraints that make keys mean something. It then gives the mechanical procedure for converting a diagram into tables, one relationship shape at a time. Functional dependency is the tool everything after it runs on. The chapter explains what a dependency claims. It is a rule about every possible row, not a pattern in the data you happen to have. It covers trivial, partial and transitive dependencies, the inference rules, and how to compute the closure of a set of attributes. Closure is the practical skill here, because it is how you test whether a set of columns is a superkey. Normalization is the largest chapter, and the one most learners find hardest. Each form gets its own lesson, from first normal form through second, third and Boyce-Codd. The higher forms then handle multivalued and join dependencies. The chapter is careful about two things people commonly get wrong. First normal form does not require column values to be unique. It also does not reduce redundancy, and usually increases it, because splitting a row copies every other value on that row. Every decomposition is checked for losslessness. The chapter explains why third normal form, rather than Boyce-Codd, is usually where a real design stops. The course closes with complete case studies. Each one starts from what the system must do, then writes down the questions the schema must answer. It finds the entities, draws the diagram, and converts it into SQL you could run. The domains are a hospital, a hotel, a bank, Instagram and an e-commerce platform. The rest are an online food delivery system, a library, a ticket booking system and a warehouse inventory system. Each study also names the decisions worth questioning, because knowing what a design cannot do is part of defending it. Who this course is for. It is for software engineers who create tables regularly and were never taught how. It is for anyone preparing for an interview that includes schema design. That is a wider group than it sounds. Backend and low level design rounds often ask you to model a domain. A schema with the wrong keys is very visible to an interviewer. How the course works. The lessons are text-based, with a diagram wherever a picture explains more than a paragraph would. Every chapter ends with a quiz. The vocabulary heavy chapters carry a flashcard deck for the terms that get confused with each other. The normalization chapter includes runnable SQL exercises that check your decomposition against a real database. What comes next. Grokking Database Fundamentals is the companion to this course. This one is about designing the schema. That one is about how the engine underneath behaves: storage, indexing, transactions, concurrency, replication and sharding. Design first, then internals, is the usual order, though they are independent enough to take in either.

Relational Database Design and Modeling for Software Engineers Image
Best value
Lifetime access to this course
One-time payment. Yours forever.
$98
Discussions
Certificate
Free updates
Want all 42+ courses?
Relational Database Design and Modeling for Software Engineers Image
Best value
Lifetime access to this course
One-time payment. Yours forever.
$98
Discussions
Certificate
Free updates
Want all 42+ courses?

What you'll learn in Relational Database Design and Modeling for Software Engineers

  • How to go from a vague requirement to a schema you can defend, and the modeling process that gets you there.
  • The degree of a relationship, unary, binary, and ternary, which is where most self-taught modellers first go astray.
  • Every kind of key and how they differ: super, candidate, primary, alternate, composite, and foreign.
  • Normalization one form at a time, from first normal form through Boyce-Codd, with the anomaly each removes.
  • A quiz at the end of every chapter, so you find out whether a form stuck before you rely on it.
  • The domains: hospital, hotel, bank, Instagram, e-commerce, food delivery, library, ticketing, warehouse.
  • Flashcard decks for the vocabulary that trips people up: superkey, determinant, prime attribute.
  • Entity-relationship modeling in full: entities, attributes, cardinality, participation, and weak entities.
  • How to convert an ER diagram into tables mechanically, instead of redrawing it by intuition.
  • Functional dependency: the types, the inference rules, and how to compute an attribute closure.
  • Written normalization exercises with worked solutions, because the skill is applying it, not reciting it.
  • Complete case studies that run from requirements through an ER diagram to a working schema.
  • Runnable SQL exercises in the normalization chapter, where the database checks your decomposition.

Course Content

• 8 Chapters • 62 Lessons
1.

Introduction

4 lessons

Course Overview

Before the Advent of Database

Key Terms

Quiz

Designing a Hospital Management System

Designing a Hotel Management System

Designing a Bank Management System

Designing an Instagram

Designing an E-commerce Platform

Designing an Online Food Delivery System

Designing a Library Management System

Designing a Ticket Booking System

Designing a Warehouse Inventory System

Key Terms

Quiz

Final Exam

What people say about our courses

Ashley Pean avatar
Ashley Pean
Software Engineer
Check out Grokking the Coding Interview. Instead of trying out random Algos, they break down the patterns you need to solve them. Helps immensely with retention!
Eric avatar
Eric
Software Engineer
I've completed my first pass of "grokking the System Design Interview" and I can say this was an excellent use of money and time. I've grown as a developer and now know the secrets of how to build these really giant internet systems.
Steven Zhang avatar
Steven Zhang
Software Engineer
Just wanted to say thanks for your Grokking the system design interview resource (https://lnkd.in/g4Wii9r7) - it helped me immensely when I was interviewing from Tableau (very little system design exp) and helped me land 18 FAANG+ jobs!
Arijeet avatar
Arijeet
Software Engineer
Just completed the “Grokking the system design interview”. It's amazing and super informative. Have come across very few courses that are as good as this!
Simon Barker avatar
Simon Barker
Software Engineer
This is what I love about http://designgurus.io’s Grokking the coding interview course. They teach patterns rather than solutions.
Roger Cruz avatar
Roger Cruz
Software Engineer
The world gets better inch by inch when you help someone else. If you haven't tried Grokking The Coding Interview, check it out, it's a great resource!

About the Author

Arslan Ahmad

Arslan Ahmad

Design Gurus Founder
Ex-FAANG Manager
Meta
Microsoft
Google
Amazon
Uber

Industry Expertise & Leadership

Arslan Ahmad is the lead author of Relational Database Design and Modeling for Software Engineers. As the founder of Design Gurus and a former FAANG hiring manager, he has worked at industry giants like Facebook (now Meta) and Microsoft.

He has conducted hundreds of system design interviews, giving him unique insight into what top tech companies look for in candidates.

The course also incorporates expertise from senior engineers at Google, Meta, Amazon, Microsoft, and Uber, ensuring you learn system design best practices from professionals who have built and scaled real-world systems.

500+

Interviews Conducted

10k+

Students Taught

Related Courses

New
Grokking SQL for Tech Interviews
Crack SQL Tech Interviews: Master core concepts and queries to solve complex problems and impress in your next interview.
4.2
14K learners
Discounted price for Your Region

$99.9

Grokking the Object Oriented Design Interview
Learn how to prepare for object oriented design interviews and practice common object oriented design interview questions. Master low level design interview.
4.2
61K learners
Discounted price for Your Region

$75

FAQs

It is a course on designing a relational schema properly: data modeling, entity-relationship diagrams, converting those diagrams into tables, functional dependencies, and normalization, finishing with a chapter of case studies where you watch real systems go from requirements to a normalized schema.

Software engineers who create tables regularly and have never been taught how, plus anyone preparing for an interview that includes schema design. That is a wider group than it sounds: many backend and low level design rounds ask you to model a domain, and a schema with the wrong keys is very visible to an interviewer.

This course is about designing the schema: modeling, ER diagrams, keys, dependencies, and normal forms. Database Fundamentals is about how the engine underneath behaves: storage, indexing, transactions, concurrency, replication, and sharding. Design first, then internals, is the usual order, though they are independent enough to take in either.

Yes, and it is the largest chapter in the course. First, second, third, and Boyce-Codd normal forms each get a lesson, followed by the higher forms, and then written exercises with worked solutions, plus a runnable SQL exercise in each normal form lesson that checks your decomposition against a real database. The exercises matter more than the definitions, since almost everybody can recite third normal form and far fewer can apply it to an unfamiliar table.

Nine: a hospital, a hotel, a bank, Instagram, an e-commerce platform, an online food delivery system, a library, a ticket booking system, and a warehouse inventory system. Each one runs the full route from requirements through an ER diagram to a relational schema, so the earlier chapters get used rather than remembered.

Only lightly. You should know what a table, a row, and a join are. The course is mostly about deciding which tables should exist and how they relate, so SQL is helpful context rather than a prerequisite. The normalization chapter does include runnable SQL exercises, and each one tells you what to write.

Yes, and more than the reading suggests. Every chapter ends in a quiz, the vocabulary heavy chapters carry a flashcard deck, and the normalization chapter adds runnable SQL exercises that grade your answer, on top of written exercises with worked solutions. The case studies function as extended exercises too, since you can attempt each schema before reading the one given.

It helps in the part of one that most candidates rush. Interviewers frequently ask you to sketch the data model, and being able to name your keys, justify a relationship, and say which normal form you are in and why you stopped there is a noticeable difference from drawing four boxes and moving on.

Text-based, with a large number of diagrams. ER modeling is an inherently visual subject and the lessons lean on that heavily, which works better as diagrams you can study on a page than as diagrams that scroll past you.

Yes. Design Gurus issues a certificate once you have completed the course, and you can share the link directly or add it to your LinkedIn profile.

Design Gurus logo
One-Stop Portal For Tech Interviews.
About Us
Our Team
Careers
Partners
Contact Us
Become Affiliate
Copyright © 2026 Design Gurus, LLC. All rights reserved.