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