最近学习过程中,产生了一个疑问,到底该不该使用外键? 不能自己瞎想,为此,去了知乎,搜索相关话题,总结出下面内容。 一:使用外键 优点: (1)实现表与关联表之间的数据一致性; (2)可以迅速的建立一个可靠性非常高的数据库 ...
一:使用外键 优点: 实现表与关联表之间的数据一致性 可以迅速的建立一个可靠性非常高的数据库结构,而不用让应用程序层去做过多的检查 可以提高系统鲁棒性 健壮性 可以实现开发人员和数据库设计人员的分工 缺点: 数据库需要维护外键的内部管理 外键等于把数据的一致性事务实现,全部交给数据库服务器完成 有了外键,当做一些涉及外键字段的增,删,更新操作之后,需要触发相关操作去检查,而不得不消耗资源 外键还 ...
2019-04-21 10:59 0 795 推荐指数:
最近学习过程中,产生了一个疑问,到底该不该使用外键? 不能自己瞎想,为此,去了知乎,搜索相关话题,总结出下面内容。 一:使用外键 优点: (1)实现表与关联表之间的数据一致性; (2)可以迅速的建立一个可靠性非常高的数据库 ...
引言 其实这个话题是老生常谈,很多人在工作中确实也不会使用外键。包括在阿里的JAVA规范中也有下面这一条 **【强制】不得使用外键与级联,一切外键概念必须在应用层解决。 ** 但是呢,询问他们原因,大多是这么回答的 每次做DELETE 或者UPDATE都必须考虑外键约束 ...
什么是主键、外键关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键。 比如: 学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯一的,学号就是一个主键 课程表(课程编号,课程名,学分) 其中课程编号是唯一的,课程编号 ...
引言 其实这个话题是老生常谈,很多人在工作中确实也不会使用外键。包括在阿里的JAVA规范中也有下面这一条 **【强制】不得使用外键与级联,一切外键概念必须在应用层解决。 ** 但是呢,询问他们原因,大多是这么回答的 每次做DELETE 或者UPDATE ...
转自(简简单单说外键和级联 ) 外键 定义 作用 主表和从表 建键原则 事件触发限制 外键简单实例 触发器实现 建表语句 关系说明 实现级联删除 更改设置实现 总结 ...
复习 今日内容 字段操作 多表关系 外键 一对一:无级联关系 一对一:有级联关系 一对多 多对多 ...
参考:https://draveness.me/whys-the-design-database-foreign-key/ 为什么数据库不应该使用外键 在关系型数据库中,外键也被称为关系键,它是关系型数据库中提供关系表之间连接的多个列,这一组数据列是当前关系表中的外键,也必须是另一个关系 ...
以MYSQL为例: (1)在model中定义两个数据表,食物信息和食物类别信息 class foodInfo(models.Model): food_id = models.AutoField(max_length=4) #自定义主键,不指定主键默认会生 ...