电子表格是存储数据最简便高效的方法之一。使用ERD可以将电子表格之间的关系可视化。
实体关系图
实体关系图 (ERD) 是查看数据库数据的常用方式。下面是我们将用于 Parch & Posey 数据库的 ERD。这些图可帮助你可视化正在分析的数据,包括:
- 表的名称。
- 每个表中的列。
- 表配合工作的方式。
你可以将下面的每个框看作一个电子表格。
注意事项
在 Parch & Posey 数据库中,共有五个表(基本上是 5 个电子表格):
- web_events
- accounts
- orders
- sales_reps
- region
你可以将每个表视为一个单独的电子表格。然后将每个电子表格中的列放在表名下面。例如,region 表有两列: id
和 name
,而 web_events 表有四列。
将这些表格连接在一起的 "crow's foot" 表示法显示了一个表中的列与另一个表中的列之间的关联。
学习如何编写结构化查询语言 (SQL),以在教室中与数据库进行交互。你无需下载任何软件,但仍然可以练习你的技能!
SQL 是一项极其热门的技能。有大量工作使用 SQL,在接下来的课程中,你将学习如何利用 SQL 来分析数据和回答商业问题。
项目
你在Lesson上学习的技能可以直接扩展到在Lesson外的其他环境中编写 SQL。对于这些课程结束时的项目,你将下载一个程序,使你可以在本地计算机上编写代码。然后,你将通过查询数据库,使用与一家音乐店铺相关联的数据来分析和回答商业问题。
课程大纲
三节课,旨在帮助你了解如何编写 SQL 查询。
此课程的三节课旨在介绍 SQL 的以下方面:
SQL 基础知识 - 首先,了解 SQL 的工作原理,并学习 SQL 语言基础。学习编代码,并与我们之前在 Excel 中分析的表类似的表进行交互。了解数据库、SQL 的基本语法,并编写第一个查询。
SQL 连接 - 见识 SQL 的实际功能。认识实体关系图 (ERD),以及如何连接关系数据库中的多个表。连接表的功能是让公司采取这种方式来保存数据的动力。
SQL 聚合 - 学习 SQL 一些高级功能。汇总数据库中多个表中的数据。
使用传统关系数据库与 SQL 交互有一些主要优点。最明显的 5 个优点是:
- 易理解。
- 直接访问。
- 可审核和复制数据。
- 可一次分析多个表。
- 相对于 Google Analytics 等仪表板工具,SQL 可分析更复杂的问题。
SQL 与 NoSQL
NoSQL 环境往往对于基于网络的数据尤其普遍,但不太适用于以数据分析为目的的数据,这些数据一般存储于电子表格中。
SQL 数据库中所存数据的几个要点:
数据库中的数据存储在类似于 Excel 电子表格的表中。
大多数情况下,可以将数据库视为一堆 Excel 电子表格。每个电子表格都有行和列。每行保存有关交易、个人、公司等的数据。而每列所保存的数据与你关心的某一特定行相关,如名称、位置、唯一身份等。
同一列中的所有数据必须符合数据类型。
将整个列认为是定量离散的或是某种字符串。这说明如果特定列中有一行字符串,那么整个列可能会更改为文本数据类型。 如果想使用此列进行数学计算,这可能会非常糟糕!
列类型一致是快速使用数据库的主要原因之一。
数据库通常会存储海量数据。因此,知道这些列都是相同类型的数据意味着可快速从数据库获取数据。
数据库类型
SQL 数据库
数据库的类型有很多,都用于不同的用途。在本课中,我们将使用 Postgres,这是一个流行的开源数据库,具有非常完整的分析函数库。
一些最受欢迎的数据库包括::
- MySQL
- Access
- Oracle
- Microsoft SQL Server
- Postgres
也可以在其他编程框架中编 SQL,如 Python、Scala 和 HaDoop。
细微差别
这些 SQL 数据库中的每一个可能在语法和可用函数上存在细微差异 -- 例如,MySQL 不具有修改日期的一些函数,例如 Postgres。你在 Postgres 中看到的大部分直接适用于在其他框架中和数据库环境中使用 SQL。如需了解存在的差异,可查看文档。大多数 SQL 环境都有很好的在线文档,通过快速的 Google 搜索便可轻松访问。
这里 的文章比较了三种最常见的 SQL 类型:SQLite、PostgreSQL 和 MySQL。尽管你在Lesson中使用的是 PostgreSQL,但在项目中你要使用 SQLite。再次说明,一旦你学会了如何在一个环境中编写 SQL,这些基本大都是可以转移到其他环境的。
SQL 的关键是理解语句。这几个语句包括:
CREATE TABLE 是一个在数据库中创建新表的语句。
DROP TABLE 是删除数据库中表的语句。
SELECT 读取并显示数据。我们将这称为查询。
SELECT 语句是分析师使用的通用语句,DROP 和 CREATE 语句实际上会更改数据库中的数据。
在大多数公司,分析师没有权限使用这些类型的语句。这是个不错的规定 - 原因是实际上更改数据库中的数据是一件需要很大权限的事情。通常仅数据库管理员具有这个权限。
介绍两种用于每个查询的语句
SELECT用于提醒查询要返回哪些列,多项时用逗号隔开,最后一项后面可以不用逗号,*
是通配符。
FROM用于提醒查询在哪个表中查询。注意,这个表中需要有列。