代码之家  ›  专栏  ›  技术社区  ›  Sam Levin

这个SQL模式适合存储体育数据和统计数据吗?

  •  1
  • Sam Levin  · 技术社区  · 11 年前

    enter image description here

    我计划使用这个SQL模式来存储/生成各种运动的统计数据和球员数据。我想让它尽可能地不可知,但考虑到每项运动都有不同的得分和游戏性指标,我不得不在最后将其分解。

    1 回复  |  直到 11 年前
        1
  •  2
  •   Bohemian    11 年前

    这里有两个“红旗”:

    只要你说出 桌子 对于应该是外键值的值,您几乎肯定会遇到一个问题:

    • NBA名称性能
    • NCAAB性能

    这些应合并到 GamePerformance 并将外键添加到 League 。如果NCAAB中没有“辅助”(表格之间的唯一区别),只需将其设为空即可。

    您应该这样做,因为:

    • 这两个表后面的代码可以共享
    • 如果你想开始支持另一个联赛的表现统计数据,你可以不改变你的模式(而不是创建另一个表)
    • 您可以查询整体统计数据,或轻松比较联赛之间的静态数据(可能,但不适用于拆分表)

    记得:

    • 添加行与添加列相比微不足道
    • 与添加表相比,添加列微不足道

    在设计模式时牢记这些原则,您的系统将更容易构建和维护。