只是一个简单的问题。我正在尝试创建一个简单的朋友数据库测试应用程序,只是为了学习Visual Studio 2010实体框架和MySQL。问题是,我不知道这是不对的。
这是我当前模特的图片:
问题是,为什么有两个朋友的导航属性和两个帐户导航属性。我原以为可能朋友实体是唯一一个拥有两个帐户导航属性的实体,这样我就可以联系到这两个朋友的帐户。
这是我的表格布局:
另外,我在friends表中创建了两个外键到accounts表。一个名为friend_one,它使用friend表中的friend_one列来引用accounts表。另一个名为friend_two,它使用friend_two列来引用accounts表。
这是正常的做法吗,还是有更好更理智的方式?
答案 0 :(得分:0)
我认为这很正常。如果某个帐户有多个朋友,您只需在朋友表格中再添加一行。
Hovewer,我强烈建议您阅读有关数据库规范化的内容,如果您还没有:)可能从wikipedia开始
答案 1 :(得分:-1)
答案是......这取决于。通常,您不会在一个表中重复字段(即FriendOne,FriendTwo等)。因为,让我们说一个友好的人(Wiggels先生听起来像一个友好的名字),你有超过2个朋友。那又怎样?
以下是我的表现方式。 Account
和FriendAccount
是数据库中同一Account表的别名。
但是,如果你的情况是肯定,你最多只能有两个朋友,这在技术上是有效的。但同样,可能是糟糕的设计,因为它没有规模。