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`之间建模两个多对一关联,而不是他的多对二关联。