V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lologame
V2EX  ›  程序员

领域模型中的泛化关系在转化到关系型数据库存储模型的时候怎么设计表结构比较好?

  •  1
     
  •   lologame · 2023-07-11 15:25:03 +08:00 · 909 次点击
    这是一个创建于 501 天前的主题,其中的信息可能已经有所发展或是发生改变。

    譬如 类 B 和 类 C 继承 类 A ,那设计表结构的时候是应该搞三张表分别对应 ABC ,还是搞两张表对应 BC ,还是只用一张表就行了?

    6 条回复    2023-07-11 16:27:46 +08:00
    bellaris
        1
    bellaris  
       2023-07-11 15:43:57 +08:00
    我是用一张表存(当宽表用了)
    问题就是搞着搞着字段贼多
    MoYi123
        2
    MoYi123  
       2023-07-11 15:58:37 +08:00
    数据库的表也能继承, 虽然可能没人会用这个功能.

    https://www.postgresql.org/docs/current/tutorial-inheritance.html
    8355
        3
    8355  
       2023-07-11 16:20:31 +08:00
    继承难道不是增量差异吗。。。 你怎么理解继承?
    8355
        4
    8355  
       2023-07-11 16:21:31 +08:00
    所以 应该是相同的对应关系+扩展字段 B 和 C 先查询 A 表 然后组合自己表的数据
    zgl263885
        5
    zgl263885  
       2023-07-11 16:21:36 +08:00
    各自是各自的表吧,毕竟字段可能不同,A 只有三个字段,B 可能 有 3+10 个字段,C 可能有 3+7 个字段;另外 A 要是抽象类(接口作用),那就不会有实例的产生,就不会有表的存在.例如 A 代表动物,B 代表猫,C 代表鸟
    thinkershare
        6
    thinkershare  
       2023-07-11 16:27:46 +08:00
    一张表足够,或者干脆不要使用关系数据库。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2788 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 14:44 · PVG 22:44 · LAX 06:44 · JFK 09:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.