但是,我似乎找不到如何将 Post、Story 和 Comment 之间的泛化情况转换为 SQL。我的老师建议使用同一个表格,但我认为如果我想添加更多功能(例如故事标签),这会限制我。现在我已经有了两个额外的关系:一个帖子可以有多个子评论,一个故事属于一个特定的 channel 。
我应该听从老师的建议吗?或者我应该使用3个类?
最佳答案
由于您的类层次结构只有两个子类,并且只有 3 个附加属性(title
、channel
和 post
),因此您应该使用单表继承方法。即使您稍后可能添加更多属性/方法,这也将是最佳选择,因为使用多个表实现类层次结构将意味着更大的工作/开销。
您可以在 Representing class hierarchies with SQL database tables 部分阅读有关此选择的更多信息。 (关于在 JavaScript 前端 Web 应用程序中处理类层次结构的教程,由我编写)。
关于php - 代表论坛网站泛化案例的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53505350/