One of the reasons why relational databases are quite clear to me is because I paid attention during the "DB fundamentals" university course many years ago and because the book we had was gold. I think I still have it somewhere in the attic at my parents home.
I just googled and the book apparently still exists and has been kept up to date: Fundamentals of Database Systems, 7th Edition
It's a university course book and goes pretty into depth of DB design, so don't be fooled by the title, it's not a "tutorial" book.
If you want something a little bit less "theoretical" I've heard good things from this: Relational Database Design Clearly Explained
I have said in another thread that I don't buy tech books that much lately but DB design is one of those topics that are not a fad or tied to a specific language and for which a book is definitely worth it. Even if you use a multi database application (or based on a non relational DB) it's worth to have strong fundamentals on how to structure and relate data.
There are a few different aspects of working with databases: architecture and design, analysis and query construction, and of course there's the entire operational side. You'll be doing some of each no matter what and there's obviously a lot of common ground, but it'll help if you know which way you want to lean. If you have the opportunity to take a discrete math course, do so. Some resources:
Overall there's no substitute for hands-on exploration, even though databases tend to be much slower-moving than other areas (it can take a while for structural problems to become apparent, changes need to be made deliberately). In addition to being the best RDBMS available, Postgres' documentation is an excellent resource if you want to dive in yourself.
The first day of Advent of Code discussion posts!
New to dev.to?
We’re a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.