从这个问题:Stackoverflows Tags system, How To
所以考虑问题和答案
做同样的事-一个职位。
一个问题有标题,而一个答复没有标题,如何处理这个问题?桌子的结构是什么?
你如何区分一个问题和一个答案,以及什么将进入标题栏的答案?你能告诉我在MySQL中会是什么样子吗?

最佳答案

一般来说,这是一个面向对象的继承问题,它映射到MySQL(在这种情况下是MS-SQL)等数据库使用的关系模型。
如果使用这些关键字进行搜索,您可以找到更多关于此的资源。我只给你一个简短的列表,列出解决这个问题的不同方法:
您可以为所有帖子使用一个大表,然后将title列的值设置为null答案的值。性能良好,不需要有太多连接,太多未使用的数据。
您可以让所有不同的表具有用于共享属性的冗余列。性能良好,没有额外的连接,没有使用up space的null值,但是有一些冗余代码。
您可以为共享属性创建一个单独的表,称为saypost,并为每个子类型questionsanswers等创建一个表。没有null值,没有多余的代码,但是必须为几乎任何事情使用SQL连接,理论上是最干净的,因为它是规范化的(学术界似乎喜欢这样做),但是对于大量数据来说根本没有用。
我不知道选择了哪种策略。也许有人愿意回答这个问题。

关于sql - 区分问题和答案,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4978652/

10-14 14:00
查看更多