数据库技术论文范例6篇

前言:中文期刊网精心挑选了数据库技术论文范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。

数据库技术论文

数据库技术论文范文1

论文摘要:该文概述了广东省水文数据库现状,讨论了水文数据库表结构3. 0与4. 0的主要差异,针对水文数据库由表结构升级所要解决的问题,提出了具体的工作流程与解决方法,并用以对表结构3. 0进行优化、调整、补充,完成了表结构到4, 0的升级。

1我省水文数据库现状概述

水文资料是水利工程的基础,为了达到准确快速地提供水文资料,资料的科学存储是个关键问题。当前水文资料主要包括:降雨量、蒸发量、水位、流量、含沙量等内容。数据库是现今企业数据存储的主要方式,应用数据库技术来存储水文观测资料就形成了水文数据库。在水文数据库中数据以表的形式存储,这些表的名称、表中每列的名称、数据类型等称为表结构。

广东省水文数据库由1991年开始建设,到1998年建成验收,至今每年都加人新的整编数据。水文数据库的建立改变了水文资料以纸介质存储数据的方式,使资料的存储进人磁介质的时代,以电子版本的方式提供数据极大方便了数据的查询和使用,为水情专用数据库、三防指挥系统、流域水信息与管理等许多水利信息化项目提供了方便,在实际生产应用中发挥了重要作用。

水文数据库使用SQL SERVER 2000做数据库管理系统,表结构经历了由1. 0版本到3. 0版本的演变过程。3. 0版本是一个比较成熟的版本,历经十年的应用,在水文数据存储的标准化方面做出了重要贡献,但在长期的应用中3. 0版本也发现了一些不足之处,于是部水文局组织有关专家在3. 0的基础上修订形成了4. 0版本。从而使我省水文数据库从3, 0版本到4. 0版本的升级成为现实需要解决的问题。

2水文数据库表结构3. 0与4. 0的对比

水文数据库表结构3. 0主要存在的问题有:①时间维的处理不合理;②一些表表列数太多;③一些有用数据没有建表存储;④没有字典表。

表结构4. 0针对以上缺点做了改善,首先使用时间数据类型( DT类型)统一时间维的表示,如:逐日平均水位表3. 0表结构如表1;逐日平均水位表4. 0表结构如表2。

对比表1、表2可见日平均水位3. 0表结构有66列,而4. 0表结构只有4列,3. 0表结构的时间维中年份、月份、各日在列中表示,4. 0表结构中的时间维统一在一列中表示,这样极大方便了SQL语句的编写,而且时间集中到一列上表示有利于随后的数据分析工作。其次,一个表包含太多的列时,说明这个表缺乏内聚,它试图存放来自几类实体的数据,使用垂直分割将一些列移到另一个表中,可以减少表的规模,改善性能。如:表结构3. 0把月、旬、年的数据放在同一表中,导致一个表中有上百的表列,而4. 0把月、旬、年的数据分开到三个表中存放,改善了性能。再次表结构4. 0增加和修改了一些表,使得存储的内容得到扩充,存储更加合理高效。如增加了关系线表来存储水位流量关系,修改了实测大断面表等。最后表结构4. 0增加了字典表类,这样有利于元数据的描述和使用。

3表结构升级实现技术

3.1表结构升级转换需要解决的问题

表结构的升级可能会涉及很多问题,主要要解决的问题有:

1)新表的建立。新表的建立主要讨论新表结构的合理性,确保新表的设立是正确的。

2)数据质量控制,要控制从旧库到新库转移数据时出现的数据转换错误。新库中错误的数据可能来自于旧库中的错误,也可能来自于转换程序的错误或考虑不周。应该确保新库的数据质量比旧库有所提高。

3)功能恢复,主要是参照完整性、方法(存储过程、存储函数、触发器)、外部程序的恢复。水文数据库是多应用数据库,有许多外部程序对其进行访问,数据库升级人员对这些程序几乎是不能控制的,在这种情况下数据库的修改必然对外部访问系统造成影响,解决的方法有二:一是进行功能恢复,升级人员与应用程序开发者协作,修改应用程序使其能适应新的数据库表结构;二是设立过渡期,在这其间使新老数据库同时运行,原来的应用程序继续使用老库,新应用使用新库。通常会结合使用上述两种方法,即进行部分功能恢复同时设立过渡期。

4)数据加载策略,由于水文数据量较大,而且每年都有新增数据,所以数据加载要有增量加载功能。同时,在过渡期间如果数据的增、删、改比较频繁,应该保持新旧库内容的同步。

3. 2升级转换的过程

在生产环境中安全的数据库升级转换流程如图1:

