我对数据库非常陌生,所以我非常希望能在这方面提供帮助。
所以,我想要做的是,创建一个数据库计划,帮助学生组织学习小组。
学生应该能够检查一个组是否已经存在,如果没有创建它,并给出主题,地点,时间,可能增加图书资源等的一般描述。
想要加入小组的学生,应该能够搜索主题领域&特定的学科,看看有多少人已经在小组中,如果适合他们,就加入小组。
这些桌子是否足以满足我想要达到的目标:
UID(主要和唯一)、名称、学期、主题、主题区域
GID(主)、名称、主题、主题区域、描述、资源、NumberOfUsers
成员= UID(fk到users.UID),GID(fk到groups.GID)
此外,如何保持groups.NumberOfUsers的动态变化取决于有多少用户拥有该特定组的成员资格?
是否有办法限制用户组的用户数?
干杯
发布于 2017-05-31 12:47:37
是的,您基本上是对的,我已经编译了一些数据库模式,可以帮助您。
表:组
应该为特定组中的用户提供一个支点表,让我们将其命名为Table: user_groups
用于组资源(如图书资源、视频等)您可以创建另一个枢轴表,如下所示: groups_resources
对于您的NumberOfUsers问题,我建议您不要保存,因为您可以使用简单的查询来获取这些信息,而不是用这些信息“疲劳”数据库。但是,如果您仍然想保存它,您可以简单地更新您的表,先插入到user_groups中。您的sql查询将是:
Update groups SET numberofusers = numberofuser + 1 WHERE id = ?;P.S. -在组中,您可以使用created_by或甚至声明一个新列(administrator_id)并指定该组的管理员,它将具有编辑访问权限(正如您在脚本中计划的那样)。
https://stackoverflow.com/questions/44282544
复制相似问题