要加入还是不加入,数据库结构化

时间:2014-11-13 21:03:42

标签: mysql join database-design

我正在尝试构建一个可以执行以下操作的数据库:

“允许用户提供或从其他用户那里获取一些项目,并留下关于它的可选评论。”

我认为这只需要两张表:

用户表:

UserID(PK)
名字
姓氏
电子邮件
密码
ItemBalance
dateCreated会
DateModified

交易表:

TxnID(PK)
NumOfItems
GiveTake
ToUser(FK)
FromUser(FK)
评论
dateCreated会
DateModified

这可以解决这个问题,还是我应该有一个连接表?我可以看到交易可以拥有多个用户的位置,所以看起来它可能是多对多的关系。任何帮助,将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:0)

您列出的当前要求仅允许两个用户之间的交易 - 当前表格中的ToUserFromUser。所以对于这个用例,你的设计很好。

答案 1 :(得分:0)

我会单独留下用户表并按照您在问题中的建议单独创建事务表。 这将有助于您跟踪所有交易。

如果您加入表格,您将拥有太多相同的数据,或者您只有最后一笔交易。