RDBMS 中的数组值

Array Values in an RDBMS

我正在尝试找出为项目创建数据库的最佳方式。我们从一堆项目中获取数据并将它们存储到 RDBMS 中。每个项目的特质之一是每个项目所附的标签和用户。

现在我有一个 table 用于用户,一个 table 用于标签,还有一个 table 用于理想情况下引用用户和标签的 PK ID 的项目。我想知道这两个选项中的哪一个最适合处理这些数据以用于 Tableau 等外部资源:

  1. 我们理论上可以将每个标签和用户的 ID 存储在各自列中的数组中,以使 table 更加简洁易懂。

  2. 每个标签和用户都有一个单独的列,并使用布尔值来显示它们是否归因。

选项 1 乍一看似乎更有吸引力,但由于我们使用的是 Db2,所以我不确定它的可行性如何。

我知道这里可能没有足够的信息。这是一个非常守口如瓶的项目,所以我无法提供大量信息,但如果您需要更多信息来提供建议,我知道我能做些什么。谢谢!

都没有。您将使用 junction/association 个表:

project_labels
    project_label_id primary key
    project_id foreign key references projects(project_id)
    label_id foreign key references labels(label_id)

project_users
    project_user_id primary key
    project_id foreign key references projects(project_id)
    user_id foreign key references users(user_id)