基于数据库XML语法实现动态界面的数据库存储与检索

2019-10-08 09:03蒋海锋万畅
软件 2019年2期

蒋海锋 万畅

摘  要: 本文介绍了一种实现动态界面的方法,并设计了基于XML字段技术的数据库存储模型,实现便利的数据存储、组合条件检索功能。通常对于一个软件业务系统,需要实现各种信息录入和各种组合条件的检索功能,软件设计者需要为每个业务信息设计相应的录入项目、录入界面和检索功能,软件的开发时间很大部分花费在这些重复的工作上,而且后期通常还要应对不断变化的录入项目需求,为解决和应对信息录入项目的变化和自定义需求,并能满足后期对高级自定义组合条件数据检索的需求,我们研究了基于最新数据库XML字段语法的动态界面技术,实现由用户自定义需要的录入项目,减少了重复工作的时间。动态界面技术涉及到后期数据库存储和检索功能的实现,本文探讨了一种基于XML数据库存储模型的技术,通过实际的测试,能提高开发效率和维护效率,降低开发成本,满足最终用户对数据录入和检索的需求。

关键词: 动态界面;XML字段;检索条件;自定义界面;XML语法

【Abstract】: This paper introduces a method to realize dynamic interface, and designs a database storage model based on XML field technology to realize convenient data storage and combination condition retrieval function. Usually for a software business system, the need to achieve a variety of information input and a variety of combinations of search conditions, the software designer for each business information needs to design the corresponding entry items, input interface and retrieval functions, software development time is very large Spent in these repetitive work, and later also often respond to changing needs of the entry project, in order to address and respond to information entry project changes and custom requirements, and to meet the late high-level custom combination of data retrieval needs, We have studied the dynamic interface technology based on the latest database XML field syntax, and realized the input items needed by user customization, which reduces the time of repeated work. Dynamic interface technology related to the realization of post-database storage and retrieval functions, this paper explores a technology based on XML database storage model, through the actual test, we can improve the development efficiency and maintenance efficiency, reduce development costs, to meet the end user data entry and retrieval needs.

【Key words】: Dynamic interface; XML field; Search condition; Self-defined interface; XML syntax

0  引言

通常每一個信息系统都需要实现数据录入与组合条件的检索功能,传统的软件设计通常会为每个业务设计相应的录入项目和界面,并且每个录入项目对应于数据库表的某个字段,软件设计者通常需要花费大量的时间来设计软件的录入界面和定义相应的数据库表,并且随着业务的变更,也必须由软件工程师修改软件才能实现需求变更,这大大增加了软件开发和维护费用。为解决这种多变的信息录入需求,需要设计一套能基于用户配置的界面处理技术方案,降低开发维护时间成本,增强应对业务多变的界面设计需求[1-5]。

1  技术背景

动态界面生成技术方案的提出和设计是基于当前最新的数据库支持技术。传统的数据库存储技术可以充分利用数据库字段的各种特性,比如关键字、索引、限制等特性来提高检索的速度,这对于数据量较大的业务系统来说至关重要。现在,随着数据库存储技术的发展,特别是XML类型字段及相应检索语法的支持为我们实现动态界面和快速检索数据提供了技术支持。本文探讨了一种基于XML存储字段的存储格式和相应的检索语法,以实现自定义界面的存储与高效的检索需求[6-8]。

2  动态界面技术设计方案

动态界面技术需要实现动态界面定义与存储、动态生成界面组件、业务数据的存储和组合条件的检索功能。优秀动态界面技术关键在于自定义的灵活性和存储检索的效率[9-10]。

2.1  动态界面定义

模拟开发软件工具,动态界面定义首先需要解决组件的类型和每种类型需要设置的基本属性,其次是界面控件的布局问题。对于最终用户来说,属性设置不宜太多太复杂,需要容易理解,根据一般输入控件的特性,可以将控件分为通用属性和特殊属性。

2.2  动态生成界面组件

动态生成界面组件,主要功能是根据界面定义描述xml,动态生成需要的控件,并由布局控制器根据布局定义调整每个控件的显示位置和大小,其功能划分图为。

界面定义xml:由动态界面定义所生成的xml信息

