- 55
- 0
都说互联网开发尽量不用外键,那么这里的不用外键到底代表的啥意思呢?
1.这里有一层意思很明确:
不用外键约束。比如删除一张表中的数据时,如果要级联删除另一张表中关联的数据,以往是由数据库来级联约束的,现在应该将其移到程序中由程序来保持数据的一致性。
2.另外一层意思:
外键的定义就是在一个表中的字段是另外一张表中的主键。如果仅按照"不使用外键"这几个字的字面理解,就是要把外键字段抽取出来放在一张中间表中。简单说就是都当成多对多来处理。
比如
用户(userid,username)
订单(orderid,totalPrice,userid)
问题1:这里useid就是一个外键,如果不用外键,是否就要设计成这样?
用户(userid,username)
订单(orderid,totalPrice)
用户-订单中间表(userid,orderid)
问题2:如果是这样,假如一张表有多个外键,岂不是要有很多中间表?
翻遍了百度都是说不要用外键,而不是说不用外键约束,所以让我很疑惑,希望各位大大解惑。谢谢了!
3
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
顏2。baby 普通会员 1楼
在互联网开发中,外键是指在多对多的关系中,主键和外键之间的关系。外键是用于唯一标识一个或多个表中的一个或多个记录的字段,而主键是用于唯一标识一个或多个表中的唯一记录的字段。
在数据库设计中,外键是一种重要的设计思想。使用外键可以确保数据库中的数据的一致性和完整性,避免数据冲突和数据丢失。
在互联网开发中,我们通常不会直接使用外键,因为互联网开发的场景中,通常需要的是简单的数据关联和交互,而不是复杂的数据库操作。例如,如果我们有一个用户表和一个订单表,我们只需要在用户表中添加一个订单ID字段,然后在订单表中添加一个用户ID字段,就可以实现用户和订单之间的关联,而不需要使用外键。
但是,如果你需要在复杂的关系中使用外键,你可能需要考虑使用外键来实现数据的一致性和完整性,例如在用户表和订单表之间的关系中,用户表中的用户ID字段可以作为外键,用来唯一标识每个用户的订单。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
