二维数据表的XML描述

 二维数据表的形式以表1为例,
表1

浩口镇 后湖农场 总口农场 龙湾
1级 356.4 34.78 2567.9 78.5
2级 234.6 66.7 345.1 52.7
3级 125.7 98.0 555.5 33.9

表1可转换为一维的数据表如下,
表2
等级 乡镇名 面积
1级 浩口镇 356.4
1级 后湖农场 34.78
1级 总口农场 2567.9
1级 龙湾 78.5

......

3级 龙湾 33.9

用XML对表2描述如下:
<Item Grade="1级" Town="浩口镇">356.4</Item>
<Item Grade="1级" Town="后湖农场">34.78</Item>
<Item Grade="1级" Town="总口农场">2567.9</Item>
......
<Item Grade="3级" Town="龙湾">33.9</Item>

表2是数据库的存储形式,其XML描述方式和从数据库转换为XML的形式相同。不难发现,这种方式的冗余度较高,直接对表1进行描述能否降低冗余度呢?尝试得到下面的结果:
<GradeGroup  Name="1级">
    <Item Town="浩口镇">356.4</Item>
    <Item Town="后湖农场">34.78</Item>
    <Item Town="总口农场">2567.9</Item>
    <Item Town="龙湾">78.5</Item>
</GradeGroup>
......
<GradeGroup  Name="3级">
    ......
    <Item Town="龙湾">33.9</Item>
</GradeGroup>

比较以上两种描述方案,那一种更有效?
1、表1的描述便于统计,如对“1级”的面积求和;表2的描述中Item的顺序如果不按照Grade排列的话,统计面积相似复杂。
2、如果对"浩口镇"各等级面积求和,表1的描述需要在每一个GradeGroup中查找对应的Item,表2的描述中也需要遍历所有Item,两种情况的复杂度相同
3、查找指定级别和乡镇的面积时,如“浩口镇”“1级”的面积,表1的描述的复杂度显然要低于表2的复杂度
4、用XSLT转换为HTML,表1的描述似乎更容易显示为表1的形式

还有没有更好的描述方法

posted on 2005-04-05 09:07  .3S Swimmer  阅读(4459)  评论(5编辑  收藏  举报