快速业务通道

一个轻量级数据管理与分析平台的实现 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17

表 3. 人口表(POPULATION)

Name Type Comments
AREAID VARCHAR2(10) 地区 ID,主键,外键
YEAR VARCHAR2(4) 年份,主键
TOTAL NUMBER 总人口
MEN NUMBER
WOMEN NUMBER
CITY NUMBER 城镇
COUNTRY NUMBER 乡村

表 1 所示的数据,应该来自表 2 和表 3 的连接查询:

代码 1. SQL 示例

Select    A.AREANAME,B.AREAID,B.YEAR,B.TOTAL,B.MEN,B.WOMEN,B.CITY,B.COUNTRY from    AREA A, POPULATION B where    A.AREAID = B.AREAID

如前所述,查询结果集中包含了 AREA 表的AREANAME 列,满足了用户业务逻 辑视角的展示需要;包含了 POPULATION 表的AREAID 和 YEAR 两列,满足了在 POPULATION 表中定位数据行进行数据更新的需要。

一个轻量级数据管理与分析平台的实现(3)

时间:2011-05-25 IBM 孙重波

采用 Applet + JSP

如果仅仅只需要满足表 1 所示的图形界面——一个展现数据的表格,那么表 现层的选择没有任何约束,可以用在 Java EE 平台下的任何表现层技术都能满足 。表格中的数据需要能够修改;如地区这样的列需支持下拉列表选择填写;表格 中的数据可以支持复制、粘贴;必须允许用户根据表格中的数据制作图表;图表 可以放大缩小;图表可以打印;图表可以导出成图片;……

随着要求的进一步增多,可选范围迅速减小,但是可以肯定的是,Java Swing + JFreeChart 差不多可以满足所有要求。考虑到这个功能是用于 B/S 架构系统 中的,选择嵌入 JSP 页面的Applet

作为表现层策略,是合适的。

一旦表现层确定为 JSP + Applet 的方式,意味着客户端获取到了最大的可 交互性。在服务器端查询的结果集,进行简单封装,采用对象序列化方式,将其 传送到 Applet 端,Applet 端使用 Java Swing 构造显示的图形界面,并处理用 户的操作。

使用模板 SQL 实现查询

在用户界面中,像时间和地区这样的数据筛选条件,可能分别用下拉列表选择 和树形结构实现,以增强直观度和易用性。换句话说,代码 1 所示的SQL 语句中 ,需要根据用户在界面上的选择结果,生成适当的where 子句以响应筛选条件。 假设根据需求,构造了如下图所示的UI:

图 1. UI 示意图

那么,图示的UI中,地区的选择,在代码 1 对应的SQL中,对应添加 B.AREAID=? 的where 子句选;两个年份的选择,对应添加 B.YEAR between ? and ? 的子句;而数据类别的选择,则是用来确定被查询的数据类别的。考虑使 用如代码 2 所示的SQL 语句:

一个轻量级数据管理与分析平台的实现(4)

时间:2011-05-25 IBM 孙重波

代码 2. SQL 示例

Select    A.AREANAME,B.AREAID,B.YEAR,B.TOTAL,B.MEN,B.WOMEN,B.CITY,B.COUNTRY from    AREA A, POPULATION B where    A.AREAID = B.AREAID and B.@area and B.@year

上述代码中,@area 和 @year 是需要根据用户所选择之条件进行替换的替换 标识。

不要小看这一点点小手段,统计局的大多数数据都是按照地区和时间进行分类 和统计的,因此上面的简单方案已经可以处理大多数统计数据的查询需求了。而 且 @area 这个替换标识,既可以用 AREAID=? 的子句替换,也可以用 AREAID in (?,?)

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号