我正在为我大学的一个学生俱乐部的网站构建数据模型,我需要一些关于我目前所拥有的反馈。
每学期学生通过支付会员费成为会员。这笔会员费使他们有权在该学期参加所有俱乐部的活动,而不是社交活动。要参加这些社交活动,他们需要购买门票。
俱乐部的活动包括每周 8 到 10 节课、研讨会和上述活动。
我们希望能够对每个学期的成员进行建模,并跟踪课程的注册和出勤情况(仅注册)、个别课程(出勤)、研讨会(出勤和注册)和活动(出勤和注册)。
我们希望能够看到执行的哪些成员参与了哪些活动。
我们希望主管能够上传文章(文本)、图片、音乐和视频,并控制有权访问这些项目的人员。我使用了组解决方案,因为我认为在用户/内容级别授予访问权限太乏味了。
请看一下并给我一些反馈。我正在尝试设计一个易于维护和适应新要求的模型,并且在建模俱乐部和会员活动时它是强大且灵活的。
密码哈希将是学生实体的一部分。它目前没有显示在图表上。
你可以找到下面的图表。
编辑1:
添加了图例。
在顶部,Student--Membership--Term 周围的矩形称为聚合。这意味着,例如在关系注册中使用时,我们可以将此聚合视为具有主键(student_id,term)的实体。
EDIT2:上面带有 ISA 标签的三角形表示将顶级实体特化为子实体。当翻译成一个模式时,我们可以选择为每个或只为孩子创建一个关系。