mysql - 签到数据建模/三向关系
问题描述
在布置一些数据库设计时有点空白。
说如果我有以下关系。
- 一个用户属于很多游戏,一个游戏可以有很多用户
- 一个会话有很多会话,一个会话属于一个游戏
我想为属于游戏的所有用户建模一种 RSVP 或签入系统,以将自己标记为参加会话。第一个想法是会话中的列表,但通常如果这是我的解决方案,我在关系数据库中做错了。
答案是会话和用户之间的多对多关系吗?然而,这似乎没有捕捉到游戏是如何进入这种关系的。
我在这里遗漏了一些非常明显的东西吗?你会如何模拟这种关系?(如果它甚至需要)
解决方案
为了显示特定用户的所有会话列表,您将通过连接查询获取会话集合,该连接查询games
获取用户所有游戏的所有会话。
users
如果运行此查询需要太多时间,您将不得不通过在and之间添加显式的多对多关联来扩展您的设计,sessions
该关联应该从关联路径users
- games
-派生(作为物化视图) sessions
。
推荐阅读
- javascript - 如何在 React 中添加事件监听器?
- pandas - 根据 pandas 中的 2 个条件对列进行排名
- python - 即使我刚刚安装它,也没有名为“PyQt5.sip”的模块
- grails - 使用 grails 4 的 netbeans 没有 grails 命令列表
- r - 向量中的 R 函数 BitXWor 错误有问题吗?
- c - 在这种情况下如何将字符串转换为整数?
- c# - Specflow 上下文注入
- c++ - 为什么使用继承和多态而不是函数模板实例来调用具有相同签名的成员函数?
- mysql - 到达开始日期和结束日期,并在同一个表中使用不同用户 ID 的多个订单
- spring-cloud - Spring Cloud Data Flow:版本化流