当前位置 : 首页> 交流分享 > 什么是纵表和横表 浅析横表和纵表的相互转换

什么是纵表和横表 浅析横表和纵表的相互转换

时间:2018-08-16 14:30:00   已访问:1021次
热门专业

什么是横表?什么是纵表?横表就是普通的建表方式,如表结构为:主键、字段1、字段2、字段3...。 如果变成纵表后,则表结构为: 主键、字段代码、字段值。而字段代码则为字段1、字段2、字段3...。 具体为电信行业的例子。以用户帐单表为例,一般出账时用户有很多费用,其数据一般存储为:时间,客户ID,费用科目,费用。这种存储结构一般称为纵表,其特点是行数多,字段少。

纵表在使用时由于行数多,统计用户数或对用户进行分档时还需要进行GROUP BY 操作,性能低,且操作不便,为了提高性能,通常根据需要将纵表进行汇总,形成横表,比如:时间、客户ID、基本通话费、漫游通话费、国内长途费、国际长途费...。

横表与纵表的优缺点:

横表

优点:一行表示了一个实体记录,清晰可见,一目了然。

缺点:如果现在要给这个表加一个字段,那么就必须重建表结构。

纵表

优点:如果现在要给这个表加一个字段,只需要添加一些记录。

缺点:数据描述不是很清晰,而且会造成数据库数据很多。另如果需要分组统计,要先group by,较繁琐。

结论

应该把不容易改动表结构的设计成横表,把容易经常改动不确定的表结构设计成纵表。

纵表转横标

有如下纵表:

什么是纵表和横表 浅析横表和纵表的相互转换_www.itpxw.cn

将其转为横表:

什么是纵表和横表 浅析横表和纵表的相互转换_www.itpxw.cn

结果:

什么是纵表和横表 浅析横表和纵表的相互转换_www.itpxw.cn

横表转纵表

有如下横表:

什么是纵表和横表 浅析横表和纵表的相互转换_www.itpxw.cn

将其转为纵表:

什么是纵表和横表 浅析横表和纵表的相互转换_www.itpxw.cn

结果:

什么是纵表和横表 浅析横表和纵表的相互转换_www.itpxw.cn


推荐内容