Mysql 具有两个外键的表之间的关系

Mysql 具有两个外键的表之间的关系,mysql,sql,database,orm,uml,Mysql,Sql,Database,Orm,Uml,我有一个users(id)表和一个friends(user\u id1,user\u id2)其中user\u id1和user\u id2都是users表的外键 这是什么关系 我认为是一对多,但是因为我有两次用户id,所以有点混乱。 (我必须做一个图表,不知道使用什么关系)。有两种“一对多”关系 Users.id-->1到多个-->朋友。userid1 Users.id-->1到许多-->朋友。userid2此UML类图描述了这种情况() 在UML术语中,行的名称是已知的 为了绘制图表,您不

我有一个
users(id)
表和一个
friends(user\u id1,user\u id2)
其中
user\u id1
user\u id2
都是
users
表的外键

这是什么关系

我认为是一对多,但是因为我有两次用户id,所以有点混乱。 (我必须做一个图表,不知道使用什么关系)。

有两种“一对多”关系

Users.id-->1到多个-->朋友。userid1


Users.id-->1到许多-->朋友。userid2

此UML类图描述了这种情况()

在UML术语中,行的名称是已知的


为了绘制图表,您不需要给关系另一个“名称”

我会这样建模:

这实际上是使用您提到的数据库模型实现的逻辑数据模型


我认为将数据库术语(表)与函数/逻辑概念(关联与多重性2)混合使用不是一个好主意。

我认为一对多关系是正确的。因为一个用户可以有很多朋友。你是对的,不要混淆不同的东西很重要。然而,在这里制作两种类图是完全有意义的:首先,独立于平台的逻辑设计模型,以及由此派生的特定于平台的数据模型。您的模型是一个逻辑设计模型,而xmojmr提出的模型就是这样一个数据模型(可以称为“RDB模型”或“SQL数据模型”),尽管可能更倾向于在
朋友
和ùsers`之间建模两个多对一关联,而不是他的多对二关联。