Image by Editor
As a data professional, you should learn and continue to work on your databases and SQL skills. Here’s why.
Querying databases with SQL to answer a set of business questions might suffice for certain projects. However, to build robust systems and applications, you should be familiar with database internals, data models, database design, and the like.
While you can learn and practice SQL on your own, learning database concepts might be easier with a structured curriculum to follow. To make this easier for you, we’ve curated this list of free databases and SQL courses from some of the best universities from around the world.
The Introduction to Databases course taught by Prof. Trummer at Cornell University covers several important topics: from the basics of SQL to NoSQL and NewSQL systems. Here’s an overview of the topics:
- SQL
- Storing and indexing
- Relational data processing
- Transaction processing
- Database design
- Distributed data processing
- Beyond relational data
Course link: Database Systems – Cornell University Course (SQL, NoSQL, Large-Scale Data Analysis) and Part 2 of the course.
Introduction to Databases with SQL or CS50 SQL taught at Harvard University is an excellent resource to get comfortable with SQL and relational database fundamentals.
The course has seven weeks of curriculum on working with relational databases with the following modules:
- Querying
- Relating
- Designing
- Writing
- Viewing
- Optimizing
- Scaling
Course link: CS50’s Introduction to Databases with SQL
The Databases course by Prof. Jennifer Widom at Stanford is now available as a series of five self-paced courses on edX, which you can audit for free.
If you are new to databases, consider taking the first course covering the basics of relational databases before you proceed to the courses on more advanced topics. Let’s look at the individual courses and what they cover.
Databases: Relational Databases and SQL covers SQL and relational models. It’s recommended that you take this first course before proceeding to the next courses in this series.
Databases: Advanced Topics in SQL covers:
- Query performance
- Transaction and concurrency control
- Database constraints
- Database triggers
- Creating and updating database views
Databases: OLAP and Recursion covers the following topics:
- OLAP cube
- Star schema
- OLAP features
- SQL queries with recursive relations
Databases: Modeling and Theory will teach you:
- Relation algebra
- Normal forms
- Recursive relations
- UML
The final course Databases: Semistructured Data covers working with JSON and XML. It also covers the basics of XPath and XSLT.
Courses link:
- Databases: Relational Databases and SQL
- Databases: Advanced Topics in SQL
- Databases: OLAP and Recursion
- Databases: Modeling and Theory
- Databases: Semistructured Data
If you want to dive deep into database internals, Intro to Database systems and Advanced Database Systems at Carnegie Mellon University are a great set of resources.
The Intro to Database Systems course covers the following broad topics:
- Relational model and algebra
- Database storage and compression
- Database memory and disk I/O management
- Data structures such as hash tables and B+trees
- Index concurrency control
- Query execution
- Query planning and optimization
- Sorting, aggregation, and join algorithms
- Database logging
- Distributed database systems
Course link: Intro to Database Systems
If you are interested in specializing in database engineering, data engineering or a related field it’s helpful to understand the internals of modern OLAP databases. The Advanced Database Systems course covers just that.
This course is a deep dive into database internals: from the components that make up OLAP systems to the internals of modern analytical data warehouses such as Google BigQuery and Snowflake, this course covers white breadth of topics including:
- Modern OLAP databases
- Storage models and data layout
- Query execution and scheduling
- Vectorized execution
- Advanced algorithms
- Databases internals of Google BigQuery, Amazon RedShift, Databricks, Snowflake, and more
Course link: Advanced Database Systems
When you start your career, the database systems course you take at the university generally will prove to be one of the most helpful! But even if you can’t go to college to get a computer science degree, these courses should teach you almost everything you’d ever want to learn about databases.
Whether you’re interested in learning SQL and just enough about relational database design. Or if you’d like to go on a deep dive into database internals, these courses offer it all. So happy learning!
Bala Priya C is a developer and technical writer from India. She likes working at the intersection of math, programming, data science, and content creation. Her areas of interest and expertise include DevOps, data science, and natural language processing. She enjoys reading, writing, coding, and coffee! Currently, she’s working on learning and sharing her knowledge with the developer community by authoring tutorials, how-to guides, opinion pieces, and more.