5 关系模型之2.2 表的结构与数据类型

在上节中,我们介绍了关系模型的基本概念,强调了数据以表格的形式组织,达到方便存储和查询的目的。本节将深入探讨关系模型中的的结构及数据类型,进一步理解如何定义和使用表以存储数据。

表的结构

一个关系数据库中的(Relation)可以看作是由若干行(Record)和列(Attribute)组成的二维数据结构。每一个表都有特定的结构,这个结构定义了表中每一列的名称和数据类型。

1. 表的组成部分

  • 列(Attribute):表的每一列称为一个属性,代表表中的一个数据特性。每个属性都有一个名称和数据类型。
  • 行(Tuple):表中的每一行代表一条记录,是在该表中存储的具体数据。每行的数据通过列的定义来组织。

例如,考虑一个简单的学生表,其结构如下:

学生ID 姓名 年龄 性别
1 张三 20
2 李四 22
3 王五 21

上表中,学生ID姓名年龄性别为属性,表中三行分别存储了三位学生的信息。

2. 表的创建

在关系数据库中,创建表通常使用SQL语言的CREATE TABLE语句。以下是创建上述学生表的示例:

1
2
3
4
5
6
CREATE TABLE 学生 (
学生ID INT PRIMARY KEY,
姓名 VARCHAR(50),
年龄 INT CHECK (年龄 > 0),
性别 CHAR(1) CHECK (性别 IN ('男', '女'))
);

在这个例子中,我们定义了四个属性,其中:

  • 学生ID类型为INT,并且是主键(PRIMARY KEY),确保每个学生的唯一性。
  • 姓名类型为VARCHAR(50),表示可变长字符串,最大长度为50字符。
  • 年龄类型为INT,并添加了一个CHECK约束,确保年龄为正数。
  • 性别类型为CHAR(1),也加入了CHECK约束,只允许’男’或’女’。

数据类型

在定义表时,选择正确的数据类型对数据管理和查询性能至关重要。常用的数据类型包括:

1. 整数类型

  • INT: 通常用于表示整数值。
  • SMALLINT, TINYINT: 用于表示较小的整数。

2. 浮点数类型

  • FLOAT, DOUBLE: 用于表示带小数的数字。

3. 字符串类型

  • CHAR(n): 定长字符串,长度为n。例如,CHAR(10)表示固定长度为10的字符串。
  • VARCHAR(n): 可变长度字符串,最大长度为n。

4. 日期与时间类型

  • DATE: 用于表示日期。
  • TIME: 用于表示时间。
  • DATETIME: 用于表示日期和时间的组合。

5. 布尔类型

  • BOOLEAN: 用于表示真或假。

下面是一个扩展的学生表示例,添加了一个出生日期属性:

1
2
3
4
5
6
7
CREATE TABLE 学生 (
学生ID INT PRIMARY KEY,
姓名 VARCHAR(50),
年龄 INT CHECK (年龄 > 0),
性别 CHAR(1) CHECK (性别 IN ('男', '女')),
出生日期 DATE
);

在这里,出生日期被定义为DATE类型,便于存储和处理日期数据。

总结

在本节中,我们学习了关系模型中表的结构和数据类型的重要性。通过的定义,我们能够清晰地组织数据,使得数据的插入、查询与管理变得更加高效。随后的章节将介绍如何使用主键和外键来维护数据的完整性,确保数据之间的关系清晰可见。

下一节内容请继续关注:主键与外键的概念与应用。

5 关系模型之2.2 表的结构与数据类型

https://zglg.work/related-database-zero/5/

作者

AI免费学习网(郭震)

发布于

2024-08-11

更新于

2024-08-12

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论