首页 > 解决方案 > 预定义和自定义标签的数据库设计

问题描述

我正在为一个类似于用户为目标项目提供一些标签的系统设计一个关系数据库模式(最有可能在 postgres 中使用)。

约束是:

  1. 一个目标需要 3 个标签
  2. 有一个预定义标签列表。您可以假设此列表始终保持不变。每次用户尝试标记目标时,该列表将呈现给用户,以便他们从中进行选择。
  3. 如果用户对预定义的标签不满意,他们可以输入一个值来生成自定义标签,只要他们使总标签数达到 3。
  4. 基于当前业务逻辑的任何未来目标或任何其他用户都不需要重复使用自定义标签。CUSTOMISED_TAGS所以我觉得现阶段将它们存储在单独的表中并不是很有意义。

我最初对设计的想法是:

PK:主键,FK:外键,如下

但是是否可以将一列作为外键或只是一个随机文本值,这似乎为一列引入了多种类型?

有没有更好的建议来处理这些预定义标签和自定义标签?

标签: databasetags

解决方案


推荐阅读