验证数据库是否需要升级转换是综合考虑转化所获得的价值与投人之比,以确定是否需要这样的转换,是否开销过大。水文部门的数据源很多,如基础水文数据库、水情专用数据库等。升级人员要确定各种数据所放的位置才能引用。数据库的转换是一个重复的过程,每次形成一个新表都要经过建表、编写数据转换加载及同步代码、数据加载、结果测试这样一个过程,只有测试无误了才进人下一个新表的建立,这种采取每次一小步的办法容易降低实现程序的复杂性,容易发现转换错误所在。所有新表测试通过后才可以使用。

3. 3实现方法

首先对SL324-2005《基础水文数据库表结构及标识符标准》(即表结构4. 0 )进行分析以验证转化的必要性,由于存放测验数据的表类是常用的表类,而且测验数据格式比较固定,表结构比较完善,所以优先转换该类表,方法如下:

使用SQL SERVER企业管理器创建新表结构,如图2。

使用T一SQL语言编写数据转换与加载程序,如:使用语句(Insert into HY YRZ F select STCD, YR,YRAVZ,YRAVR,YRMXZ,YRMXR,YRMXMD,YRMNZ,YRMNR , YRMNMD from ZMYST where YR = 2007)就可以把表结构3. 0水位月年统计表中2007年的数据增量加载到4. 0的年水位表中。

如果转换过程中有类型转化、数据格式检测等质量控制要求,则需要用比较复杂的程序段来完成。如:降雨量摘录表的T一SQL转换程序如下:

声明变量@sled , @ yr , @ and , @ bghrmt , @ edhrmt ,

@p , @ prm存储查询数据

声明变量@ bgdt, @ eddt存储转换后的时间数据

创建游标my_ cursorl关联到降雨量摘录表prex

通过游标读一条记录到变童@sled , @ yr , @ and , @

bghrmt,@edhrmt,@P,@prm中

WHILE@@fetch status=0)

Begin

处理降雨量结束时间、

if@edhrmt=2400)

begin

处理降雨结束时间为24:00的情况

end

else

if@edhrmt

begin

处理摘录时段跨日的情况

end

else

摘录时段无跨日的情况

处理降雨量开始时间、

插人数据、

insert into hy_prex_ b values(@sled,@bgdt,@eddt,@P,@prm )

取下一条记录

end另外,可使用触发器保持旧表和新表的同步增删,这样当数据加人到旧表或从旧表中删除数据的时候就通过触发器在新表中作相应的修改,如:对3. 0中降雨量摘录表写插人触发器,插人相应记录的T一SQL程序如下:

Create trigger prex insert On PREX For insert as

同时写删除触发器,删除相应记录的T一SQL程序如下:

Create trigger prex delete On PREX For delete as

这样就维护了旧表到新表的同步更新。

3. 4成果

应用以上技术笔者完成了广东省水文数据库表结构3. 0到4. 0数值表类的转化,并通过触发器同步技术使每年新增资料的转换过程自动化。通过表结构4. 0的转换及向用户提供数据表明,新表结构使用方便,提供的数据格式更为科学合理。而且由于在升级转换过程中严格数据质量控制,改正了旧库中许多错误,统一了数据表达方式,使新库数据质量得到了提升。

数据库技术论文范文2

第一,数据网络备份。所谓网络备份,实际上就是把需要备份的数据信息经网络处理备份到电脑主机中,接着由专门的处理器进行这些数据的分析和处理等的过程。这种备份方法能够令处理器的负担减小,进而增加备份的质量。然而,考虑到网络备份必须要将电脑直接同服务器进行连接,所以相关数据的安全会受到一定威胁。第二,归类分档贮存。和网络备份的方式不同,这种独具特色的备份储层方法能够过多的数据同物理存储空间的矛盾。分档归类后,把相同类型的数据进行压缩或打包处理,最后使这些数据可以长期的保留以备使用。第三,远程备份。此备份处理能防止由于洪涝、火灾或是地震等自然灾害对电脑数据库系统造成的难以修复的破坏。但需要考虑的是,若要进行数据的远程备份操作,本地的高性能系统不可或缺,经由和远程数据建立联系,采用同时或分步的形式既可以有力保障本地系统的正常运转,又能够达到数据备份的科学、合理。

2计算机数据库的恢复技术探析

2.1恢复技术的内涵

数据库的恢复技术,又称“修复技艺”,是指当计算机数据库系统存在故障而引起数据丢失等现象时再次对毁损、丢失的数据信息进行修复的操作技术。为降低由于操作不当等人为因素以及系统本身的缘故而造成损失的可能性,同时也是出于减少客户自身损失的考虑,所以进行数据库系统的恢复备份必不可少。

2.2恢复技术的基本形式

