在标签中提供内容的类型是否跟另外建一套表描述不同类型的内容是等价的?

问题有点复杂,问题和问题描述是不一样的,请以问题描述为准。我感觉我的问题在问题框里写不下,或者写了也不会有人能理解。

假设有以下几个表:身份表(身份 id,用户 id),现象箱子表(现象箱子 id,身份 id),现象表(现象 id,现象描述),现象箱子-现象关系表(关系 id,现象 id,现象箱子 id)。现象有点类似朋友印象里的标签,只不过一般描述会长一些。现象比如“希望不拖延”、“大五尽责性为极高”。我希望这个系统不止可以描述用户自己,也可以描述其他对象,比如自己的熟人,某个软件或网站等。我之前的想法是用不同的身份代表不同的对象。

然后我又想到另外一种方法,就是用现象来区别不同的对象,去掉身份的概念。我感觉跟上一段的方法基本上是等价的,不知道我是不是想错了。比如将“此现象箱子描述的对象是用户 abc”这个现象添加到现象箱子。再比如“此现象箱子描述的对象是微信具有的功能”。

我感觉后者搜索起来好像更方便一些,虽然好像从逻辑上看有点别扭。另外还有其他更好的方法吗?

阅读 316
1 个回答

第二个方案的确是效率高一下,但是概念混淆,查询比较简单,第一种比较复杂,你可以尝试一下

对象表(对象id,对象类型,对象名称/标识)
现象箱子表(现象箱子id,对象id)
现象表(现象id,现象描述)
现象箱子-现象关系表(关系id,现象id,现象箱子id)

这样修改可以表现为

  • 明确区分"被描述对象"和"描述内容"
  • 对象表可以添加类型字段(用户、软件、网站等)
  • 查询时可以直接按对象类型或ID查找相应的现象箱子
  • 概念清晰,不会混淆"对象是什么"和"对象有什么特性"
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题