Sql 区分问题和答案

Sql 区分问题和答案,sql,mysql,Sql,Mysql,从这个问题: 因此,考虑问题和答案 是一样的——一个帖子 一个问题有标题,而一个回答没有,那么如何处理这个问题呢?桌子的结构是什么 你如何区分一个问题和一个答案,以及答案的标题栏会是什么?您能告诉我MySQL中的情况吗?一般来说,这是一个面向对象继承的问题,以及它与MySQL(或MS SQL)等数据库使用的关系模型的映射问题 如果您使用这些关键字进行搜索,您可以找到更多关于这方面的资源。我将给你一个简短的列表,列出解决这个问题的不同方法: 您可以对所有帖子使用一个大表,然后将title列的值设置

从这个问题:

因此,考虑问题和答案 是一样的——一个帖子

一个问题有标题,而一个回答没有,那么如何处理这个问题呢?桌子的结构是什么


你如何区分一个问题和一个答案,以及答案的标题栏会是什么?您能告诉我MySQL中的情况吗?

一般来说,这是一个面向对象继承的问题,以及它与MySQL(或MS SQL)等数据库使用的关系模型的映射问题

如果您使用这些关键字进行搜索,您可以找到更多关于这方面的资源。我将给你一个简短的列表,列出解决这个问题的不同方法:

  • 您可以对所有帖子使用一个大表,然后将
    title
    列的值设置为答案的
    null
    值。性能良好,不需要有太多的联接和太多未使用的数据
  • 您可以拥有所有不同的表,其中包含用于共享属性的冗余列。性能很好,没有额外的连接,没有占用空间的
    null
    值,但是有一些冗余代码
  • 您可以为共享属性创建一个单独的表,称为say
    post
    ,并为每个子类型的
    问题
    答案
    等创建一个表。无
    空值,无冗余代码,但必须使用SQL连接,因为它在理论上是规范化的(学术界似乎喜欢这样),但是对于大量的数据来说根本没用

  • 我不知道选择了哪种策略。也许有人会愿意回答这个问题。

    一般来说,这是一个面向对象继承的问题,以及它与数据库(如MySQL,则为MS SQL)使用的关系模型的映射问题

    如果您使用这些关键字进行搜索,您可以找到更多关于这方面的资源。我将给你一个简短的列表,列出解决这个问题的不同方法:

  • 您可以对所有帖子使用一个大表,然后将
    title
    列的值设置为答案的
    null
    值。性能良好,不需要有太多的联接和太多未使用的数据
  • 您可以拥有所有不同的表,其中包含用于共享属性的冗余列。性能很好,没有额外的连接,没有占用空间的
    null
    值,但是有一些冗余代码
  • 您可以为共享属性创建一个单独的表,称为say
    post
    ,并为每个子类型的
    问题
    答案
    等创建一个表。无
    空值,无冗余代码,但必须使用SQL连接,因为它在理论上是规范化的(学术界似乎喜欢这样),但是对于大量的数据来说根本没用

  • 我不知道选择了哪种策略。也许mods中的某个人会愿意回答这个问题。

    你的问题是关于如何完成的,还是关于如何在SE站点上完成的?你可能感兴趣的是关于如何完成的,或者关于如何在SE站点上完成的?你可能感兴趣的是,这就是我遇到的问题,我认为标题栏一半时间为空是错误的。@john:这不是错误。这只是一个可能的决定,有好的一面,也有坏的一面。我尝试了#3,如果你把作者放入等式和标记中,你想一次获得所有的数据,那就是我不得不使用的一大堆连接。@john:对于连接:没错!用于一次获取所有数据:如果您还没有使用
    offset
    limit
    以及延迟加载查看分页查询。也许可以帮你解决这个问题。是的,我使用了限制,只是因为我觉得有很多笑话,我觉得必须有一个更简单的方法,这就是我遇到的问题,我觉得标题栏一半时间为空是错误的。@john:这不是错误。这只是一个可能的决定,有好的一面,也有坏的一面。我尝试了#3,如果你把作者放入等式和标记中,你想一次获得所有的数据,那就是我不得不使用的一大堆连接。@john:对于连接:没错!用于一次获取所有数据:如果您还没有使用
    offset
    limit
    以及延迟加载查看分页查询。也许能帮你解决这个问题。是的,我使用了极限,只是因为有太多的笑话,我觉得必须有一个更简单的方法