数据库的恢复技术主要可以按照普通恢复、全盘恢复、邮件恢复和批日志恢复等进行归类。首先,普通恢复就是说在数据修复环节,对之前已经备份完毕的数据信息进行简要补充,或者采用经过远程控制的分步备份方式对数据进行简单修复的形式。由于未涉及到使用者之前的日志文档等的备份,所以它并不是对所有数据的完全恢复。其次,全盘恢复的形式。这种形式是当进行数据库的恢复操作时,涉及到了整个计算机数据库中的备份数据以及使用者处理个人事务的备份文档等。因此,这种恢复手段即便可能耗费大量的功夫,但其可以使电脑数据库中发生的损失降到最低;另外,它也可以使计算机恢复到之前某个还原点的状态。还有,就是批日志恢复的形式。此恢复技术形式最大的优势就在于:它可以降低恢复数据时所占用的储存空间,相比之下,其操作步骤也比普通恢复和全盘恢复更为简便。邮件恢复要求相关处理人员必须具备良好的实际操作能力,它也是一项针对管理者的技术性的恢复形式。除此之外,务必要维护好所需处理的数据信息,更有效地提高数据恢复的安全性、科学性。

2.3恢复技术的主要方法

计算机数据库主要的修复方式可分为转储并建立相关日志、依照实际情况进行判断解决两种。第一,转储并建立相关日志文档。它要求带有一定的周期性并循环拷贝数据库中的全部数据,然后再把所备份的信息储存到其他介质中。因其简易的操作方法,这种数据库的修复方法一直以来都是最为常见的一种。第二,根据具体状况进行操作处理。如果计算机数据库存在着某些问题或故障,可以依照以下两种情况做出判断、进行处理。一,假设计算机数据库因受到的损坏过于严重而无法继续使用,这时候就应当启用一张新磁盘,并在其中拷贝一份实时数据,之后再借助日志库的重做处理进行新数据库数据的更新操作。这样不光能够恢复到之前的样子,同时又令现有的数据库数据得到更新升级;二,若是数据库未遭到损坏或程度较轻的话,再或者只是其中某几项数据不再可依赖的话,是完全没有必要拷贝已存档的数据库内容的,只要通过日志库中撤销处理的执行便能够那些没有考虑好便做出的改动,进而让数据库恢复到正常的工作状态。

3结束语

数据库技术论文范文3

目前在WINDOWS环境下有多种访问WEB数据库的技术,主要有:

1.公共网关接口CGI(CommonGatewayInterface)

CGI是较早实现的技术。适用于多种服务器平台,如UNIX、WINDOWS等,但CGI的开发成本高、维护困难、功能有限、不具备事务处理功能、占用服务器资源较多。

2.INTERNET数据库连接器IDC(InternetDatabaseConnector)

IDC集成在ISAPI(InternetServerAPI)中,充分利用了DLL技术,易扩充,但编程较CGI更为复杂,只适用于小型数据库系统。

3.先进数据库连接器ADC(AdvanceDatabaseConnector)

ADC提供了ActiveXControl来访问数据库,它的主要特点是数据查询由用户端浏览器执行,因而需将服务器端数据库中的部分记录下载到用户端,系统开销较大、响应慢,只适用于特别频繁的数据库查询操作。

4.JAVA/JDBC语言编程

JAVA语言是一种面向对象、易移植、多线程控制的语言,可通过JDBC去连接数据库。用JAVA/JDBC编写的软件可移植性强,适用于多种操作系统,但其执行效率和执行速度还不理想,目前无法建立高效、高速的应用。

5.动态服务器页面ASP(ActiveServerPage)

ASP是微软公司最新推出的WEB应用开发技术,着重于处理动态网页和WEB数据库的开发,编程灵活、简洁,具有较高的性能,是目前访问WEB数据库的最佳选择。

二.ASP简介

1.ASP访问数据库的原理

ASP是服务器端的脚本执行环境,可用来产生和执行动态的高性能的WEB服务器程序。

当用户使用浏览器请求ASP主页时,WEB服务器响应,调用ASP引擎来执行ASP文件,并解释其中的脚本语言(JScript或VBScript),通过ODBC连接数据库,由数据库访问组件ADO(ActiveXDataObjects)完成数据库操作,最后ASP生成包含有数据查询结果的HTML主页返回用户端显示。

由于ASP在服务器端运行,运行结果以HTML主页形式返回用户浏览器,因而ASP源程序不会泄密,增加了系统的安全保密性。此外,ASP是面向对象的脚本环境,用户可自行增加ActiveX组件来扩充其功能,拓展应用范围。

2.ASP页面的结构:

ASP的程序代码简单、通用,文件名由.asp结尾,ASP文件通常由四部分构成:

1)标准的HTML标记:所有的HTML标记均可使用。

2)ASP语法命令:位于<%%>标签内的ASP代码。

3)服务器端的include语句:可用#include语句调入其它ASP代码,增强了编程的灵活性。

4)脚本语言:ASP自带JScript和VBScript两种脚本语言,增加了ASP的编程功能,用户也可安装其它脚本语言,如Perl、Rexx等。

