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 world wide 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 crew has launched an Introduction to Databases with SQL course—or CS50 SQL—that can assist you study to question databases, design your individual, and rather more.
In case you are an aspiring knowledge skilled, it’s best to construct a strong basis in databases and SQL. And this course will enable you get there.
Taught by Carter Zenke, the Introduction to Databases with SQL course is organized into seven modules spanning seven weeks. The modules include lectures and related downside units based mostly on real-world datasets.
For every module, you may comply with this strategy:
- Watch the lectures
- Assessment the notes
- Check out the examples introduced within the lecture
- Work by the issue set for the module
You may resolve 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 observe as you’re progressing by the course.
Now that we all know what the course is about, let’s go over its contents.
Observe: Modules 1 by 7 beneath map to weeks 0 by 6 within the course.
The primary module Querying Databases begins out by discussing the necessity to transfer past spreadsheets and the way knowledge is saved in a relational database. It then proceeds to the fundamentals of querying databases with SQL. The matters the matters coated embody:
- SELECT assertion
- LIMIT and WHERE clause
- Understanding NULLs
- LIKE key phrase
- Ranges
- ORDER BY
- mixture capabilities
Take a look at 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 coated 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
Take a look at the module on relating.
Thus far 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
- Information varieties and storage courses
- Constraints on tables and columns
- Altering tables
Take a look at the module on designing.
By now you recognize to retrieve knowledge from databases utilizing queries and design your individual databases from scratch. This module Writing to Databases teaches you:
- Inserting data into databases
- Importing knowledge from CSV recordsdata right into a database
- Deleting and updating data
Take a look at the module on writing.
The subsequent module on Viewing Database Tables is a deep dive into creating database views and their benefits protecting:
- What views are
- Creating views
- Benefits of making views
- Widespread Desk Expressions (CTEs)
- Partitioning
- Securing databases
- Gentle deletions
Take a look at 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 coated embody:
- Making a database desk index
- Creating indexes throughout a number of tables
- Area and time trade-off
- Partial indexes on a subset of rows
- Transactions and race situations
Take a look at the module on optimizing.
On this course up to now, you’ve used SQLite. This remaining module on Scaling Databases introduces you to MySQL and PostgreSQL. It lays a basis for these extensively used RDMSs you can 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
Take a look at the module on scaling.
All of the matters coated on this course are essential in the event you’re contemplating a profession in knowledge. Introduction to Databases in Information Science offers an outline of the relevance of databases and important database abilities.
General, this can be a nice course to construct a strong basis in databases and SQL. As an information skilled, you’ll use SQL on a regular basis. However you’ll additionally notice that mastering SQL is a steady journey. And to that finish observe is your finest good friend!
In case you’re able to hone and flex your SQL muscle mass, take a look at this compilation of the 7 Finest Platforms to Follow SQL.
Bala Priya C is a developer and technical author from India. She likes working on the intersection of math, programming, knowledge science, and content material creation. Her areas of curiosity and experience embody DevOps, knowledge science, and pure language processing. She enjoys studying, writing, coding, and low! At present, she’s engaged on studying and sharing her data with the developer group by authoring tutorials, how-to guides, opinion items, and extra.