1.数据库表业务设计

博客概述

这篇博客会记录在实战中对数据库表业务设计对经验,因为接触到到项目水平有限,所以经验仅供参考,记录下来,作为自己到收获,也希望可以帮助到有用的人。

主表与子表关联性的思考

在业务改动与设计中,要增加一个字段,如何判断该字段应该添加在哪里呢?之前的一段时间,老是喜欢加在主表中,把主表做的“又大又肥”,这种方式的好处比较直接,返回的数据是大杂烩,啥都有。但是问题也很明显,会产生维护灾难,后期的维护会很难进行。还需要考虑的一个点就是对某字段可能产生业务扩展扩展,也就是所说的需求更改,会不会增加很多该字段的联系字段?出于这种角度考虑,添加新字段的时候,如果业务上情形比较复杂,并且会关联到其他接口的情况下,还是用子表进行附加会比较灵活。
总结:在表设计中,要灵活对一张大表进行拆分,从数据库设计的角度模块化,一张抽象表,挂很多特征表,需要扩展就继续挂特征表,比较容易扩展与维护。个人感觉这个思路非常好。

抽象表与具象表

这两个概念是自己在项目中创造的,怎么理解呢?举个例子来说,如果网站卖一种产品,这种产品有四种体现,各有特征字段,那是不是意味着必须设计四张表来表示呢?假设我们按照这个思路,可能有4种controller,4种service…,如果出现产品的类型增加,也是有特征字段的,天呐!那维护肯定是个灾难了。面对这种情况,我提出了抽象表与具象表的设计。
所谓抽象表何解呢?还是用上面那个例子,一种产品,四种具体的类型,我们设计一张通用product表,里面有公共字段,比如产品名字这种,总该都有吧!然后呢?重点来了,在product表中设计一个type枚举类,标记这种产品属于哪种类型,如果类型实在太多,可以通过type表来管理。然后以product表为抽象表,对不同对产品,设计具体对具象表,通过productid来与抽象表产生关系,这种设计非常松散,扩展性从个人的角度也是十分好的,推荐给可能需要的朋友!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值