Database design sql中的存储技术

Database design sql中的存储技术,database-design,Database Design,我有一个组,其中有用户, 我应该如何将它们存储在数据库中 我想到的一种方法是将所有组存储在一个主表中,将用户存储在包含所有组用户的辅助表中,但缺点是我需要为每个组打开一个表 另一种方法是使用类似json的格式将用户存储在主组表的users列中 另一种方法是使用两个表,一个用于组,另一个用于保存列:group,user。但在这种格式中,我担心会有大量重复数据,我希望效率更高 例如: 用户[user1、user2、user3] 组[组1、组2、组3] 在group1中,user1和user2是成员

我有一个组,其中有用户, 我应该如何将它们存储在数据库中

  • 我想到的一种方法是将所有组存储在一个主表中,将用户存储在包含所有组用户的辅助表中,但缺点是我需要为每个组打开一个表

  • 另一种方法是使用类似json的格式将用户存储在主组表的users列中

  • 另一种方法是使用两个表,一个用于组,另一个用于保存列:group,user。但在这种格式中,我担心会有大量重复数据,我希望效率更高

  • 例如:

    用户[user1、user2、user3]

    组[组1、组2、组3]

    在group1中,user1和user2是成员

    感谢您的阅读和帮助

    您需要三张桌子:
    1) 您的组的表
    2) 用户的表格

    3) 第三个建议是,在用户和组之间建立一个n:m映射表,它有两列:group\u id和user\u id。这并没有什么低效的地方,也不会有重复的数据。(只需确保在
    (组id,用户id)
    元组上设置唯一约束。)


    拥有该表也会使查询变得简单,例如用户所属的所有组,或组列表中的所有用户等。

    欢迎使用该表。您不在SQL中存储数据,而是在数据库的表中存储数据。我已经把标签改成了数据库设计。你们能在帖子中添加样本数据吗。这将有助于回答你的问题