假设您想为某个Web应用程序构建数据库。该数据库已经包含了许多表格,您可能将来需要扩展它。
此外,您希望最终用户能够评论数据库中的任何对象。
我想找到一个足够通用的解决方案,这样我就不必每次向数据库添加新表时都进行扩展。
我想到了以下内容: 表名:comment 列:
- id: 评论的ID - user_id: 进行评论的用户ID - object_table_name: 被评论对象所在的表 - object_id: 被评论对象在object_table_name表中的ID。 - text: 文本 - date: 日期
这个表在某种程度上解决了我的问题,唯一让我困扰的是它的关系方面相当弱(例如,我无法将object_id作为外键)。此外,如果有一天我需要重命名一个表,我将不得不更改评论表中涉及的所有条目。
您认为这个解决方案怎么样?是否有设计模式可以帮助我?
谢谢。
此外,您希望最终用户能够评论数据库中的任何对象。
我想找到一个足够通用的解决方案,这样我就不必每次向数据库添加新表时都进行扩展。
我想到了以下内容: 表名:comment 列:
- id: 评论的ID - user_id: 进行评论的用户ID - object_table_name: 被评论对象所在的表 - object_id: 被评论对象在object_table_name表中的ID。 - text: 文本 - date: 日期
这个表在某种程度上解决了我的问题,唯一让我困扰的是它的关系方面相当弱(例如,我无法将object_id作为外键)。此外,如果有一天我需要重命名一个表,我将不得不更改评论表中涉及的所有条目。
您认为这个解决方案怎么样?是否有设计模式可以帮助我?
谢谢。