gpt4 book ai didi

mysql - 多对多关系关系数据库

转载 作者:搜寻专家 更新时间:2023-10-30 20:27:47 24 4
gpt4 key购买 nike

我知道技术上 mysql 不支持多对多。我们应该创建一个桥接表。但就我而言,我仍然对此感到困惑。

当许多用户可以有很多 friend 时,2 个表(或更多)看起来像什么?把它想象成社交网络应用程序。

user
=====
id
name

friend
=====
id
name

我很困惑,不知道如何链接它们,因为在 friend 表中,id 也可以是用户的 id。

最佳答案

制作第三个“映射”表是最好的做法。

user
=====
id
name

m2m_user_friend
=====
user_id
friend_user_id

user_id 和 user_friend_id 都是该用户表的外键。

这允许最有效的查询,如“给我 id=17 的所有 friend ”,而且,如果 friend 关系是单向的(例如,友谊请求),你可以用另一种方式做事“告诉我那些人是/想成为 id=17 的 friend 。

社交网络很可能会使用一种叫做图形数据库的东西。关系数据库很棒——除非你需要扩展。虽然有时会在 10,000 台机器上使用 MySQL 等传统数据库拆分您的数据。

关于mysql - 多对多关系关系数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23031217/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com