As long as we’re on the current topic of Udemy courses, I specifically wanted to highlight Caleb Curry’s Database Design as a particularly good one for learning relational database theory. This is a free course available on Udemy, but as I’ve mentioned before and I’ll mention again, while free courses are great, they’re not always worth the time investment. However, this course specifically is a really good one for anyone just starting out that might want to get into back-end development down the road. While it’s true that not every database today is relational, and there are some very prolific non-relational “NoSQL” databases like Redis, Cassandra, and MongoDB, relational databases are still very much in use in 2020 and will likely continue to be used for a long time to come.
First of all, don’t let the presentation of this course either turn you off or fool you, because while the instructor is a teenager (or to be more accurate, was a teenager at the time of recording) and the videos consist almost entirely of him drawing on a chalkboard and showing that to the camera, he clearly knows his stuff. Actually, to be honest, the further along I got in the course, the more I got impressed by Caleb Curry’s understanding of the material at such a young age, and the more I wondered where he learned it himself! Additionally, to the instructor’s credit, his unique personality and sense of humor made the videos especially engaging to watch, ensuring that you likely won’t get bored either.
With that said, if you can get past the instructor’s idiosyncrasies of being a teenager, as I’m sure some would prefer the professionalism that an older instructor would have, this course packs a ton of excellent learning material on relational database theory, and the fact that it’s almost entirely shown on a chalkboard actually just goes to prove that you don’t need a computer to teach this topic. The material spans all of the essential topics in relational database theory from defining databases and SQL, to data relationships, keys, normalization and normal forms (1NF, 2NF, and 3NF), and the basic types of joins. Curry routinely takes the time to write out relevant table data on his chalkboard as well, along with simple diagrams, including stick figures, that often end up being very helpful to show relationships between data and other objects. This ends up making the course extremely accessible for beginners to the topic who might not know anything about relational databases going in. In fact, I’d probably recommend this course specifically for those just getting into learning about relational databases.
Conclusion: An excellent high-level overview to relational database theory and SQL for beginners that covers most of the essential theory and SQL statement syntax. The main thing that’s not part of the course is writing & running SQL statements on a relational database management system installed on your computer such as MySQL, which you should expect to take another course on. It does feel a bit long as well and probably could have been shortened and edited down to make it concise, but as it is, there’s not much to complain about considering it’s a free course on Udemy!
Rating: 4 out of 5 (-1 for presentation and lack of production values)
Note: this course is also available as one long continuous video on YouTube in partnership with freeCodeCamp: https://www.youtube.com/watch?v=ztHopE5Wnpc