3.ASP的运行环境

目前ASP可运行在三种环境下。

1)WINDOWSNTserver4.0运行IIS3.0(InternetInformationServer)以上。

2)WINDOWSNTworkstation4.0运行PeerWebServer3.0以上。

3)WINDOWS95/98运行PWS(PersonalWebServer)。

其中以NTserver上的IIS功能最强,提供了对ASP的全面支持,是创建高速、稳定的ASP主页的最佳选择。

4.ASP的内建对象

ASP提供了六个内建对象,供用户直接调用:

1)Application对象:负责管理所有会话信息,可用来在指定的应用程序的所有用户之间共享信息。

2)Session对象:存贮特定用户的会话信息,只被该用户访问,当用户在不同WEB页面跳转时,Session中的变量在用户整个会话过程中一直保存。Session对象需cookie支持。

3)Request对象:从用户端取得信息传递给服务器,是ASP读取用户输入的主要方法。

4)Response对象:服务器将输出内容发送到用户端。

5)Server对象:提供对服务器有关方法和属性的访问。

6)ObjectContext对象:IIS4.0新增的对象,用来进行事务处理。此项功能需得到MTS(MicrosoftTranscationServer)管理的支持。

5.ASP的主要内置组件:

1)AdRotator组件:用来按指定计划在同一页上自动轮换显示广告,用于WWW上日益重要的广告服务。

2)BrowserCapabilities组件:确定访问WEB站点的用户浏览器的功能数据,包括类型、性能、版本等。

3)DatabaseAccess组件:提供ADO(ActiveXDataObjects)来访问支持ODBC的数据库。

4)FileAccess组件:提供对服务器端文件的读写功能。

5)ContentLinking组件:生成WEB页内容列表,并将各页顺序连接,用于制作导航条。

此外,还可安装Myinfo、Counters、ContentRotator、PageCount等组件,用户也可自行编制Actiive组件,以提高系统的实用性。

6.DatabaseAccess组件ADO

WWW上很重要的应用是访问WEB数据库,用ASP访问WEB数据库时,必须使用ADO组件,ADO是ASP内置的ActiveX服务器组件(ActiveXServerComponent),通过在WEB服务器上设置ODBC和OLEDB可连接多种数据库:如SYBASE、ORACLE、INFORMIX、SQLSERVER、ACCESS、VFP等,是对目前微软所支持的数据库进行操作的最有效和最简单直接的方法。

ADO组件主要提供了以下七个对象和四个集合来访问数据库。

1)Connection对象:建立与后台数据库的连接。

2)Command对象:执行SQL指令,访问数据库。

3)Parameters对象和Parameters集合:为Command对象提供数据和参数。

4)RecordSet对象:存放访问数据库后的数据信息,是最经常使用的对象。

5)Field对象和Field集合:提供对RecordSet中当前记录的各个字段进行访问的功能。

6)Property对象和Properties集合:提供有关信息,供Connection、Command、RecordSet、Field对象使用。

7)Error对象和Errors集合:提供访问数据库时的错误信息。

三.ASP访问数据库步骤

在ASP中,使用ADO组件访问后台数据库,可通过以下步骤进行:

1.定义数据源

在WEB服务器上打开“控制面板”,选中“ODBC”,在“系统DSN”下选“添加”,选定你希望的数据库种类、名称、位置等。本文定义“SQLSERVER”,数据源为“HT”,数据库名称为“HTDATA”,脚本语言采用Jscript。

2,使用ADO组件查询WEB数据库

1)调用Server.CreateObject方法取得“ADODB.Connection”的实例,再使用Open方法打开数据库:

conn=Server.CreateObject(“ADODB.Connection”)

conn.Open(“HT”)

2)指定要执行的SQL命令

连接数据库后,可对数据库操作,如查询,修改,删除等,这些都是通过SQL指令来完成的,如要在数据表signaltab中查询代码中含有“X”的记录

sqlStr=“select*fromsignaltabwherecodelike‘%X%’”

rs=conn.Execute(sqlStr)

3)使用RecordSet属性和方法,并显示结果

为了更精确地跟踪数据,要用RecordSet组件创建包含数据的游标,游标就是储存在内存中的数据。

rs=Server.CreateObject(“ADODB.RecordSet”)

rs.Open(sqlStr,conn,1,A)

注:A=1读取

A=3新增、修改、删除

在RecordSet组件中,常用的属性和方法有:

rs.Fields.Count:RecordSet对象的字段数。

rs(i).Name:第i个字段的名称,i为0至rs.Fields.Count-1

rs(i):第i个字段的数据,i为0至rs.Fields.Count-1

rs("字段名"):指定字段的数据。

rs.Record.Count:游标中的数据记录总数。

rs.EOF:是否最后一条记录。

rs.MoveFirst:指向第一条记录。

