我的数据库有几个类别,我想将用户创作的文本“注释”附加到这些类别中。例如,名为 的高级表中的条目jobs
可能有用户写的几条关于它的注释,但sub_projects
. 由于这些笔记都是相同的格式,我想知道我是否可以通过只有一个笔记表而不是一系列表来简化事情job_notes
or project_notes
,然后使用多个多对多关系将其链接到几个其他表。
如果这不是从一开始就存在严重缺陷的想法(如果是,请告诉我!),我想知道最好的方法是什么。在我看来,我可以通过两种方式做到这一点:
- 每个更大的类别都有一个多对多的连接表,例如
job_notes_mapping
和project_notes_mapping
,并单独管理 MtM 关系 将单个联结表链接到枚举或单独的表 for
table_type
,它指定 MtM 关系映射到的表:+-------------+-------------+---------------+ | note_id | table_id | table_type_id | +-------------+-------------+---------------+ | 1 | 1 | jobs | | 2 | 2 | jobs | | 3 | 1 | project | | 4 | 2 | subproject | | ........... | ........... | ........ | +-------------+-------------+---------------+
如果其中任何一个是完全可怕的想法,请原谅我,但我认为这至少在概念上可能是一个有趣的问题。