C#系统开发之数据库设计-继承关系的建立

在实际的程序开发中,我们通常在后台程序设计的时候,用了大量抽象的东西,接口,抽象类等等,也用了继承和实现来快速扩展子类,这些都是为了让程序开发更加高效,模块化,易于分工协作等等;但是在数据库端如何实现这种继承关系呢?特别是针对于业务特别复杂的模型的时候,数据库的设计更加重要;

通常有三种方法来实现:

1 建立外键表,将所有子表共有的用于实现某一种功能的字段封装起来,比如将描述数据权限的字段封装起来;这种做法虽然简化了子表的数据列,但是却增加了后期使用过程中的查询消耗;

2 子表各自拥有记录描述自己的公共字段:比如每个子表都有结构相同的描述数据权限的字段;这种做法是最基本的,因为是最耗时的,特别是当父类业务进行变化的时候,子表需要或者修改添加相同的字段;

3 将所有的子表记录在一张表结构中,这样虽然,降低了查询消耗,但是也浪费了子类对象的大量字段,因为并不是每一个子类都会用到所有字段;

具体选择那种方法,是根据实际业务进行选择和调整。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值