rs.MoveLast:指向最后一条记录。

rs.MovePrev:指向上一条记录。

rs.MoveNext:指向下一条记录。

rs.GetRows:将数据放入数组中。

rs.Properties.Count:ADO的ResultSet或Connection的属性个数。

rs.Properties(item).Name:ADO的ResultSet或Connection的名称。

rs.Properties:ADO的ResultSet或Connection的值。

rs.close():关闭连接。

4)关闭数据库

conn.close()

四.查询WEB数据库举例

下面这段示例程序是访问SQLSERVER数据库的signaltab表,表中有三个字段:code(代码字段,字符型,3位),class(分类字段,字符型,10位),memo(备注字段,字符型,20位)。程序中数据源DSN:HT、用户名:client、口令:passwd。

屏幕输入页面input.asp

<%@language=javascript%>

数据库技术论文范文4

关键词:计算机;信息;查询

1、综合信息的查询

目前,随着工具软件的发展和广泛采用,使数据库应用系统的开发如虎添翼,其中PowerBuilder以其独特的数据窗口(DataWindow)倍受欢迎。

PowerBuider是美国著名的数据库应用开发工具生产厂家Powersoft公司于1991年6月推出的功能强大、性能优异的开发工具,它是一种面向对象的、具有可视图形界面的、快速的交互开发工具。智能化的数据窗口对象是其精华所在。利用此对象可以操作关系数据库的数据而无需写入SQL语句,即可以直接检索、更新和用多种形式表现数据源中的数据。但要注意,必须使数据窗口成为窗口(Window)下数据窗口控制的一个连接对象,数据窗口才能使用户在应用执行期间访问数据库中的数据。

利用PowerBuilder提供的内部查询机制,我们即可以让数据窗口作为查询条件的输入,又可以让该数据窗口作为查询结果的输出,这样就可以使数据窗口中的所有数据项进行自由组合的查询。例如:在窗口W_que上建立两个数据窗口控制dw_1和dw_2,分别连接两个数据窗口对象dw_que1与dw_que2,其中dw_1用于输入查询条件,而dw_2用于显示满足查询条件的所有元组。事实上条件的输入及元组的显示完全可以在一个数据窗口中实现,考虑到这两种操作的差别(例:条件输入可编辑,而元组显示不可编辑;条件输入可为某一范围,而元组显示仅为满足条件的所有纪录……)将其用两个数据窗口控制来实现。这就要求dw_2与dw_1数据共享,即要求dw_que1与dw_que2两数据窗口的数据源完全相同。

用这种方法实现查询优点突出,例:通过设置数据窗口中对应列的编辑风格(EditStyles)为相应的下拉式数据窗口(DropDownDataWindow),使显示的元组文字化。注意,这要事先建好下拉式数据窗口。设置数据窗口中对应列的编辑风格同样可满足其它显示需要。利用数据窗口的风格特点:查询表的列宽、列序可自由改变,甚至可以覆盖掉一些列,以达到更满足查询显示的需要。综合查询的信息来自多个表,改变数据窗口的数据源,采用多表连接的数据源即可实现。但是如我们问题的描述,如果我们需要的查询项随机地来自这43张表中的数据项,显示项也是随机地。这种任意条件的组合,可选输出项的显示称为动态查询(DynamicQuery)依然采用上述方法,数据窗口dw_que1与dw_que2的数据源将是这43张表的连接,先不说效率问题,单从这426个项中输入查询条件,又显示这426个项,就使人敬而远之。因为,在每一次查询前,都不了解此次查询的要求是什么,这样,每张表中的每一个数据项都缺一不可;另一方面,每一次的查询,一旦查询条件确定、显示条目也确定后,我们会发现,每一次有意义的查询并不是需要全部的43张表,换言之,每一次查询没有必要将43张表全部连结,而应只连接那些被选中数据项所在的表,即数据源是动态产生的。由于数据源不确定,数据窗口就无法设计,动态查询无法用这种方法实现。

2、计算机动态查询的实现

在某些实际的应用系统开发中,由于用户在开发前提不出查询的需求,而在系统运行中希望能够对所有的数据项任意组合进行查询,以满足来自多方的需求,实现动态地查询(即随机地从43张表中选择数据项进行组合作为查询条件并任意地选择数据项作为显示条目)。对于此类查询的实现要利用PowerBuilder通过编程的方式在运行时动态地创建数据窗口,并动态地控制数据窗口。

动态地创建一个数据窗口,应用程序需要执行下列任务:

•动态地构造SQL语句。

•用符合数据窗口语法的字符串,为现在的数据窗口控制创建一个数据窗口对象。具体实现如下:超级秘书网

