mysql存储动态列表的最佳方法

FLX*_*FLX 1 php mysql database-design list

我对数据库设计有一点疑问:

假设我有一个"组"(用户)表.在此表中,有基本字段,其中包含有关组的信息(创建日期,名称等)以及应包含该组用户列表的字段.

我有一个"用户"表,其中包含有关用户的信息(真的吗?).此表未与组表链接,因为不强制用户拥有组.

在一个组中,用户可以是"总统"(只有一个)或"监票人"(几个)

因此,在"组"表中,将有一个"总统"字段,其中包含总统用户ID.我需要一个"监票人"字段,其中包含监票人ID列表.

我不知道如何处理这个列表.也许将每个ID存储在一个文本字段中,用字符(';'或' - ')分隔......

制作另一张桌子似乎很奇怪,因为它只是网站的一小部分.

你怎么解决这个问题?

egg*_*yal 7

我不知道如何处理这个列表.也许将每个ID存储在一个文本字段中,用字符(';'或' - ')分隔......

不要这样做.请参阅在数据库列中存储分隔列表真的那么糟糕吗?

制作另一张桌子似乎很奇怪,因为它只是网站的一小部分.

这是表示多对多关系的正确,规范化的方式.

如果用户最多只能在一个组中(多对一关系),则可以将其组成员身份存储在users表中(NULL如果用户不在任何组中,则保留该列)并在该表中标记是否其成员是一个的presidentscrutineer,否则承担scrutineer,除非他们也是presidentgroups表中.但是,在这种情况下,我可能仍然倾向于坚持使用附加表并UNIQUEuser列上定义约束.