我目前正处于构建调度网络应用程序(用于活动的志愿者人员配置)的规划阶段,我有一个问题要问那些有更多经验的人。
背景:有一个事件日历,任何用户在任何时候都可以注册任何事件。稍后,但在该活动之前,其中一名管理员将介入并从已注册的人员中选择一个“员工列表”,其余的将被放入“备用列表”中。
到目前为止,我一直在想的是会有一个 Event 表、一个 User 表,然后是另外三个:
- 用户事件
- 将用户映射到他们注册的事件。既不暗示员工也不暗示 Alt 列表成员资格。
- 用户工作人员
- 将用户映射到他们注册的事件,也恰好是人员配备。
- 用户Alt
- 类似于 UserStaff
那么问题就变成了两部分:
- 这是一个好方法吗?
- 这三个关联表中的每一个都应该有用户 ID 和事件 ID 吗?
第二个问题确实是我希望讨论的问题。这似乎有很多重复的材料(UserStaff 或 UserAlt 中的所有内容都将始终在 UserEvent 中),所以我正在考虑为 UserEvent 表创建一个唯一键,除了复合键之外,其他表(UserStaff 和UserAlt) 将参考。从好的方面来说,重复的内容较少,在不好的方面,几乎每个查询都需要以这种方式引用一个中间表(UserEvent)。
希望我已经足够清楚了,并在此先感谢。