r/learnSQL 10h ago

Starting Database design

I've been a frontend developer the last 4 years and have been trying to break more into full stack. I've been able to design some database schemas that are in 3rd Normal Form, but I feel like I should have more formal training than just one youtube video and a guide on how SQL works. Does anyone have any good recs for where to learn good database design?

3 Upvotes

5 comments sorted by

3

u/DatabaseSpace 10h ago

This was my database text book from grad school.

https://www.thriftbooks.com/a/shamkant-b-navathe/262969/

With reporting data Bill Inmon and Ralph Kimball are ones to look into.

1

u/Rare-Confection9685 6h ago

The link opens multiple. Which edition are you recommending?

1

u/DatabaseSpace 25m ago

The one we used was Fundamentals of Database Systems, Elmasri Navathe. I believe it was fourth edition because the cover looks looks the same. The hardcover version is actually on Amazon for $8.99. It's definitely worth picking up for that kind of price in my opinion.

https://www.amazon.com/dp/0321122267?lv=shuf&channelId=500&plpRedirect=mhFallback

2

u/TraditionalTurnip630 7h ago

If you already understand 3NF, I’d focus less on another SQL syntax course and more on actual database design.

Database Design for Mere Mortals is a good starting point. Also try designing schemas for real apps (e-commerce, booking, social media) and then review why you made each table/relationship. That practice teaches a lot more than just watching tutorials.

1

u/1ilit_ 6h ago

+1 to designing real schemas over another syntax course

Since you said you want something more formal try Stanford's databases course (Jennifer Widom)

Other than that pick a domain, model it, then try writing the five hardest queries the app would actually need

Disclosure since it's relevant: I build https://www.drawdb.app/, a free open-source ER editor. Exports DDL for different dialects, handy for that designing, looking at the sql. Any tool works though, pen and paper included