使用数据库中一个单元格中的所有用户

时间:2016-05-05 19:21:29

标签: database database-design

我有一个任务并且有点挣扎。我有一个名为 EventTable 的表,在其中有一个名为 EventMembers 的列,其主键是 EventID ,我试图拥有所有一个单元格中的用户(来自 UserTable )。有可能吗?我可以在名为All的 userId 中创建一行,这意味着将包含所有用户吗?这会是荒谬的吗? 那么我可以将所有符号用于 EventMembers 吗?

谢谢,

1 个答案:

答案 0 :(得分:0)

当你谈论表和列时,我想你在谈论关系数据库。我怀疑你在这样的数据库中以错误的方式实现了1-n关系的概念。如果一个人可以参加一个活动,但是一个人最多只参加一个活动,那么你将拥有

Person(id, name, event_id, ...)
Event(id, description, ...)

在1:n关系的n侧使用事件id作为外键。 (有一个很好的约定,以单数形式调用包含在其中的函数对象的表,因此它应该被称为Event而不是EvenTable。)

如果一个人可以参加多个活动,你就有一个m:n关系,需要通过一个单独的表来实现

Participation(id, event_id, person_id)

我不太明白你在userId中创建一行是什么意思,以及你试图通过它实现的目标。上述方法是解决这类问题的教科书方式,除非有非常特殊的要求,否则可以遵循。

如果您使用非关系型数据库,情况可能会有所不同,但我们需要对您的任务进行更具体的阐述,以便为此提供建议。