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)

相关推荐

  • 【go笔记】使用标准库flag解析命令行参数

    技术【go笔记】使用标准库flag解析命令行参数 【go笔记】使用标准库flag解析命令行参数使用标准库flag解析命令行参数前言
    Go语言标准库中提供了一个包flag可以解析命令行参数。
    示例代码:文

    礼包 2021年12月13日
  • 眉间痣,痣,长在脸上哪些部位算是美女

    技术眉间痣,痣,长在脸上哪些部位算是美女有人认为眉间痣,长在眉心和嘴角的痣是美人痣。其实不然,长在眼睑旁边和下方肤色较淡部位的明亮之痣,才会让人增色和增运。少数痣的确能够使人更美,但并不是每个人都是美人胚子,关于“美人痣

    生活 2021年10月26日
  • 有哪些强大的静态代码分析工具

    技术有哪些强大的静态代码分析工具本篇内容介绍了“有哪些强大的静态代码分析工具”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成

    攻略 2021年10月22日
  • springboot如何使用拦截器判断是否登录

    技术springboot如何使用拦截器判断是否登录这期内容当中小编将会给大家带来有关springboot如何使用拦截器判断是否登录,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。spri

    攻略 2021年11月9日
  • 学生的拼音,用什么方法快速教孩子拼音和拼读

    技术学生的拼音,用什么方法快速教孩子拼音和拼读学习拼音,首先要让孩子熟记“三表”:声母表、韵母表、整体认读音节表学生的拼音;能熟练准确认读和默写,这是学好汉语拼音的基础.想要掌握汉语拼音,一能读准声母、韵母、声调和整体认

    生活 2021年10月30日
  • 0392-判断子序列

    技术0392-判断子序列 0392-判断子序列给定字符串 s 和 t ,判断 s 是否为 t 的子序列。
    字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串

    礼包 2021年12月5日