sql设计表结构的常见问题有哪些

技术sql设计表结构的常见问题有哪些这篇文章主要介绍sql设计表结构的常见问题有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.sql改写遇到表字段经常要增加的业务怎么设计表结构?2.业务问

本文主要介绍了sql设计表结构的常见问题,非常详细,具有一定的参考价值。感兴趣的朋友一定要看!

1.sql改写遇到表字段经常要增加的业务怎么设计表结构?

2.业务问题是什么?

,简而言之,有一个表,字段经常变化。桌子结构应该如何设计?

示例:存款单表(已经有29个字段)。由于业务发展,存款单业务有所拓展,拓展了三项业务,即paygo存款单、自营存款单、电话通知存款单。Paygo需要添加4个字段(地址、经度、纬度、设备号)来存款。自营存款扩展需要增加七个字段(柜台号、分行号、业务创建时间、业务订单号、分行名称、服务费、订单费)。通知费用存款单需要增加一个字段。

不知道我说清楚了没有?也就是说,一个表经常会添加字段,而添加的字段并不会被所有数据使用。

3.表结构是如何设计的?

暂时称为键值方法。Ext_key存储添加的字段名,ext_value存储字段值。

sql设计表结构的常见问题有哪些

sql设计表结构的常见问题有哪些

4.key-value设计带来的优点和缺点

sql设计表结构的常见问题有哪些

这种设计带来了很大的灵活性,但是编写sql并不容易。从设计到行到列,列不断变化。不方便扩展。

看看其中一个企业的sql:

如果我们数一数,会更复杂。后期维护会比较困难。

00-1010增加一个订单扩展表1,将经常变化的扩展字段放入扩展表中。经过这样的设计,可以认为它变成了订单表和扩展表之间的简单连接,sql更加清爽。

sql设计表结构的常见问题有哪些

5.另外一种表结构设计,暂且称之为扩展表

(1)如果表结构频繁变化,表会被锁定吗?当然会。然而,目前包括mysql(5.7)在内的oracle快速添加表字段和字段。

(2)大量数据冗余。可想而知,paygo存款和自营存款不使用对方的字段,对应的列为空数据。空数据占用空间小,我觉得可以忽略这个问题。

(3)假设这样的情况,paygo订金订单扩展有1000万数据,自营订金订单扩展有500个数据,电话呼叫订金订单扩展有500个数据,那么paygo订单扩展表就显得多余了。遇到这个问题,我觉得可以拆分:订金订单扩展表和paygo订金订单扩展表。当以这种方式编写sql时,它也是一个非常简单的3表连接。

以上就是《sql设计表结构有哪些常见问题》一文的全部内容感谢阅读!希望分享的内容对大家有帮助,有更多相关知识。欢迎关注行业资讯频道!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/50265.html

(0)

相关推荐

  • 什么是基于SQL2005的CLR存储过程

    技术基于SQL2005的CLR存储过程是怎样的基于SQL2005的CLR存储过程是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在 S

    攻略 2021年12月19日
  • cmakelists文件如何写(cmakelists如何执行)

    技术怎么在CMakeLists.txt文件中包含Eigen本篇内容主要讲解“怎么在CMakeLists.txt文件中包含Eigen”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习

    攻略 2021年12月21日
  • 手把手教你提交Jar包到Maven公共仓库 | 萌新写开源02

    技术手把手教你提交Jar包到Maven公共仓库 | 萌新写开源02 手把手教你提交Jar包到Maven公共仓库 | 萌新写开源02本文,就整理一下我把项目上传到公共Maven仓库的过程,当做一篇教程文章

    礼包 2021年12月15日
  • 如何解决jvm内存溢出java.lang.OutOfMemoryError: GC overhead limit exceeded问题

    技术如何解决jvm内存溢出java.lang.OutOfMemoryError: GC overhead limit exceeded问题如何解决jvm内存溢出java.lang.OutOfMemoryError: GC

    攻略 2021年10月23日
  • 如何理解PHP命令行选项解析库pflag

    技术如何理解PHP命令行选项解析库pflag这篇文章主要讲解了“如何理解PHP命令行选项解析库pflag”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何理解PHP命令行

    攻略 2021年10月21日
  • androidstudio怎么新建app(androidstudio签名失败)

    技术Android studio怎么导出APP测试包和构建正式签名包这篇文章主要讲解了“Android studio怎么导出APP测试包和构建正式签名包”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路

    攻略 2021年12月17日