APP下载

递归查询在农村土地承包经营权流转统计中的应用

2017-03-01于鹏翔温婉丽

河北建筑工程学院学报 2017年2期
关键词:行政区树形经营权

于鹏翔 温婉丽

(1.山东正元数字城市建设有限公司,河北 张家口 075000;2.河北建筑工程学院,河北 张家口 075000)

递归查询在农村土地承包经营权流转统计中的应用

于鹏翔1温婉丽2

(1.山东正元数字城市建设有限公司,河北 张家口 075000;2.河北建筑工程学院,河北 张家口 075000)

主要分析在农村土地承包经营权系统中如何运行递归查询,并采用相关技术生成各种图表,为农业相关管理部门决策提供技术支撑.

递归查询;遍历;统计汇总;农村土地承包经营权

1 引 言

中共中央办公厅、国务院办公厅2014年11月印发《关于引导农村土地经营权有序流转发展农业适度规模经营的意见》中提到伴随我国工业化、信息化、城镇化和农业现代化进程,农村劳动力大量转移,农业物质技术装备水平不断提高,农村土地承包经营权流转明显加快.为全面理解、准确把握中央关于全面深化农村改革的精神,要坚持家庭经营的基础性地位;坚持农村土地集体所有,实现所有权、承包权、经营权三权分置,引导土地经营权有序流转.

随着流转的承包农户增多,流转形式也多样化,流转主体多元化,流转利益关系复杂化,迫切需要加强土地流转的管理和服务工作,做好流转统计的工作,即需要依托农村经营管理机构健全土地流转服务平台,完善县乡村三级服务和管理网络,建立土地流转监测统计制度,实时准确的为流转双方提供信息发布、政策咨询等服务,为领导决策提供依据.

承包经营权确权工作从中央到农村都非常重视,因此会形成多级管理机构,必须采用合理的技术手段才能更好的从海量的数据中提取出各级管理部门需要的有效信息.涉及多级行政区的时候在技术层面往往会被建模成一棵行政区划树,通过这棵树的父子关系可筛选出需要的行政区编码等信息,将筛选出的行政区编码与其他业务表关联可得到行政区范围内的业务信息.实践发现合理运用递归查询可以让系统功能设计上层次清晰,避免了普通筛选方式需要的处理过程,很大程度上提高系统可维护性和系统的运行效率.下面我们以递归查询在土地流转统计中的应用为例,对递归查询的应用进行说明.

2 递归查询原理

首先我们先来认识一下递归查询,通俗的讲递归查询就是按照继承关系逐级遍历的过程,递归查询的对象实质上是一个树形结构,查询的过程就是从根节点开始,依次对各级子节点查询,最终遍历完所有的节点.数据结构中遍历一棵树有前序遍历,后序遍历等概念,这里不是我们研究的重点,我们重点研究如何运用Oracle数据库自带的递归查询功能实现在农村土地承包经营权系统中的应用.

Oracle提供的关系型数据表是我们实现递归查询的基础,要在Oracle中实现递归查询,第一步工作应该是将我们要统计的记录保存成树形结构信息,保存成树形结构的方法很简单,通过在表中建立两个标志字段即可实现.一般我们给每个记录添加一个ID和一个PARENTID字段,这样根据这两个字段的对应关系,一个树形结构就形成了,在这个树形结构的基础上我们就可以运用Oracle提供的递归查询工具展开查询统计了.

3 递归查询在承包经营权管理系统中的应用

在承包经营权管理系统中我们需要保存成树状结构的是行政区划表,在行政区区划表基础上联合查询业务表就可以满足我们根据行政区进行复杂的查询统计了.行政区划表的设计上除了行政区名称,行政区编码等基础属性外,给每个行政区记录设置ID和父ID属性值,其中最高级的行政区父ID设为0,其他的子级行政区根据行政级别将其父ID设置成其对应的父级行政区的ID,假如我们设置省级为最高级别那么将省级行政区的ID设为0,该省管辖市的父ID就设为该省的ID,各市的ID又作为其管辖县的父ID,依次类推,这样从最顶级的行政区开始一棵树状结构的行政区划树就虚拟出来了.

