SQL

用户,组和标签数据库设计

发布于 2021-05-20 11:07:06

我在尝试为以下情况设计数据库结构时遇到困难:

我的数据库应包含一般用户信息UserID,FirstName,LastName,JoingingDate。

每个用户都可以成为组的一部分。

每个组都具有附加的“标签”,并且可以具有多个标签。用户还应该能够返回可用组的列表(按标签过滤)。

能够搜索组(通过附加到该组的标签),并搜索特定用户(通过姓氏或唯一ID)。)。它还应该能够返回可用组的列表(按标签过滤),以及特定组的成员(按姓氏过滤,并按加入日期过滤)。

还应该有一种方法来发现哪些用户组属于多个组(有关“谁是“ Bravo组”和“ Delta”组的成员的查询),并跟踪在该组中发送的消息(如论坛)。

这只是两个桌子吗?还是应该是三个表…用户,组和标签?自从我完成了任何关系数据库工作以来,已经快一年了,我想知道是否有人可以显示这种数据库设计的可视化表示形式?

关注者
0
被浏览
101
1 个回答
  • 面试哥
    面试哥 2021-05-20
    为面试而生,有面试问题,就找面试哥。

    我建议使用五个表:Users,Groups,Tag和链接表UserGroups和GroupTags。

    这是因为用户和组之间以及组和标签之间似乎存在多对多关系-在关系设计中需要链接实体来连接具有多对多关系的实体。

     ---------   ------------   --------
     | Users |   |  Groups  |   | Tags |
     ---------   ------------   --------
         |         |      |        |
         |         |      |        |
        /|\       /|\    /|\      /|\
       --------------    -------------
       | UserGroups |    | GroupTags |
       --------------    -------------
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看