2.1动态地生成SQL语句,根据SQL的语法:SELECTstringaFROMstringbWHEREstringc也就是动态地生成stringa,stringb,stringc.由用户输入要显示的列,一旦输入完毕,列名就随之确定,将所有列名拼成一个“串”,中间用“,”分隔,形如“columm1,column2,column3,...,columnr”,则动态地生成stringa;同样由用户输入查询条件,包括相应的列、满足的条件或范围、逻辑关系等,将这些条件拚成一个串,即为stringc,显然,所有的列名都确定了,他们所在的表名也确定了,按照stringb的语法规则即可构造。

注意:上面的stringc由两部分(表间关系stringc1及查询条件stringc2)组成;表名串stringb与表间关系stringc1、查询条件stringc2及显示条目stringa均有关。

在实现的过程中:为贴近实际应用,习惯上,先输入查询条件,再输入显示条目。即在输入查询条件后,生成strinc2,stringb,stringc1;然后,再在输入显示条目后生成stringa,并修改stringc1,stringb。最后形成SQL语法:

str="select"+stringa+"from"+stringb+"where"+stringcl+stringc2

2.2在现在的事物对象里利用相关的SyntaxFromSQL()函数生成符合数据窗口语法的字符串:

exp=syntaxfromsq1(sq1ca,str,strsty,error)生成数据窗口的源代码

其中:strsty为数据窗口的显示风格,例:

strsty="style(type=grid)datawindow(units=lcolor=12632256)text(font.face=''''system'''')"

2.3创建数据窗口对象

dw_que.create(exp)

这样就实现了用户要求的随机查询。

在真实系统中,用户在输入查询条件时希望通过选项方式录入查询信息,由于库表中存放的大量信息为代码,这就需要在程序中先把录入的文字信息转化成相应的代码再连接到查询条件中。为简化输入,提高准确性,可采用代码输入,即动态地嵌套下拉式数据窗口。在显示查询结果的数据窗口中,事先不能嵌套下拉式数据窗口,可预先做一个函数,在程序运行中根据所选的列把代码转化成所对应的汉字显示,这样更完善了用户要求的随机查询。

根据数据窗口的动态特性,对于那些运行时才能确定的数据窗口采用动态方式创建,使应用程序能更灵活地满足用户的需求。

数据库技术论文范文5

学籍管理是教学行政管理的重要内容,它对学校领导和教师全面了解学生情况,并及时改进教学管理和改革教学方法均起着重要作用。教育的进步,高校改革的深化,对学籍管理工作的严肃性、准确性和适时性提出了更新、更高的要求。因此,学籍管理人员要不断地研究学籍管理过程中的新问题,拓展新的工作途径,充实新的工作内容,寻找新的工作方法,以适应新形势的需要[1]。学籍管理工作包含新生入学资格审核,新生电子注册,在校生学籍异动,学年报到注册,毕业生资格审核,学籍学历电子注册等[2]环节,各个环节相辅相成,保证了学校的正常教学秩序,并且对学生起到了一定的惩戒作用,确保了人才培养的质量。每个过程,都是对大量数据进行筛查审核,而且要求必须准确无误。主要的学籍工作实施过程如下:(1)新生注册,是从招生数据库中筛查审核已报到学生,将其进行新生电子注册,未报到学生不予以注册,标注放弃入学资格。(2)学籍异动,这个工作是对在校生,也就是已经注册成功的学生进行的操作,它包括退学,休学,复学,转专业,转学等内容。也是在大量数据中筛查需要异动的人员,再按照教育部要求进行在线标注。(3)学年注册,将已经注册的新生,筛查出异动学生,并将按异动类别进行修改,最后将修改后的学生学籍再次注册。注册过程中需要添加一些字段,如班级、学号等。而这些字段是学生入学后学校数据库中生成的。这样,就需要将学校学生的数据库与学信平台上具有固定格式要求的数据经行对比,将学校数据库中有而学信平台上数据中没有的字段按实际情况进行添加。(4)学历注册,也就是毕业生数据注册。根据学年注册的数据,再次与学校数据库对比,确认毕业生人数,并将学历信息进行注册。以上学籍的管理都是在学信平台上在线完成的。完成时间都有一定的限制。大多数学校的情况是:学校有学生管理系统软件,对学生入学、学籍异动以及学生毕业等过程在学校范围内进行及时更新。而国家有学信平台,通过网络在线对学生学籍进行及时注册、更新等。学籍管理人员,是通过本校已有的学籍来管理在线学信平台的本校学生学籍。学信平台的学生信息的更改维护权限是归各省级教育厅所有,例如,学生转专业,学校学籍管理人员只能提交更改意见,而审批通过要由省级部门决定。学校学籍管理人员只有提交更改的意见[2]。所以大多数学校的学籍管理人员,不敢轻易更改学信平台上的数据的,以避免更改过程中出现错误,造成不必要的麻烦。所以,学校学籍管理人员要对在校生数据库与学信平台上数据库要严格认真的做对比,反复核对学生信息,将最准确的学生信息修改到学信平台上。由此可见,学籍工作过程,需要对大量学生信息进行反复核实及筛查。而筛查的方法就成了学籍管理人员至关重要的问题。