接下来就是研究如何利用Oracle数据库自带的递归查询来实现我们的统计汇总功能了.Oracle递归查询主要是start with...connect by prior的用法,start with后面紧跟递归的种子,即递归树结构中的根节点,这里就是我们要查询行政范围的ID;connect by后面跟随的是连接条件,即本条记录与上一条记录的一个对应关系.在基本语法的基础上,我们还可以加上一些参数进行更细粒度的控制:比如level参数可以表示出查询层次;where子句可以联合数据库的业务表进行更多查询条件的控制;connect_by_isleaf可以控制是否只显示所查询树状结构的叶节点,这个参数很实用,通过设置这一参数我们可以控制只对最底层行政区相关数据进行查询,这样进行汇总统计的时候就可以避免重复记录的统计,省去了人为筛选的麻烦.

在承包经营权系统中所统计的行政区划范围是动态选择的,因此查询功能用带参数的查询语句实现是最合适的,执行查询的时候把选择的行政区对应的ID传递给查询语句,查询语句以此行政区为根节点递归出该行政区下的所有子节点,然后将查询后的子集与流转业务表进行关联查询,就可统计出我们需要范围的土地流转信息了.

通过代码片段可以更容易的理解递归查询函数的用法,下面是递归查询函数应用相关的代码“select x.xzqbm from xzq x where connect_by_isleaf=1 start with x.xzqparentbm='{0}'connect by prior x.xzqbm=x.xzqparentbm”其中{0}的位置用来接收所查范围的行政区ID,通过这次参数确定虚拟树的根节点.由于这里适合从根节点向下递归查找,所以我们要把行政区编码写在前面,即前一条记录的行政区编码是要查询记录的父级行政区编码.这部分代码用法和以上文字描述部分是一致的,掌握了递归查询原理之后是很容易理解的.

在这部分代码的后面加上where子句,比如增加土地流转起止时间的选择,土地流转的交易情况等信息,然后再与土地流转业务表连接查询,运用数据库提供的sum函数,case函数等就可以得到很详细的土地流转统计信息了.

数据统计汇总工作完成后以合适的形式表现出来也是比较重要的,比较常见的是图表形式和报表形式.

图表形式有可细分为柱状图,饼状图,线状图等,实现图表表现的工具较多,这里采用比较灵活的轻量级插件工具highchats完成.这个工具也很好用,取得了相关数据后,只需要进行相关参数的设置就可看到良好的表现效果.

报表的实现也有很多选择,这里以fastreport为例简单说明其实现流程,fastreport实现报表功能主要就是模板实现和数据绑定两个环节,按照相关规则设置好业务模板后,将查询出的数据与之绑定就可以轻松生成报表.

4 结 论

将递归查询应用在查询统计中构造成带参数的查询函数,这不仅能够实现动态快捷筛选行政区信息,结合业务表得到查询统计结果;而且递归查询的应用简化了系统设计,在一定程度上提高了系统的易维护性和系统的运行效率.

[1]怀进鹏.递归查询算法的研究[J].软件学报,1994(7)

[2]姜洋,彭智勇,彭煜玮.基于图数据库的在线族谱编录系统[J].计算机应用,2015(1)

[3]范时平,潘淑琴,罗启涵.一种新的基于递归分解的图可达性查询算法[J].计算机应用研究,2014(12)

On the Application of Recursive Inquiry in the Circulation Statistics of Rural Land Contracting Right

YUPeng-xiang1,WENWan-li2

(1.Shandong Zhengyuan Digital City Construction Co.,Ltd.2.Hebei University of Archiecture Zhangjiakou,Hebei 075000)

This paper intends to illustrate how to use recursive inquiry in rural land contracting right management.By using related technologies,subsequent graphs are generated so as to provide technical support for agricultural-related management decisions.

recursive inquiry;traverse;statistical summary;rural land contracting right

2016-05-20

于鹏翔(1986-),男,汉族,山东烟台,助工,本科,地理信息系统开发.

10.3969/j.issn.1008-4185.2017.02.026

TP 3

A

猜你喜欢

行政区树形经营权
苹果高光效树形改造综合配套技术
莱阳茌梨老龄园整形修剪存在问题及树形改造
上榜派出所统计表
上榜派出所统计表
民法典物权编应如何完善土地经营权?
猕猴桃树形培养和修剪技术
休眠季榆叶梅自然开心树形的整形修剪
开展农村土地承包经营权确权登记颁证工作的重大意义及主要内容
浅议公路经营权转让
土地承包经营权入股与农民专业合作社的法律兼容性