本文主要是介绍纵表和横表的相互转换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
参考 https://www.cnblogs.com/wy123/p/6677073.html
https://blog.csdn.net/rongtaoup/article/details/82179055
https://blog.csdn.net/zhq651/article/details/52966912
1. ’“横表”,特点是,一个ID对应所有的值信息,以行Key-Value1-Value2-Value3的方式存储
2. 竖表(纵表),特点是每行仅存储该ID的某一个类别字段的值,以行的方式存储Key-Value的方式存储
3. 横表转竖表要点:对于横表里的一条数据,在转成竖表时,首先选定并去掉要在竖表中分行展示的字段(假设拿出了n个字段),再给此时的横表新增两个字段(一个用来记录去掉的字段名,一个用来记录该条数据对应的字段值)。这时原来横表里的1条数据在这里转成了竖表里的n条数据,每条数据中没有被去掉的字段值都重复出现,被去掉的字段在新增的两个字段里展示其字段名和字段值
例如下面的例子,横表转竖表时只转了水耗、电耗、热耗三个字段
(横表)
(竖表)
横表的优点:横标的有点事显示的较为清晰直观,同时在字段的选择上更为科学合理,具体的字段可以根据具体情况划分字段类型,
横表的缺点:不方便扩展和公用,也就是说设计了一张横标,只能在固定的某一种特定的相对不变的场景下使用,
比如加字段,或者类似的业务想公用一张横表,都有局限
竖表的优点:最大的特点是可以灵活扩展存储的内容,同时具有一定的公用性
因为竖表的存储结构不受字段个数的限制,可以存储具有一定共性的业务数据。
竖表的缺点:竖表的字段类型要兼容,比如横标可以根据具体的值设计成varchar,decimal,datetime等,
横标为了兼容以上字段类型,只能设计成varchar的,可能会浪费一定的空间
结论:应该把不容易改动表结构的设计成横表,把容易经常改动不确定的表结构设计成纵表。
这篇关于纵表和横表的相互转换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!