2半自动学籍管理

半自动的学籍管理工作如何操作的,以新生入学为例。某年招生3000人,实际报到2500人,要求从3000人中将报到的2500人筛查出来进行在线注册学籍,未报到人员注销学籍。从学校入学系统中导出的实际报到学生数据是2500的excel电子表格,而从学信平台上下载的招生数据是3000的.dbf数据库表。半自动化方法:将下载数据转换成excel数据,再将学校数据打印出来,然后从3000中一个一个的找出2500个报到生并作标记。并且,在筛查过程中,以学生姓名作为筛查的条件。这样做一是筛查花费的时间比较长,二是效率比较低,因为没有意识到可能有重名的问题。例如本校有两个叫“张三”的,有一个报到了一个没有报到,而我注册时恰恰把没报到的张三当成报到的了,这样就造成了信息错误。还有类似的很多漏注、错注学籍的问题。由此可以看出手动核查的弊端比较多,而且工作效率相对比较低,所以,总结归纳一个安全快捷的管理方法迫在眉睫。

3VFP程序完成学籍管理

从学信平台上下载的数据都是.dbf格式,也就是vfp数据库,那么能否通过VFP程序来解决前面出现的繁琐问题那?经过多次试验,最后编写了一道VFP程序,可以解决所有的筛查问题。下面以新生电子注册为例将程序介绍。某年从学信平台下载某校新生招生数据库“2013录取.dbf”,3000人,而实际报到学生的数据库为“2013报到.exe”,2500人,请从2500中将这3000人筛查出来。首先在将“2013报到.exe”另存为.dbf格式的数据库,即“2013报到.dbf”。(方法:“2013报到.exe”,点击【文件】【另存为】,在弹出的对话框中,【保存类型】一栏选择“DBF”,【文件名】中写上“2013录取.dbf”。)现在要需要将两个表通过程序连接到一起。而能将两个表连接在一起的条件是两个表中必须有一个相同的字段名称,而且要求字段宽度也一样。因为都是同一级的数据,只是一个数据人数多一个人数少,所以字段内容应该都是一样的意思。关键是要找到一个能唯一标识学生的字段,例如身份证号或考生号。以避免出现像同名的学生注册错误的现象。从学信平台上下载或上传数据,对表都有一定的字段宽度要求,不满足要求的数据库是不能上传更新的,例如身份证号字段一般都是18位的字符,与第二代身份证号的要求一样。所以一般我们的操作是:假如确定身份证号作为关键字段连接两个表。打开“2013报到.exe”,在显示表设计器中将【身份证号】字段名的宽度改为18,类型为【字符】。关闭该表。再打开“2013录取.dbf”,在显示表设计器中添加一个字段(如:标记),用于标识哪些学生是报到的。点击菜单栏的【窗口】命令窗口,在弹出的窗口中输入命令:mod-ifycommcx,建立一个程序,程序名字起名为cx(程序的字母缩写),需要说明的是程序名字随便起。注:选择a区,打开2013录取.dbf,以身份证号为关键字段进行索引(从学信平台下载的数据库中字段名都是以汉字名字母缩写命名的),选择b区,打开2013报到.dbf,也以身份证号为关键字段进行索引,再打开“2013录取.dbf”,以身份证号为对比字段,将“2013报到.dbf”中的每个数据与“2013录取.dbf”中每个数据进行对比。如果两表中身份证号相同的,则在2013录取.dbf的标记字段用与2013报到.dbf的姓名替换。程序书写完毕,点击【执行】按钮(或工具栏上的“!”)。执行完毕后,关闭程序窗口。单开表“2013录取.dbf”,可以看到录取数据中凡报到的学生“标记”字段均不为空。最终结果,标记字段不为空的就是实际报到的人数,将这些数据复制成另一个表,(在命令窗口中输入:copyto报到for标记!=””[中间有一个空格])。即:将”标记”字段不为空的数据拷贝到“报到.dbf”这个表中,这个表的名字随便取。最后将“报到.dbf”进行注册即可。一个程序可以将所有数据一次性进行筛查,足见其速度很快。而且,这个程序可以用于所有的两表对比进行核实的工作。只要两表中具有相同的能唯一标识一条记录的关键字段即可。因为其唯一性,足见其准确率之高。

4对学籍管理的初探

数据库技术论文范文6

一、XML与数据库的数据转换原理

XML和关系数据库在数据应用和数据管理方面各有优势,应是一种相辅相成、扬长避短的关系。从技术角度讲,“以数据库为存贮手段,以 XML为交换载体”的数据管理模式是一种趋势。XML存放在关系数据库中, XML数据以虚拟XML文档的形式存在。本文的重点即着重讲解:如何将xml数据转化为关系数据库数据。

