首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库-实现大学小组学习的方案

数据库-实现大学小组学习的方案
EN

Stack Overflow用户
提问于 2017-05-31 10:41:53
回答 1查看 37关注 0票数 0

我对数据库非常陌生,所以我非常希望能在这方面提供帮助。

所以,我想要做的是,创建一个数据库计划,帮助学生组织学习小组。

学生应该能够检查一个组是否已经存在,如果没有创建它,并给出主题,地点,时间,可能增加图书资源等的一般描述。

想要加入小组的学生,应该能够搜索主题领域&特定的学科,看看有多少人已经在小组中,如果适合他们,就加入小组。

这些桌子是否足以满足我想要达到的目标:

UID(主要和唯一)、名称、学期、主题、主题区域

GID(主)、名称、主题、主题区域、描述、资源、NumberOfUsers

成员= UID(fk到users.UID),GID(fk到groups.GID)

此外,如何保持groups.NumberOfUsers的动态变化取决于有多少用户拥有该特定组的成员资格?

是否有办法限制用户组的用户数?

干杯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-31 12:47:37

是的,您基本上是对的,我已经编译了一些数据库模式,可以帮助您。

表:组

  • ID (PK\ AI)
  • 名称(Varchar)
  • 说明(案文)
  • created_by (INT = FK)
  • 其他信息..。

应该为特定组中的用户提供一个支点表,让我们将其命名为Table: user_groups

  • ID (PK\ AI)
  • group_id (FK)
  • user_id (FK)

用于组资源(如图书资源、视频等)您可以创建另一个枢轴表,如下所示: groups_resources

  • ID (PK\AI)
  • group_id (FK)
  • 输入(INT) // (可选,如果您想要排序上传的文件类型)状态:1- book,2-视频等。
  • 路径(本地或外部)

对于您的NumberOfUsers问题,我建议您不要保存,因为您可以使用简单的查询来获取这些信息,而不是用这些信息“疲劳”数据库。但是,如果您仍然想保存它,您可以简单地更新您的表,先插入到user_groups中。您的sql查询将是:

代码语言:javascript
复制
Update groups SET numberofusers = numberofuser + 1 WHERE id = ?;

P.S. -在组中,您可以使用created_by或甚至声明一个新列(administrator_id)并指定该组的管理员,它将具有编辑访问权限(正如您在脚本中计划的那样)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44282544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档