gpt4 book ai didi

database - 数据库架构组织

转载 作者:搜寻专家 更新时间:2023-10-30 21:55:05 25 4
gpt4 key购买 nike

我目前正处于构建一个日程安排网络应用程序(用于事件的志愿者人员配置)的规划阶段,我有一个问题想请教那些更有经验的人。

背景:有一个事件日历,任何用户都可以随时注册任何事件。稍后,但在此事件之前,其中一位管理员将介入并从已注册的人员中选择一个“员工列表”,其余的将放入“备用列表”。

到目前为止我一直在想的是会有一个事件表、一个用户表,然后是另外三个表:

  • 用户事件
    • 将用户映射到他们注册的事件。既不暗示工作人员也不暗示 Alt 列表成员。
  • 用户工作人员
    • 将用户映射到他们注册的事件,并且恰好是人员配备。
  • UserAlt
    • 类似于 UserStaff

然后问题变成两部分:

  • 这样做的好方法吗?
  • 这三个关联表中的每一个都应该有用户 ID 和事件 ID 吗?

第二个问题确实是我希望讨论的问题。这似乎有很多重复的 Material (UserStaff 或 UserAlt 中的所有内容都将始终在 UserEvent 中),所以我正在考虑为 UserEvent 表创建一个唯一键,除了复合键之外,其他表(UserStaff 和UserAlt) 将引用。从好的方面来说,重复的内容较少,但在不利的方面,几乎每个查询都需要以这种方式引用中间表 (UserEvent)。

希望我已经足够清楚了,在此先感谢您。

最佳答案

我会有下表:

User (UserID, firstname, lastname, etc.)
Event (EventID, Name, Date, Location, Capacity, etc.)
EventRegistration (EventRegistrationID, UserID, EventID, ParticipantTypeID, etc.)
ParticipantType (ParticipantTypeID, Name)

ParticipantType.Name 是“participant”或“staff”之一。

关于database - 数据库架构组织,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1041300/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com