我有桌子
id, creator_id, name, description
)id, results
)id, results, risk_specific_field
)关系是:
USERS n:n CLUBS
//我们之间的实体很弱CLUBS 1:n MONOPOLY
CLUBS 1:n RISK
用户创建朋友俱乐部并邀请他们到该俱乐部玩不同的游戏(Monopoly,RIsk)。
如果游戏是例如垄断然后Game
和Monopoly
表之间应该有关系。我认为在Games/Monopoly
和Games/Risk
之间创建弱实体会起作用,但我很困惑这种方法是否合适,因为弱实体用于打破N:N关系,这些关系是1:n(一个游戏涉及1行Monopoly
表和Monopoly
到N行Game
表)。此外,这种方法还允许我们的应用程序使用自己的表格等添加新类型的游戏。
如果唯一类型的游戏是Monopoly
我会在我的Games
表格中添加字段 id_monopoly ,那就是它,但是因为我的应用有{{1}我也不能这样做。
天哪,我希望我清楚这里有什么问题:)
答案 0 :(得分:1)
答案 1 :(得分:0)
如果我理解正确,你要找的是多态关联。
您可以对其进行概括并添加两个字段,而不是仅添加id_monopoly
,例如:
id_game
,type_game
- 其中id_game
是垄断或风险的“外键”,type_game
是“垄断”或“风险”。
这里的问题是你需要一些应用程序逻辑来在适当的表中查找id,这可能会变得复杂,但希望这对你的情况有所帮助。