您的第一个数据库

SQL 关系型数据库入门

Timo Grossenbacher

Data Journalist

调查瑞士的大学

教授的交互式可视化

数据库架构

SQL 关系型数据库入门

关系型数据库:

  • 真实的"实体"变为"表"
  • 降低冗余
  • 通过"关系"保证数据完整性
  • 例如:professorsuniversitiescompanies
  • 例如:companies 中"Credit Suisse"仅一条记录
  • 例如:一个 professor 可在多所 universities 与多家 companies 任职;一个 company 可雇多名 professors
SQL 关系型数据库入门

在本课程中,您将:

  • 使用我调查所用的数据
  • 从零创建关系型数据库
  • 学习三大概念:
    • 约束(constraints)
    • 键(keys)
    • 参照完整性(referential integrity)

您需要:对 SQL 的基础理解,见《Introduction to SQL》(https://www.datacamp.com/courses/introduction-to-sql)。

SQL 关系型数据库入门

第一步:查看 PostgreSQL 数据库

SELECT table_schema, table_name 
FROM information_schema.tables;
    table_schema    |              table_name
 -------------------+------------------------------
 pg_catalog         | pg_statistic
 pg_catalog         | pg_type
 pg_catalog         | pg_policy
 pg_catalog         | pg_authid
 pg_catalog         | pg_shadow
 public             | university_professors
 pg_catalog         | pg_settings
...
SQL 关系型数据库入门

查看特定表的列

SELECT table_name, column_name, data_type
FROM information_schema.columns 
WHERE table_name = 'pg_config';
 table_name | column_name | data_type
 -----------+-------------+-----------
 pg_config  | name        | text
 pg_config  | setting     | text
SQL 关系型数据库入门

开始动手。

SQL 关系型数据库入门

Preparing Video For Download...