为了账号安全,请及时绑定邮箱和手机立即绑定

互联网开发中不用外键到底是个什么意思?

互联网开发中不用外键到底是个什么意思?

茅侃侃 2018-08-03 20:11:57
都说互联网开发尽量不用外键,那么这里的不用外键到底代表的啥意思呢?1.这里有一层意思很明确:不用外键约束。比如删除一张表中的数据时,如果要级联删除另一张表中关联的数据,以往是由数据库来级联约束的,现在应该将其移到程序中由程序来保持数据的一致性。2.另外一层意思:外键的定义就是在一个表中的字段是另外一张表中的主键。如果仅按照"不使用外键"这几个字的字面理解,就是要把外键字段抽取出来放在一张中间表中。简单说就是都当成多对多来处理。比如用户(userid,username)  订单(orderid,totalPrice,userid)问题1:这里useid就是一个外键,如果不用外键,是否就要设计成这样?用户(userid,username)  订单(orderid,totalPrice)用户-订单中间表(userid,orderid)问题2:如果是这样,假如一张表有多个外键,岂不是要有很多中间表?翻遍了百度都是说不要用外键,而不是说不用外键约束,所以让我很疑惑,希望各位大大解惑。谢谢了!
查看完整描述

2 回答

  • 2 回答
  • 1 关注
  • 5178 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信