Press "Enter" to skip to content

使用SQL介绍数据库:免费哈佛课程

使用SQL介绍数据库:免费哈佛课程 四海 第1张

多年来,哈佛大学的 CS50 课程 – 人人的计算机科学入门课 – 由 David J Malan教授教授,帮助来自世界各地的学习者了解计算机科学,并开始他们的开发之旅。虽然 CS 50 是一个计算机科学入门课程,但还提供了Python、AI等专门的课程。

正如你所猜到的那样,该团队还发布了一门名为《SQL 数据库入门》的课程,即CS50 SQL,帮助你学习查询数据库、设计自己的数据库等等。

如果你是一名有抱负的数据专业人员,你应该在数据库和 SQL 方面打下坚实的基础。而这门课程将帮助你实现这个目标。

关于 CS50 SQL 课程

Carter Zenke 教授教授的 SQL 数据库入门 课程共分为七个模块,为期七周。每个模块都包含关于真实数据集的讲座和相关问题集。

对于每个模块,你可以按照以下步骤进行学习:

  • 观看讲座
  • 复习笔记
  • 尝试讲座中提出的示例
  • 完成模块的问题集

你可以在 VS Code for CS50 上解决问题集。就像 codepsaces 一样,它提供了适用于 CS50 的云端版 VS Code。因此,在你完成课程时,你会有大量的学习和实践机会。

现在我们已经了解了该课程的基本内容,让我们来看一下具体内容。

:下面的第 1 到第 7 模块对应课程中的第 0 到第 6 周。

1. 查询数据库

第一个模块查询数据库首先讨论了超越电子表格的需求,以及数据在关系数据库中的存储方式。然后,它介绍了使用 SQL 查询数据库的基础知识。涉及的主题包括:

  • SELECT 语句
  • LIMIT 和 WHERE 子句
  • 理解 NULL 值
  • LIKE 关键字
  • 范围
  • ORDER BY
  • 聚合函数

查看有关 查询的模块。

2. 关联数据库表

关联数据库表模块建立在前一个模块的基础上,超越了单个数据库表的范畴。你将学习如何使用多个表格并了解它们之间的关系。涉及的主题包括:

  • 实体关系图 (ER 图)
  • 关系类型:一对一、一对多和多对多的关系
  • 键:主键和外键
  • 子查询
  • IN 关键字
  • 连接操作(JOIN)
  • 集合运算:INTERSECT、UNION 和 EXCEPT
  • GROUP BY

查看有关 关联的模块。

3. 设计数据库模式

到目前为止,你已经学会了如何使用数据库,查询单个和多个表格来回答问题。但是,你如何创建一个自己的数据库呢?这个模块设计数据库模式正好涵盖了这一点。你将学习如何从头开始设计数据库,包括以下概念:

  • 创建数据库模式
  • 归一化概念和数据库表之间的关系
  • 创建表格
  • 数据类型和存储类别
  • 对表格和列的约束
  • 修改表格

查看 设计 模块。

 

4. 写入数据库

 

现在你已经知道如何使用查询从数据库中检索数据,并且可以从头开始设计自己的数据库。这个 写入数据库 模块将教会你:

  • 将记录插入数据库
  • 从 CSV 文件导入数据到数据库
  • 删除和更新记录

查看关于 写入 的模块。

 

5. 查看数据库表

 

下一个关于 查看数据库表 的模块将深入探讨创建数据库视图及其优势,包括以下内容:

  • 什么是视图
  • 创建视图
  • 创建视图的优势
  • 公用表达式 (CTE)
  • 分区
  • 数据库安全
  • 软删除

查看关于 查看 的模块。

 

6. 优化数据库查询

 

优化数据库查询 模块着重于使用索引加快数据库查询速度以及与索引相关的权衡。涵盖的主题包括:

  • 创建数据库表索引
  • 跨多个表创建索引
  • 空间与时间的权衡
  • 对部分行创建索引
  • 事务和竞争条件

查看关于 优化 的模块。

 

7. 扩展数据库

 

迄今为止,在此课程中我们使用了 SQLite。这个关于 扩展数据库 的最后一个模块将向您介绍 MySQL 和 PostgreSQL。它为您打下这些广泛使用的 RDMS 的基础。模块内容包括:

  • 创建和修改表
  • MySQL 存储过程
  • 带参数的存储过程
  • 使用 PostgreSQL
  • 访问控制语句
  • SQL 注入攻击

查看关于 扩展 的模块。

如果您正在考虑从事数据相关的职业,本课程所涵盖的所有主题都非常重要。《引论:数据科学中的数据库》提供了数据库的相关性和必备数据库技能的概述。

 

总结

 

总的来说,这是一个在数据库和 SQL 方面打下坚实基础的优秀课程。作为数据专业人员,您将经常使用 SQL。但您也会意识到精通 SQL 是持续不断的过程。在这种情况下,实践是您最好的朋友!

如果您准备好锻炼和展示自己的 SQL 技能,查看这份关于 练习 SQL 的 7 个最佳平台

[Bala Priya C](https://twitter.com/balawc27) 是一位来自印度的开发者和技术作家。她喜欢在数学、编程、数据科学和内容创作的交叉领域工作。她的兴趣和专业知识包括 DevOps、数据科学和自然语言处理。她喜欢阅读、写作、编码和咖啡!目前,她正在通过撰写教程、指南、观点文章等来与开发者社区共享她的知识。

Leave a Reply

Your email address will not be published. Required fields are marked *