Learning databases and SQL
September 10, 2015
A friend of mine has some problems with the Introduction to Databases subject at his university. Quoting Doru Ilași, another friend who is a DBA, “what fucking app does not use a database these days”, I wholeheartedly recommend you to learn what databases are, how they work and what are the models behind them, and leave alone the “Learn SQL in 3 days” approach.
My first recommendation is the Introduction to Databases MOOC from Stanford, taught by Jennifer Widom. It’s the only one I’ve seen where you learn about relational algebra. There is even a self-paced version where you can study only the chapters you are interested. I’ve finished the original course back in 2011 and that was the moment when I started to understand them more thoroughly.
If you don’t have enough time to dive into a large MOOC, Khan Academy has released a course on SQL this year. I don’t know the quality, but people seem to praise it on this Hacker News thread.
For those who just need some simple SQL syntax exercises, I recommend sqlteaching.com and sqlbolt.com. They make you do a range of tasks that start easily and then later become harder, while writing the commands in your browser.
Finally, if you start preparing for interviews, LeetCode and HackerRank have a small set of problems, but with some of them being really challenging.
Update: I’ve remembered that TalentBuddy has a cool crash course on MongoDB and Redis, the first one being a NoSQL database and the second one being a key-value database.