【SQL 新手教程 3/20】关系模型 -- 外键

💗 关系数据库建立在关系模型上⭐ 关系模型本质上就是若干个存储数据的二维表

记录 (Record): 表的每一行称为记录(Record),记录是一个逻辑意义上的数据
字段 (Column):表的每一列称为字段(Column),同一个表的每一行记录都拥有相同的若干字段

  • 字段定义了数据类型,及是否允许为NULL(NULL表示字段数据不存在)
idclass_idnamegenderscore
11小明M90
21小红F95
  • 外键(字段):通过外键,可以把数据与 另一张 表关联起来
    • 上述为以 id主键students 表,可以通过外键 class_idclasses 表关联起来 (一对多关系:一个 classes 的记录对应多个 students 的记录)

    • 示例:小明 (小红) 的 class_id1,因此,对应的 classes 表的记录是 id=1 的一班,下方为 class 表示例:

      idname
      1一班
      2二班

外键并不是通过列名实现的,而是通过定义外键约束实现的:

ALTER TABLE students			/* 通过 ALTER TABLE 实现 */
ADD CONSTRAINT fk_class_id 		/* 外键约束的名称 fk_class_id 可以任意 */
FOREIGN KEY (class_id)			/* 指定 class_id 作为外键 */
REFERENCES classes (id);		/* 指定该外键将关联到 classes 表的 id 列*/

DROP FOREIGN KEY fk_class_id;	/* 删除外键约束,不会删除外键对应列 */

通过定义外键约束,关系数据库可以保证无法插入无效的数据

  • 即如果 classes 表不存在 id=99 的记录,students 表就无法插入 class_id=99 的记录
  • 也可以不设置约束,仅依靠应用程序的逻辑来保证
  • 关系数据库通过外键可以实现一对多 (本文示例)、多对多和一对一的关系

欢迎关注 、订阅专栏 【SQL 新手教程】谢谢你的支持!💜💜
参考资料:廖雪峰的官方网站 – SQL 教程 👉 在线 SQL

💗💗💗 下一篇来咯 👉 SQL 新手教程 4/20】关系模型 – 索引

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值