为了在XML文件和数据库之间交换数据,必须将XML文件的schema(DTD,XML Schema, RELAX NG等)映射到数据库的schema。用于数据转换的软件位于这种映射的上层。该软件可以使用XML Query语言(如XPath,XQuery,或其他专用语言)或简单地按照映射(SELECT * FROM Table的XML对应形式)转换数据。

对于后者,文档的结构必须完全符合映射所要求的结构。由于通常不易做到这点,使用这种策略的产品一般要和XSLT一起使用。在数据转换到数据库之前,先将文件按照映射所要求的结构进行转换,然后转存数据。相应地,数据从数据库中取出以后,结果文件要被转换成应用程序所需的结构。

文件schema到数据库schema的映射是在元素类型、属性和文本上进行的。这时几乎总是忽略物理结构及某些逻辑结构。这样做是自然而然的,因为数据库和应用程序只需关心XML文件中的数据。

这种方法的一个问题是能否保证文件的往返 -- 将文件中的数据存入数据库后,又从数据库中的数据重新构建文件。将一个XML文件的schema映射到数据库的schema有两种方法:基于表格的映射和对象-关系映射。

1、基于表格的映射 (Table-Based Mapping)

许多转换XML到数据库的中间软件都采用基于表格的映射。它把XML文件看作一个(或一组)表格,也就是说,XML文件的结构必须是下面这种样子,如果只是单一表格的话,就不再需要元素和其他元素。

根据所用软件的不同,可以将各字段数据以子元素的形式或以属性的形式存储,同样也可以指定这些元素或属性的名字。此外,采用基于表格映射方式的软件还可能允许在文件开始的地方包含表格或各字段的元数据,或者将其作为各表格或元素的属性。注意这里所说的“表格”是泛指的表格。当将数据从数据库中转到XML文件时,“表格”可以是任何结果集,反之,“表格”可以是普通的表格或可更新的视图。

基于表格的映射对存取关系型数据比较适用,比如在两个关系型数据库之间转换数据。其明显不足就是不适于格式不符的XML文件。

2、对象-关系映射 (Object-Relational Mapping)

所有支持XML的关系型数据库和某些中间件都可以使用对象-关系的映射方式。它将XML文件中的数据视为特定的对象树的模型。在这个模型中,元素及其类型、元素内容或混合内容(复合元素类型)通常被视为类。只具有PCDATA内容的元素(简单元素类型)、属性以及PCDATA都被当作简单属性。然后通过传统的对象-关系映射技术或 SQL 3的对象视图将该模型映射到关系型数据库。也就是说,类被映射到表格,简单属性被映射到字段,而值为对象属性被映射为成对的主键/外键(primary key/foreign key)。

在理解这种映射所用的对象模型的时候要知道,这个对象模型不是文件对象模型(DOM)。所有XML文件的DOM都是一样的,而上述描述文件数据的模型对于每个DTD所定义的XML文件都不一样,例如,上述销售订单的模型是一个由四个类所组成的对象树--SalesOrder, Customer, Item, 和Part, 如下图所示:

模型中的对象是否被实例化要取决于所用的软件。有些软件允许依据模型产生类,然后可以在程序中使用由这些类所产生的对象。在这些产品中,数据是在XML文件 - 对象 -数据库之间传递的。其他产品是直接在XML文件和数据库之间进行数据转换的,对象只是作为这种过程的可视化帮助工具。生成这些中间对象是否有用完全取决于你的应用程序。

二、将XML数据转化为ORACLE数据库数据

为了解决把 XML 有效地、自动地转换出入关系数据库的问题有各种方式。数据库厂商Oracle已经开发了转换 XML 到数据库表中的辅助工具。Oracle XML SQL Utility 把 XML 文档元素建模为一组嵌套的表。通过使用 Oracle 对象数据类型建模套入的元素。"SQL-to-XML"转换使用被对象数据类型引用的表,和嵌套的元素之间的一到一关联来构造 XML 文档。"XML-to-SQL"可能要求数据模型的改进(从关系转换到对象-关系)或重新构造最初的 XML 文档。

使用 OracleXMLSave 来存储XML 文档到对象关系模型中;insertXML 方法进行实际的数据插入。

import java.sql.*;

import oracle.xml.sql.dml.OracleXMLSave;

public class testXMLInsert

{

public static void main(String args[])

throws SQLException

{ Connection conn = getConnection("yly", "yly");

OracleXMLSave sav = new OracleXMLSave(conn, "yly. FXTRADE");

// Assume that the user passes in this document as 0-arg

sav.insertXML(args[0]);

sav.close();

}

...

}

如果 XML 和在数据库中的对象-关系模型是同步的则一切正常,但是如果不同呢? 在这种情况下你有两种选择。