🚀 个人主页 极客小俊
✍🏻 作者简介:程序猿、设计师、技术分享
🐋 希望大家多多支持, 我们一起学习和进步!
🏅 欢迎评论 ❤️点赞💬评论 📂收藏 📂加关注
关系型数据库中的表结构
表 (Table)
表(table)
是关系型数据库
的核心单元
,是数据存储
的地方。
在表中,数据被组织成行
和列
的形式。
每一行
代表一个实体
(即现实世界中的一个事物),每一列
代表实体
的一个属性
如图
当我们使用关系模型
来存储和组织数据时,这些数据会被组织成一个像上面这样的表格结构。
这个表格有行
和列
,而每一行
代表了一条数据记录,每一列
代表了数据中的一个字段或属性。
所以,我们可以简单地把这个表格理解成一张表,而这张表就是关系模型
中的关系
, 换句话说,一个关系就对应着一张表
一般这种关系(表)
定义的方式为 关系名(表名称)(属性1,属性2.....属性n)
例如: 上面的关系可描述为:学生表(学号、学生姓名、年龄、...)
这种简单的数据结构
能够表达丰富的语义,描述出现实世界的实体
以及实体
之间的各种关系
元组
元组
也叫记录
, 是表
中的一行即为一个元组
,或称为一条记录
如图
字段(属性)
属性
就是表中的字段
, 在表
中的每一列称为一个字段
,而表
是由其包含的各种字段定义的,每个字段描述了它所含有的数据的意义, 事实上表
的设计实际上就是对字段
的设计, 创建表
的时候,为每个字段分配一个数据类型
,定义它们的数据长度和其他属性。
属性值(字段值) 也就是行
和列
的交叉位置
表示某个属性值!
如图
主键
简单的说主键
是表
中每一行数据的唯一标识,用于区分不同的记录。
主键
是数据库表
中的一个
或多个属性(字段)
的组合,它的特点就是能够唯一标识表
中的每一行数据,也就是每一个实体
当然你也可以说成是用于唯一确定一个元组
的数据!
如图
例如学生表
中,我们通常会让学号
做主键
,又比如教师表
中让教师编号
做主键
主键
可以是一个字段
也可以是多个字段
,常用作一个表
的索引字段
所以每条记录的关键字(主键)
都是不同的,因而可以唯一地标识一个记录,关键字(主键)
也称为主关键字
,或简称主键
这里需要再次注意一下, 在数据库设计中,如果单个字段无法唯一标识表中的每一行数据,那么就可以选择多个字段一起作为主键。这种由多个字段组成的主键被称为复合主键。
复合主键
中的每个字段都是主键的一部分,它们共同唯一标识表中的一行数据。
所以,主键
既可以是一个字段,也可以是多个字段
的组合
外键
外键
主要是用来描述表与表
之间的关系!
简单来说它就像是一个桥梁,让两个不同的表
能够相互连接
,通过它可以实现从一个表跳转到另一个表。
如图
举个栗子
现在有两个表,一个是学生表(student)
,一个是班级表(class)
。
学生表
中有学生的姓名、学号
等信息,而班级表
中有班级的名称、班级编号
等信息。
问现在,如果我们想知道每个学生属于哪个班级,我们就可以在学生表
中添加一个外键
,这个外键
指向班级表
中的班级编号
这样一来,每当我们查看学生表时,就可以通过这个外键知道每个学生所在的班级了。同样的,如果我们要查找某个班级的所有学生,也可以通过这个外键反向查找!
所以,外键的主要作用就是建立和维护两个表之间的关系,让数据库的管理和使用变得更加方便和高效
主表和从表的关系
有了外键
这个概念那么这里就衍生出了一个主表
和从表
的概念
它们之间的关系为: 主表
是被参照的表,含有主键
, 而从表
是参照主表的表,含有指向主表主键的外键
如图
我们要知道在数据库中,主表
和从表
的关系是基于外键约束
来建立的。
主表
也称为父表
或参照表
是一个包含主键
的表,这个主键
是唯一标识表中每一行的数据。
从表
也称为子表
或被参照表
是一个包含外键
的表,这个外键
是指向主表主键
的字段,用于建立与主表之间的联系,刚刚上面也已经讲过了!
主表
是从表
所依赖的表
,它提供了从表
所需要参照的数据, 从表
则通过外键
与主表
相关联,以便能够访问和使用主表
中的数据。
这种关系使得数据库能够维护数据的一致性
和完整性
,因为外键约束
确保了从表
中的外键
字段只能包含主表
中已经存在的主键
值。
如果是使用的是SQL
语句的情况下, 创建这两个表的SQL语句
如下:
CREATE TABLE class (
class_id INT PRIMARY KEY,
class_name VARCHAR(255)
);
CREATE TABLE student (
student_id INT PRIMARY KEY,
name VARCHAR(255),
class_id INT,
FOREIGN KEY (class_id) REFERENCES class(class_id)
);
案例中FOREIGN KEY (class_id) REFERENCES class(class_id)
语句定义了外键约束
,它指定了学生表中的class_id
列是外键
,
它引用了班级表中的class_id
列。
这样,数据库就知道这两个表是如何相互关联的了, 如果这里你看不明白也没关系 后面我们慢慢讲到SQL语法
之后,你就能搞明白了!
"👍点赞" "✍️评论" "收藏❤️"
欢迎一起交流学习❤️❤️💛💛💚💚
好玩 好用 好看
的干货教程可以
点击下方关注❤️
微信公众号❤️
说不定有意料之外的收获哦..🤗嘿嘿嘿、嘻嘻嘻🤗!
🌽🍓🍎🍍🍉🍇