SQLite如何为未知列数量构建数据库模式(多个表?)

时间:2016-09-10 17:26:17

标签: java sqlite schema

每个人::)

我的数据库的biuld架构存在问题。想象一下有匹配。你知道两队之间的比赛。有匹配的数据。还有很多比赛:进球,犯规等等。我建立了一张桌子并且#34;匹配"有3个字段:团队1(字符串),团队2(字符串),日期(长)。我想存储每个事件。所以我必须为每场比赛创建(例如我想每天创建一场比赛)新表"事件"并绑定(将此事件的名称作为字符串放到列中)它到第四个字段或(可能更好的想法)为每个匹配动态创建(通过Java)很多列?有人能帮帮我吗?谢谢你的回复:)

这是图片中的好解决方案吗?  http://i.stack.imgur.com/p59Tr.jpg

1 个答案:

答案 0 :(得分:1)

不,每个匹配的很多列都没有规范化。这不应该这样做。

每场比赛都有很多赛事行。您需要的是每个表和一对多关系。您需要在事件表中使用外键指向其匹配父级,以便您可以将它们连接在一起。

在我看来,你还远远不够。您需要拥有许多玩家行的团队。应该对球员进行犯规评估。如果你想正确地模拟问题,你需要做更多的工作和思考。

需要考虑很多事情:

1 Team -> many Players
1 Player -> one Team

1 Match -> 2 Teams
1 Match -> 0 or more Goals
1 Goal -> 1 Team

1 Player -> 0 or more Goals
1 Player -> 0 or more Fouls