控件生成器:根据界面定义xml文件的定义信息,动态生成标准的或者用户自定义的控件,并将控件递交给界面布局控制器处理。

页面布局控制器:根据控件的先后顺序和空间布局属性,定位显示控件并设置其显示大小。

2.3  业务数据的存储

对于动态界面来说,因为所有数据都是动态配置的,传统的每个输入数据对应一个数据库表字段的方式已经不适用,因此对于动态界面的存储需要采用格式化的xml来实现。通用的存储模块可以自动遍历界面的所有控件,根据控件类型存储必要的信息。目前很多数据库已经支持 xml类型的字段,可以将业务数据通过 xml格式定义存储在单一的 xml字段中,以实现无需调整数据库表字段的目的,实际使用过程中非常便利和灵活。一个典型的xml存储格式需要考虑存储数据的特性以及存储足够的信息以便于检索或者重现数据。

2.4  组合条件的检索功能

基于关系型数据库的数据检索是业务系统经常用到的功能,检索的速度对于一个拥有大量数据的系统来说至关重要。一般数据库都提供各种技术用于提升检索数据的速度,比如關键字、约束、索引等,充分利用好数据库的这些功能特性对于提升数据检索速度至关重要。

对于使用xml字段类型来存储动态界面数据的应用来说,需要解决两大问题:数据项目的摘取和任意组合条件的查询。

2.4.1  数据项目的摘取

2.4.2  任意组合条件的查询

自定义界面所定义的数据项目都是完全未知的,因此无法像传统软件设计那样固定好检索需求,为此,我们可以提供通用的、更加灵活的自定义查询组合条件的方式,为用户提供功能强大的数据过滤和分析功能。在界面控件定义的通用属性中,有一项检索符合配置,检索符合用于限制不同数据项所能使用的比较方式,包含:等于、不等于、大于等于、小于等于、大于、小于、包含、不包含等比较类型,同时组合条件还需要考虑到“与”和“或”的组合问题和组合的优先级问题,组合的优先级可以通过让用户使用括号来实现,比如,假设用户需要查询所属公司为总公司,并且会计制度为小企业会计制度或者小企业会计准则的企业,则可以通过组合条件输入模块定义符合要求的检索过滤条件。

3  结论

本文所介绍的自定义界面技术从自定义控件到数据库存储、检索等方面提供了设计思路和实际例子,对实现小型业务系统具有非常实用的价值,可以大大缩短开发周期,让用户通过配置就能轻松生成业务系统所需要的数据。通过数据库XML字段类型的支持,能便利实现数据存储和检索,但是由于检索需要使用数据库内置的XML语法支持,其检索效率可能受到一定影响,对于数据量非常大的业务系统应用还需要进一步对性能进行测试和分析。

参考文献

[1] 胡建飞. 关于. net控件数组的探讨[J]. 软件, 2018, 39(7): 103-105.

[2] 周春磊. 基于XML的异构关系型数据交换模型[J]. 计算机与现代化, 2005(10): 99-101.

[3] 曹帮琴, 徐昊. B/S结构中的MSSQL与XML数据交换技术研究[J]. 科技通报, 2012, 28(10).

[4] 鞠训卓. 支持WEB用户界面自动生成的三种界面设计模式[D]. 山东大学, 2007.

[5] 刘杰, 唐勇, 杨勇. 基于自定义组件的MIS程序界面自动生成研究[J]. 武汉理工大学学报(信息与管理工程版), 2007, 29(6): 13-16.

[6] 郭彦辉. 响应式 Web 设计的研究与实现[J]. 软件, 2018, 39(1): 169-172

[7] 黎斌. 基于一体化标识网络和XML的WEB应用的信息安全策略研究[J]. 软件, 2012, 33(10): 93-94.

[8] 谢应涛. 一种基于树状结构的布局动态调整方法[J]. 通讯世界, 2015(13): 87-87.

[9] 马璇, 邝野. 移动终端自适应界面的一致性评价体系[J]. 软件, 2012, 33(12): 164-168.

[10] 焦华. 基础编程的思考方法[J]. 软件, 2018, 39(3): 57-62.