首页 > 解决方案 > 签到数据建模/三向关系

问题描述

在布置一些数据库设计时有点空白。

说如果我有以下关系。

我想为属于游戏的所有用户建模一种 RSVP 或签入系统,以将自己标记为参加会话。第一个想法是会话中的列表,但通常如果这是我的解决方案,我在关系数据库中做错了。

在此处输入图像描述

答案是会话和用户之间的多对多关系吗?然而,这似乎没有捕捉到游戏是如何进入这种关系的。

我在这里遗漏了一些非常明显的东西吗?你会如何模拟这种关系?(如果它甚至需要)

标签: mysqlpostgresqldatabase-designrelational-database

解决方案


为了显示特定用户的所有会话列表,您将通过连接查询获取会话集合,该连接查询games获取用户所有游戏的所有会话。

users如果运行此查询需要太多时间,您将不得不通过在and之间添加显式的多对多关联来扩展您的设计,sessions该关联应该从关联路径users- games-派生(作为物化视图) sessions


推荐阅读