基于PostgreSQL的GML数据查询管理系统
“redqq”通过精心收集,向本站投稿了6篇基于PostgreSQL的GML数据查询管理系统,下面是小编收集整理后的基于PostgreSQL的GML数据查询管理系统,供大家参考借鉴,希望可以帮助到有需要的朋友。
篇1:基于PostgreSQL的GML数据查询管理系统
基于PostgreSQL的GML数据查询管理系统
GML(Geography Markup Language,地理标记语言)用文本的形式来表示地理信息,提供了一种可扩展的、标准化的空间信息编码方式.目前GML空间数据的管理以文档存储管理方式为主,数据的查询更新效率低下,特别在文档较大时,对内存的要求也比较高.为此,这里设计和实现了一个基于PostgreSQL的GML数据管理系统,其中包括元数据查询、属性到图形的.查询、空间信息到属性的查询和基于点位的查询,同时设计和实现了将查询到的WKT(the Well-Known Text)格式空间数据的可视化.
作 者:张爱国 邬群勇 许其凤 ZHANG Ai-guo WU Qun-yong XU Qi-feng 作者单位:张爱国,邬群勇,ZHANG Ai-guo,WU Qun-yong(福州大学福建省空间信息工程研究中心,空间数据挖掘与信息共享教育部重点实验室,福建,福州,350002)许其凤,XU Qi-feng(福州大学福建省空间信息工程研究中心,空间数据挖掘与信息共享教育部重点实验室,福建,福州,350002;信息工程大学,测绘学院,河南,郑州,450052)
刊 名:测绘科学技术学报 PKU英文刊名:JOURNAL OF ZHENGZHOU INSTITUTE OF SURVEYING AND MAPPING 年,卷(期): 25(5) 分类号:P208 关键词:PostgreSQL GML WKT 查询 可视化篇2:学生成绩管理系统数据查询优化方法研究论文
学生成绩管理系统数据查询优化方法研究论文
0引言
互联网时代,信息技术给人们的工作和生活带来了极大的便利。一个功能完整的管理信息系统通常由两部分组成,即前台应用程序和后台数据库。前台应用程序通过互联网与后台数据库进行数据交互,包括数据的增加、删除、修改、查询,这就是数据库的4个基本操作,简称CRUD操作。在数据库的4个基本操作中,查询是使用频率最高的操作,因此查询效率的高低直接关系到应用程序性能的好坏。大数据时代数据量增长很快,如果不注重数据查询效率的优化,随着数据量的逐渐增加,数据查询效率将逐渐降低,最终将严重影响管理信息系统的用户体验。因此,必须将数据查询优化作为管理信息系统开发与维护的重要内容,贯穿系统生命周期始终。
1研究对象与方法
学生成绩管理系统是一个典型的基于数据库的管理信息系统,在教育管理中应用非常广泛。根据数据库设计原则,按照第三范式的要求设计数据表结构。学生成绩管理系统数据库的表结构由成绩表、学生表和课程表组成。成绩表中包含学期、学号、课程号、成绩等字段,学生表中包含学号、姓名、学籍表等字段,课程表中包含课程号、课程名称、学时、学分等字段。
将学生成绩管理系统数据库部署在Windows Server 2008操作系统和 SQL Server 2008数据库管理系统上。数据查询一般通过SQL查询语句来实现各种查询逻辑。在外部环境保持稳定的状态下,数据查询效率越高,SQL语句的执行时间越短。因此,可以通过计算SQL语句的执行时间来进行数据查询效率比较分析。
2数据查询效率影响因素
由于数据查询是一个前台应用程序与后台数据库的交互过程,涉及很多环节,因此影响数据查询效率的因素有很多。归纳起来,影响数据查询效率的因素主要来自物理层、数据库层、应用层[1] 3个层面。
在物理层,影响数据查询效率的主要因素包括服务器CPU性能、内存、硬盘、网络、操作系统等。在数据库层,影响数据查询效率的主要因素包括索引、视图、数据存储、数据冗余等。在应用层,影响数据查询效率的主要因素是SQL语句的写法和应用程序设计。
3数据查询优化方法
3.1物理层优化方法
数据库部署在服务器上,服务器性能的好坏直接影响查询效率。针对物理层影响数据查询效率的主要因素,可以采取以下优化方法:
(1)提高CPU性能。CPU是计算机负责执行指令和处理数据的核心部件。服务器性能的高低很大程度上由CPU的性能决定。数据库的查询操作特别依赖CPU的并行处理能力。因此,应该为数据库服务器配置高性能的CPU。
(2)增加内存。数据查询分为物理读和逻辑读,物理读是从硬盘读取数据到内存缓冲区,逻辑读是直接从内存缓冲区中读取数据。内存的'读写效率远远高于磁盘的读写效率,而且物理读还会增加磁盘I/O操作。因此,为了保证数据查询操作都能够在内存中完成,应该尽量为数据库服务器配置足够多的物理内存,同时要配置相应的虚拟内存。
(3)配置多块硬盘。数据查询操作需要大量的I/O操作,将I/O操作尽可能平均分配在多块硬盘上才能有效提升硬盘的并行读写性能。因此,应该为数据库服务器配置多块硬盘,避免使用单块超大容量硬盘。
(4)提高网络带宽和网络稳定性。应用程序与数据库之间通过互联网进行数据交互,因此应该提高数据库服务器的网络带宽和网络稳定性。
(5)提高操作系统性能。数据库管理系统安装在操作系统上,应该加强操作系统的管理与维护,提高操作系统性能。
3.2数据库层优化方法
数据库管理系统负责SQL查询指令的执行,因此数据库层的优化是数据查询优化的核心,其对数据查询效率影响最为显著,可以采取以下优化方法:
(1)索引优化。索引是对数据库表中一个或多个列的值预先进行结构排序。索引可以避免全表扫描,因而可显著加快数据库的查询速度[2]。索引分为聚集索引和非聚集索引。与非聚集索引相比,聚集索引通常能够提供更快的数据访问速度。一般应考虑将频繁查询、连接、排序或分组的列设为索引列,其中最频繁操作的列设为聚集索引列,避免在数据量较小的表上建立索引,同时避免在频繁进行插入、删除和修改操作的列上建立索引[3]。如成绩表一般按学号查询,因此将学号列设置为聚集索引列。同时根据需要将学期、课程号、成绩等列设置为非聚集索引列。
(2)视图优化。视图是由一个或者多个表组成的虚拟表。通过连接查询(JOIN)和联合查询(UNION)建立视图,可以实现数据库中数据的合并与分割,极大方便了数据查询。如成绩管理系统中成绩表分别与学生表和课程表进行连接查询,建立一个视图,将学号、姓名、课程号、课程名称、学时、学分、成绩等信息放入一张虚拟表中,应用程序查询时只需要查询该视图即可获得所需数据。视图查询同时涉及多个物理表操作,当数据量较大时,容易产生查询效率低下的问题。为了提高查询效率,视图的定义深度一般不应超过三层。若三层视图不够用,则应在视图上定义临时表,在临时表上再定义视图。这样反复交迭定义,视图的深度就可以不受限制。既保留了视图的便利性,又兼顾了查询效率问题。
(3)数据存储优化。数据库通常包括数据文件和日志文件。数据文件和日志文件默认存储在相同的位置。由于数据文件和日志文件的操作会产生大量的I/O,因此应将日志文件与数据文件分别存储在不同的硬盘上以分散I/O。通常情况下,数据库默认只有一个主数据文件,不生成次数据文件。为了提高查询效率,必要时可以通过定义文件组把数据库中的一些表分开存储在不同的数据文件里,即增加次数据文件,同时把不同的数据文件分散存储在不同的硬盘上[4]。此外,数据文件长期自动增长可能产生碎片,导致物理空间与数据的逻辑空间不再连续。因此,有必要定期整理数据库碎片,以提高数据库查询效率。
(4)适当增加数据冗余。按照数据库的设计原则,数据表应该避免数据冗余。但是,为了提高数据的查询效率,有时需要降低范式标准,适当增加数据冗余,达到以空间换时间的目的。数据冗余包括字段冗余和表冗余。字段冗余是通过增加冗余字段,减少数据计算和连接查询。如学生表中的性别和出生日期,虽然可以从身份证号中获取,但是为了提高查询效率,应增加性别和出生日期字段。表冗余是通过增加冗余表提高查询效率。以成绩表为例,运行多年的成绩管理系统中保存了历届学生的成绩信息,包括已经毕业的学生成绩信息,多年累积下来,数据量不断增加,导致查询效率降低。此时,可以考虑建立一个数据冗余表,其表结构与成绩表的视图一致,但是只保存在校学生的成绩信息,数据量会大大减少。对在校生的成绩查询只需要查询冗余表,查询效率大大提升。成绩数据冗余表要能自动更新,以便与成绩表数据保持同步和一致。可利用SQL Server 2008的代理服务功能,建立一个每天凌晨定时自动执行的作业,作业分为两步:
step1:清空老数据,相关SQL语句为:
Truncate table cj_query
step2:插入新数据,更新冗余表,相关SQL语句为:
INSERT INTO cj_query (xq,xh,xm,kch,kcmc,xs,xf,cj)
SELECT xq,xh,xm,kch,kcmc,xs,xf,cj
FROM cj_v /* cj_v为成绩表、学生表、课程表作连接查询建立的视图*/
WHERE xjm = '01' /*在校学生的学籍码为01*/
3.3应用层优化方法
应用层涉及SQL语句的编写和应用程序的设计,其是否合理很大程度上会对数据查询效率产生影响。针对应用层影响数据查询效率的主要因素,可以采取以下优化方法:
(1)SQL语句写法优化。SQL语句优化要注意的地方很多,总的原则是限制返回结果集,尽量避免全表扫描。返回结果集越大,逻辑读数就越大,而且如果超出内存缓冲区的容量,还需要增加物理读数,从而增加磁盘I/O操作。因此应该限制返回结果集的大小,包括行数和字段列数。全表扫描是指搜索表中的每一条记录,直到所有符合给定条件的记录返回为止,效率非常低下,因此应该尽量避免全表扫描。根据优化总原则, SQL语句优化方法总结如下:①避免使用 select * from table,应该用具体的字段代替“*”,不要返回任何用不到的字段;②尽量避免在where子句中使用!=、、not、in、or等运算符,因为这些操作可能会引起全表扫描;③尽量避免在 where 子句中对字段进行函数运算和表达式运算,这将导致数据库放弃使用索引而进行全表扫描;④尽量避免使用子查询,如不能避免时,应尽量减少子查询的嵌套层次,并在子查询中过滤掉尽可能多的行;⑤尽量避免使用外连接,因为外连接必须对左表或右表查询所有行,应尽量使用内连接;⑥合理使用临时表和表变量,当需要重复使用数据量较大的表中某个数据集时,应当考虑使用临时表或表变量,这样可以大大提高查询效率[5]。表变量存储在内存中,临时表存储在系统数据库tempdb中。对于较小的数据集考虑使用表变量,对于大数据集,由于内存无法容纳,使用表变量效率反而不高,应该使用临时表。同时,应避免频繁创建和删除临时表,以减少系统表资源的消耗。
(2)应用程序设计优化。应用程序设计有时也会影响数据查询效率。在可能的情况下,应用程序应尽量采用分页设计,这样可以分批多次获取数据集,提高单次查询响应速度。同时,应用程序设计时还需考虑并发性,防止出现数据库锁死和查询阻塞现象。此外,对于Web应用程序,还应考虑使用数据缓存和局部刷新技术,减少数据查询次数和查询数据量。
4结语
大数据时代,数据库中的数据量持续增加。为了保证信息管理系统始终具有快速的响应速度和良好的用户体验,必须深入研究数据查询优化技术。本文以学生成绩管理系统为例,从物理层、数据库层和应用层3个方面分析了影响数据查询效率的主要因素,给出了相应的数据查询优化方法。实际应用中,应从多个方面综合采取合适的优化策略,才能有效提高数据查询效率。
参考文献参考文献:
[1]刘辉兰, 陈卫东.数据查询优化技术的研究和探讨[J].中国数字医学, (7):7274.
[2]林勤花.关系数据库查询优化技术研究[J].电脑编程技巧与维护, , 10(9):3031.
[3]樊新华.关系数据库的查询优化技术[J].计算机与数字工程, , 37(12):188192.
[4]冯卫兵.关系数据库的查询优化[J].现代计算机, (1):3033.
[5]程学先,黄爱武.关系数据库的查询优化技术[J].软件导刊, (1):7273.
篇3:数据库管理系统中的模糊查询技术
数据库管理系统中的模糊查询技术
内容提要 主要介绍在数据库管理系统中实现模糊查询的方法与技巧,提供了能实现真正模糊查询的二个通用函数的源程序,特别是介绍了结构化查询语言SQL中鲜为人知的通配符的使用方法。
关键词 FoxPro 模糊查询 SELECT-SQL 通配符
在数据库管理系统中,查询是一个很重要的内容。然而,在多数情况下人们不能准确知道作为查询条件的字段内容,如:某字段内容为“涪陵师范高等专科学校”,查询者可能只知道其简称“涪陵师专”或“涪师专”,这时,为保证能查到满足条件的数据记录,只能进行模糊查询。下面从编程的角度谈谈在FoxPro 2.5b中,实现模糊查询的方法。
一、简单的模糊查询方法
① 利用比较操作符“=”进行模糊查询。先把SET EXACT的设置置为OFF,这时,“=”用于两个字符表达式之间作比较,其规则是:“=”右边的字符逐个与“=”左边相同位置的字符进行比较,只要遇到其中一个字符不相等,或者“=”右边的字符表达式结束,比较操作就结束。所以,“abc”=“abc”,“abc”=“ab”,“ab_”=“ab”,“ab”=“”的比较结果均为逻辑真(.T.)。可见,这种方法的`模糊性是不能令人满意的。
② 利用“$”进行包含比较,其模糊查询的效果就比用“=”时好得多。这种方法是在“$”右边的字符表达式中查找“$”左边的字符表达式,若找到返回逻辑真(.T.),否则返回逻辑假(.F.)。用这种方法只要“$”左边的字符表达式的每一个字符在“$”右边的字符表达式中存在且位置不间断,查找就能成功,然而对于诸如前面提到的“涪陵师专”或“涪师专”之类的简称,其查找结果为逻辑假(.F.)。
由此可见,直接利用“=”和“$”进行比较操作是不能太“模糊”的。
二、查询条件为缩略语或简称的模糊查询方法
缩略语或简称在地名、单位名称中使用非常广泛。通常,缩略语或简称是由全称中的某些排列位置不连续的字符组成的,因此,通过设置不同长度的字符串进行比较的规则,或者利用包含比较符“$”,是不能对缩略语或简称进行模糊查询的。这时可编写一通用的自定义函数,将用户输入的查询条件(<字符串2>)与字符型字段变量(<字符串1>)进行逐字比较,如果<字符串2>是<字符串1>的缩略语或简称,则返回逻辑真(.T.)否则返回逻辑假(.F.),从而实现模糊查询。
下面将作者所编写的自定义函数介绍给读者,以供参考。
设计思想:此函数必须是一个通用函数。为此,执行时可先接受二个参数──<字符串1>和<字符串2>。从<字符串2>的左边开始取其第一、二个字符X1,用AT( )函数测试X1在<字符串1>中的位置S1,如果S1不为0,就将<字符串1>中包含X1以及左边部分的字符截掉,并取<字符串2>中的第三、四个字符X2,用AT( )函数测试X2在<字符串1>的剩余部分中的位置S2,若S2不为0,就将<字符串1>的剩余部分中包含X2以及左边部分的字符截掉……,直到将<字符串2>中的字符取完并在<字符串1>中测试完为止,最后本函数返回逻辑真(.T.)。在这个过程中只要有一次测试不成功(即Sn=0),则退出本函数并返回逻辑假(.F.)。因为一个汉字占二个ASCII字符,所以每次取二个相邻字符进行测试(让ZFBJ.PRG中的K=2)。这样做,一是可以减少测试比较的次数,提高程序运行速度。二是当<字符串2>中含有数字、字母等半角字符时,可以减少满足条件的记录数目,提高查询的命中率。然而,若查询条件中含有英文缩写,则每次只能取一个ASCII字符进行测试(让ZFBJ.PRG中的K=1)。
本函数的源程序如下:
*************************************************************
* 程序名称:ZF
[1] [2] [3]
篇4:拖拉机信息登记查询管理系统设计
拖拉机信息登记查询管理系统设计
根据多年从事农机管理工作的经验,用VB程序设计语言和ACCESS数据库系统,设计一个简易的`管理系统,实现对拖拉机信息的登记、查询、修改、删除、统计、报表打印功能,满足拖拉机信息管理的需要.
作 者:王光升 作者单位:安徽省滁州市南区农机监理站,安徽,滁州,239001 刊 名:总裁 英文刊名:PRESIDENT 年,卷(期): “”(10) 分类号:S2 关键词:拖拉机信息登记 查询管理系统 设计原理篇5:固体火箭发动机试验数据分析处理及管理系统
固体火箭发动机试验数据分析处理及管理系统
介绍了一种固体火箭发动机试验数据分析处理及管理系统.该系统具有标定、数据采集、试验数据分析处理、发动机性能预估、参数辨识及试验数据库管理功能.由于采用了发动机性能预估和参数辨识方法,使用该软件可以有效地提高试验效率和降低试验成本.
作 者:陈广南 郭健 姜春林 张为华 焦绍球 CHEN Guang-nan GUO Jian JIANG Chun-lin ZHANG Wei-hua JIAO Shao-qiu 作者单位:国防科学技术大学航天与材料工程学院,湖南,长沙,410073 刊 名:固体火箭技术 ISTIC EI PKU英文刊名:JOURNAL OF SOLID ROCKET TECHNOLOGY 年,卷(期): 23(3) 分类号:V435 关键词:发动机试验 数据处理 参数识别 计算机软件+篇6:ERP系统主数据的维护与管理论文
ERP系统主数据的维护与管理论文
【摘要】讲述了主数据维护的准确性、及时性、严谨性是保证ERP系统正常运行的基础,以及主数据的维护与管理需要注重的几方面内容。
【关键词】主数据;维护;管理
1、概述
任何企业ERP项目的运行,都是架构在数据的坚实基础上。有了正确的数据ERP系统才能够将信息传播到整个企业,在企业层次上去优化各种业务工作,提高管理水平。数据是ERP系统运行的基础,只有确保数据的准确性、维护的及时性和严谨性,才能保证ERP系统的正常运行。
“数据”是科学实验、检验、统计等所获得的和用于科学研究、技术设计、查证、决策等的数值。ERP系统主数据又称参照数据,是由定义业务实体的事实构成,事实被用于对一个实体建立多个定义或视图。维护主数据包括物料主数据、供应商、客户、会计科目视图等,主数据字段繁、种类多、相互制约的特点决定了主数据的维护一定要非常重视并投入充分的力量和资源才能解决。
ERP(enterprise resource planning)企业资源计划,它是将企业内部所有资源整合在一起,对采购、生产、成本、库存、分销、财务资源进行规划,从而达到最佳资源组合,取得最佳效益。数据是这些资源的表现形式,任何经营管理活动都离不开对这些数据的存取,所以说数据是企业的一种无形资产。因此,在ERP项目运行过程中,重中之重就是数据的维护和管理。
2、主数据的维护
主数据在维护过程中要高度重视主数据维护的准确性,保证数据维护的及时性和严谨性,ERP系统才能正常的运行。不准确的数据对于无辜的计算机来说其实就是谎言,它们只能被计算机用来高速地产生错误的答案。只有保证每一次数据维护的准确,才能保证系统数据的准确。
主数据字段繁、种类多、相互制约的特点,使得主数据的维护必须确保及时性和严谨性。为确保主数据维护的及时性和严谨性,我们制定各项标准化规范。大到信息指标体系、信息交换接口要标准化,小到分类编码、文档编写、字段定义及维护流程同样也要标准规范化。确保在最短的时间内能够进行数据准确维护,使数据的维护进行规范处理。
主数据维护方法有直接输入法和批量导入法。直接输入法使用ERP系统事物代码,对视图中的各项目进行录入,这种方法适合少量数据的维护,由于是手工更改,出错的概率较高。主数据的维护既是日常性的工作,也会有阶段性的工作。往往阶段性的工作采用大数据量的批量更改,如价格调整、类别调整等等,因此,系统要有批量处理和调整的功能。批量导入法使用批导程序,一次执行大批量的更改,但要求数据维护人员按照用户提供的数据模板正确导入ERP系统中。
真正做好主数据维护和管理工作,要求主数据维护人员在实际中做好以下几方面工作。
2.1 注重业务流程及其功能改变
由于ERP系统主数据的关键字段是与业务流程及其功能息息相关的,所以在维护主数据时必须关注系统内业务流程设计及其功能变化。在系统运行过程中,系统功能会被优化或改进。这时,通常会对主数据的维护提出新要求。主数据维护人员必须关注这些变化,确保主数据随时更改。因此,从管理上要求在系统设计、配置发生变化时,各模块程序维护和开发人员要及时和主数据维护人员沟通,而主数据人员一定要将这些转化为主数据具体维护要求。
2.2 强化ERP项目相关模块原理的培训
要求主数据维护人员吃透ERP精神,根据系统中的原理和做法,具体应用到实际工作中去,做精、做好,将数据和业务流程紧密结合,重要的是知道数据怎么做,更知道为什么这么做,以达到培训的最佳效果。
2.3 掌握批导程序的制作方法
数据批量导入是主数据维护的一项重要技能。常用的批导程序通常是在上线初期就由开发人员准备好的,可是日常维护过程中,时常会有新的批导入任务,这就要求主数据维护人员不仅能够熟练地使用现有的批导程序以保证导人数据的正确,而且还需要掌握批导程序的制作方法,以适应生产变化的'要求。
2.4 建立主数据发布制度,确保主数据与各项系统外业务的衔接
主数据维护完成后,并不意味着主数据维护流程已经结束。如系统内新增了材料主数据,有了新的物料编码,除设计人员与采购人员知道外,还应在主数据维护流程中增加主数据信息发布这一环节,明确主数据发布的时间、地点、发布的部门、发布范围、如何发布等,并建立企业主数据发布制度。经过了这样的调整,业务部门对新增主数据的用途不再有疑惑,而且可以及时地做出业务反应。
2.5 预见性的维护物料主数据
预见性的维护物料主数据,适应生产的变化,带钢的生产品种规格在成品中数量最大,通过实际工作总结,在维护XG08D2时,同时维护Q195。同样在维护Q235时,同时维护Q215,这样即能适应生产过程中的对物料编码的需求,又提高物料主数据维护的效率。
3、主数据的管理
ERP数据管理体系是通过多次研讨分析,经过较长时间的实践和改进逐步完善建立起来的,目前,基本形成了较为完善的管理体系。
3.1 完善物料主数据维护流程
ERP实施期间由数据组制定产成品、半成品、原料、材料、备品备件、供应商数据收集管理办法和流程,进行数据的收集整理和维护。甩物料帐后,ERP项目部成立运营监管小组负责ERP系统静态数据和数据故障的管理,对静态数据和动态数据维护、变更、修改业务进行受理、审批、备案,并通知责任单位进行处理等;负责动态数据的监控、备案等;按制度执行考核。
3.2 采用技术手段完善管理
对于几十万个物料数据,新增物料只靠单一通过加强管理来杜绝描述重复还是不够的,我们还编写许多有关数据管理方面的程序,来检查数据维护的合法性和完整性,并开发了一个模糊查询程序,有效地控制了描述重复。在新增物料前要对新增物料描述进行查重检查,查找过程中对物料描述数据格式进行转换,如:大小写、全角半角等自动转换对比。
4、结语
ERP系统主数据的维护、原有数据的优化管理仍是数据维护人员艰巨的工作。只有保证每一次数据维护的准确、及时,才能保证系统完整数据的准确。建立明确的责任制度,在数据申请、编码、维护、应用等操作的各个环节上都要保证才能使数据准确、完整。
【基于PostgreSQL的GML数据查询管理系统】相关文章:
4.合同管理系统
5.管理系统心得体会
9.计量检测管理系统
10.客户管理系统论文






文档为doc格式