通过约束提升数据质量

SQL 关系型数据库入门

Timo Grossenbacher

Data Journalist

完整性约束

  1. 属性约束,如列的数据类型(第2章)
  2. 键约束,如主键(第3章)
  3. 参照完整性约束,通过外键实施(第4章)
SQL 关系型数据库入门

为何使用约束?

  • 约束为数据提供结构
  • 约束提升一致性,从而提升数据质量
  • 数据质量是业务优势/数据科学前提
  • 执行不易,但 PostgreSQL 提供支持
SQL 关系型数据库入门

数据类型作为属性约束

摘自 PostgreSQL 文档

SQL 关系型数据库入门

处理数据类型(类型转换)

CREATE TABLE weather (
 temperature integer,
 wind_speed text);

SELECT temperature * wind_speed AS wind_chill FROM weather;
operator does not exist: integer * text
HINT: No operator matches the given name and argument type(s). 
You might need to add explicit type casts.
SELECT temperature * CAST(wind_speed AS integer) AS wind_chill
FROM weather;
SQL 关系型数据库入门

让我们来练习!

SQL 关系型数据库入门

Preparing Video For Download...