Coursera 笔记

Module 01 · Relational Database Concepts

Data Types数据类型

Coursera ↗

欢迎观看数据类型的讲解。

观看本视频后,您将能够:

  • 借助示例描述数据类型 (Data Type)。

  • 解释 Varchar 及其用法,以及使用时要考虑的关键因素。

  • 识别一些常见数据类型。

  • 解释采用合适数据类型的优势。


一、 数据类型定义与作用

数据库表代表一个单一实体,而其列则象征该实体的属性。

  • 示例: 一个名为 book 的表可能包含 title(书名)、publish date(出版日期)和 pages(页数)等列。

  • 规则: 每列中输入的信息应始终是相同种类或类型的数据。

    • title 列应包含文本数据。

    • publish date 列应包含日期。

    • pages 列应包含数字。

我们可以利用这个概念来定义列可以存储的数据类型。

数据类型的作用

您分配给列的数据类型控制了该列可以存储的数据:

  • 文本列:可以包含字母数字数据。

  • 日期列:只能包含有效日期格式的日期。

  • 数字列:只能包含数字。

在处理数据库时,理解各种数据类型及其特定属性对于有效的数据管理至关重要。


二、 常见数据类型详解

1. 字符类型 (Character Types)

A. Varchar(Variable Character,可变字符)
  • 关键特征: 可容纳可变长度的字符,直到指定的最大长度。

  • 示例: Varchar(100) 分配最多 100 个字符的字符串存储空间。如果存储长度为 50 的字符串,它只使用这 50 个字符所需的空间,而不是全部 100 个。

  • 考虑因素:

    • 效率:只分配必要的空间,比像 char 这样的固定长度类型更节省空间。

    • 灵活性:非常适合存储长度变化很大的字符串,例如姓名、地址或描述。

B. Char(Fixed Character,固定字符)
  • 用途: 用于固定长度的字符串。

  • 区别: 与 Varchar 不同,char 总是使用指定的字符数,必要时会用空格填充该值。

2. 日期和时间类型 (Date and Time Types)

  • Date: 用于存储日期(年、月、日)。

  • Time: 用于存储一天中的时间。

  • DATETIME / TIMESTAMP: 用于存储日期和时间的组合。

    • 示例 (MySQL): DATE 格式为年-月-日,而 TIMESTAMP 包括日期和时间。

3. 数值类型 (Numeric Types)

A. 整数类型 (Integer Types)
  • 类型: INT (int)、SMALLINT 等,用于存储整数(全数字)。

  • 区别: 每种类型都有不同的范围。例如,Int 通常存储 −2,147,483,648-2,147,483,648 到 2,147,483,6472,147,483,647 之间的数字。

B. 浮点/小数类型 (Float and Decimal Types)
  • 用途: 用于带有小数部分的数字。

  • Float:

    • 性质: 是一种具有近似精度的浮点数。

    • 用途: 在不需要精确精度时使用。

  • Decimal:

    • 性质: 用于精确的算术计算。

    • 用途: 更适合对精度要求较高的财务计算。

    • 示例 (SQL Server): FLOAT(24) 表示浮点数,而 DECIMAL(5,2) 存储一个总共五位数字,其中两位在小数点之后的数字。

4. 二进制数据类型 (Binary Data Type)

  • 用途: 存储图像或文件等二进制数据,以及像 BLOB (Binary Large Object) 这样的类型。

  • 性质: 这些类型将数据存储为字节序列,非常适合非文本数据。


三、 选用合适数据类型的优势

了解不同数据类型的细微差别及其在各种数据库平台上的实现是高效数据库设计和数据存储的关键。始终选择最适合您的数据性质和数据库系统要求的数据类型。

使用适当的数据类型具有许多优势:

  1. 防止错误数据插入:定义列应容纳的数据类型后,可以避免将不正确的数据插入到该列中。

  2. 准确排序:当日期、时间和数值数据正确类型化后,您可以准确地排序这些数据。

  3. 精确选择范围:正确类型化的数据可以帮助您准确地选择数据范围。

  4. 执行数值计算:您可以对类型化的数据执行数值计算,例如计算订单的总成本。


总结

  • 数据类型定义了您可以存储在列中的数据种类。

  • Varchar(可变字符)是一种存储可变长度字符字符串的数据类型。

  • 存在适用于各种数据的许多不同的数据类型。

  • 为列使用正确的数据类型具有诸多优势。