【发布时间】:2017-05-14 02:47:40
【问题描述】:
我要设计的应用如下:
一个组有几个功能,每个用户都可以访问和 一起工作。这不是一个聊天组。就像拥有数据一样 每个用户都可以根据自己的权限添加/编辑。
每个用户都可以创建或加入任意数量的群组。
我的问题是为此类任务设计数据库的最佳方法是什么。 与我想要实现的目标类似的示例存在于实时网站上,例如: Deviantart 的群组、Trello、Facebook 的群组、LinkedIn 公司页面等
我有两种方法听起来不错,但我可能会错过一些重要的东西:
我认为一个数据库是最好的方法,然后创建 与组和用户的关联。这种方式虽然让我 考虑性能。如果/何时会发生什么 数以千计甚至数百万的用户,也许还有更多可用的群组。 mysql 数据库会处理所有请求并快速响应吗?
另一个建议是我可以拆分每个组 到不同的表中。因此,当用户连接请求时 将仅基于他/她加入的组。只为 那些桌子。通过这种方法,我看到一个充满表格的数据库 随着越来越多的团体获得,以后将无法管理 已创建。
我是否过度思考我会遇到性能问题? 是否有我缺少的技术可以帮助解决我的情况?
此应用程序将在 laravel 5 中使用 mysql 数据库和 angular 2 开发。
提前感谢您!
约翰,
祝您度过愉快而富有创意的一天!
【问题讨论】:
标签: php mysql database laravel database-design