Introduction to Databases with SQL: Free Harvard Course
Picture by Editor
For years, Harvard’s CS50 class—everybody’s introduction to Pc Science—taught by Prof. David J Malan has helped learners from around the globe break into laptop science and begin their dev journey. Whereas CS 50 is an introduction to laptop science, there are specialised tracks on Python, AI, and extra.
As you may need guessed, the group has launched an Introduction to Databases with SQL course—or CS50 SQL—that will help you study to question databases, design your individual, and rather more.
In case you are an aspiring information skilled, you need to construct a stable basis in databases and SQL. And this course will make it easier to get there.
Taught by Carter Zenke, the Introduction to Databases with SQL course is organized into seven modules spanning seven weeks. The modules comprise lectures and related downside units primarily based on real-world datasets.
For every module, you’ll be able to comply with this strategy:
- Watch the lectures
- Evaluate the notes
- Check out the examples introduced within the lecture
- Work by means of the issue set for the module
You possibly can clear up the issue units on VS Code for CS50. Like codespaces, it provides you VS Codde on the cloud—tailored for CS50. So there’s a ton of studying and follow as you’re progressing by means of the course.
Now that we all know what the course is about, let’s go over its contents.
Word: Modules 1 by means of 7 under map to weeks 0 by means of 6 within the course.
The primary module Querying Databases begins out by discussing the necessity to transfer past spreadsheets and the way information is saved in a relational database. It then proceeds to the fundamentals of querying databases with SQL. The matters the matters lined embody:
- SELECT assertion
- LIMIT and WHERE clause
- Understanding NULLs
- LIKE key phrase
- Ranges
- ORDER BY
- mixture capabilities
Try the module on querying.
The Relating Database Tables module builds on the earlier module and strikes past a single database desk. You’ll study to work with a number of tables and perceive the relationships between them. The matters lined embody:
- Entity relationship diagrams (ER diagrams)
- Relationship varieties: one-to-one, one-to-many, and many-to-many relationships
- Keys: major and international keys
- Subqueries
- IN key phrase
- JOINs
- Set operations: INTERSECT, UNION, and EXCEPT
- GROUPBY
Try the module on relating.
To date you’ve discovered to work with databases, question single and a number of tables to reply questions. However how do you create such a database your self? This module Designing Database Schemas covers precisely that. You’ll study to design databases from scratch together with ideas like:
- Creating database schemas
- Ideas of normalization and relating database tables
- Creating tables
- Knowledge varieties and storage lessons
- Constraints on tables and columns
- Altering tables
Try the module on designing.
By now to retrieve information from databases utilizing queries and design your individual databases from scratch. This module Writing to Databases teaches you:
- Inserting data into databases
- Importing information from CSV information right into a database
- Deleting and updating data
Try the module on writing.
The subsequent module on Viewing Database Tables is a deep dive into creating database views and their benefits masking:
- What views are
- Creating views
- Benefits of making views
- Widespread Desk Expressions (CTEs)
- Partitioning
- Securing databases
- Smooth deletions
Try the module on viewing.
The Optimizing Database Queries module focuses on utilizing indexes to hurry up database queries and the trade-offs related to indexes. The subject lined embody:
- Making a database desk index
- Creating indexes throughout a number of tables
- House and time trade-off
- Partial indexes on a subset of rows
- Transactions and race circumstances
Try the module on optimizing.
On this course up to now, you’ve used SQLite. This closing module on Scaling Databases introduces you to MySQL and PostgreSQL. It lays a basis for these extensively used RDMSs you could construct upon. This module covers:
- Creating and altering tables
- MySQL saved procedures
- Saved procedures with parameters
- Working with PostgreSQL
- Entry management statements
- SQL injection assaults
Try the module on scaling.
All of the matters lined on this course are necessary if you happen to’re contemplating a profession in information. Introduction to Databases in Data Science gives an outline of the relevance of databases and important database abilities.
Total, it is a nice course to construct a stable basis in databases and SQL. As a knowledge skilled, you’ll use SQL on a regular basis. However you’ll additionally understand that mastering SQL is a steady journey. And to that finish follow is your finest good friend!
In the event you’re able to hone and flex your SQL muscle mass, try this compilation of the 7 Best Platforms to Practice SQL.
Bala Priya C is a developer and technical author from India. She likes working on the intersection of math, programming, information science, and content material creation. Her areas of curiosity and experience embody DevOps, information science, and pure language processing. She enjoys studying, writing, coding, and occasional! At present, she’s engaged on studying and sharing her information with the developer group by authoring tutorials, how-to guides, opinion items, and extra.