时间:2022-06-19 13:41:30
开篇:写作不仅是一种记录,更是一种创造,它让我们能够捕捉那些稍纵即逝的灵感,将它们永久地定格在纸上。下面是小编精心整理的12篇数据库论文,希望这些内容能成为您创作过程中的良师益友,陪伴您不断探索和进步。

谁能帮我去中国知网论文数据库找《生物膜的研究和发展》的文献
我是绑定IP的帐号,可以帮你下载。谁能帮我去中国知网论文数据库找《广告对大学生消费观的影响》的文献谁能帮我到中国知网论文数据库下载有关公安民警人性化执法的文献?急~中国知网论文数据库万方数据等等中国知网论文数据库怎样免费下载论文?中国知网论文数据库谁能帮我去中国知网论文数据.
中国知网论文数据库能找到教育研究与实践6吗
谁能帮我到中国知网论文数据库下载有关公安民警人性化执法的文献?急~谁能帮我去中国知网论文数据库找《广告对大学生消费观的影响》的文献中国知网论文数据库万方数据等等中国知网论文数据库怎样免费下载论文?中国知网论文数据库求古代皇帝论文或评论1500字左右。好的话加分哈谢谢了哈页面出现:该怎么办?GoogleAdwords/谷歌关键词广告在江苏南京地区的官方授权商是哪一.谁有论文格式模板啊,急需3000字论文邀请好友开通七雄争霸得点卷GoogleAdwords/谷歌关键词广告在江苏苏州地区的官方授权商是哪一.给我含金量高的英语议论文作文模板,用来考四级得高分用,谢谢,各种.
谁能帮我到中国知网论文数据库下载有关公安民警人性化执法的文献?急~
已发送请查收谁能帮我到中国知网论文数据库下载有关公安民警人性化执法的文献?急~谁能帮我去中国知网论文数据库找《广告对大学生消费观的影响》的文献谁能帮我去中国知网论文数据库找《生物膜的研究和发展》的文献中国知网论文数据库怎样免费下载论文?中国知网论文数据库能.
ODBC(OpenDataBaseConnectivity,开放数据库连接)是微软开放服务结构中有关数据库的一个组成部分。它建立了一组规范,并提供了一组应用程序调用接口。用这样一组接口建立的应用程序,对数据库的操作不依赖于任何数据库管理系统,不直接与任何DBMS打交道,由此可实现应用程序对不同DBMS的共享论文。数据库操作的“数据源”对应用程序是透明的,所有的数据库操作由对应DBMS的ODBC驱动程序(ODBCDriver)完成。有了ODBC驱动程序,数据源就变得十分广泛,它可以是本机的某种数据库格式的文件(如本机DOS目录下的Access文
件*.mdb),也可以是远程数据库文件(如MicrosoftSQLServer);它可以是已知的某种DBMS格式,也可以是一种全新的数据库格式。总之,它取决于提供了什么数据库类型的驱动程序。
VisualC++中的ODBC主要是实现基于Windows的关系数据库的应用的共享。
二、ODBC管理器
在ODBC中,数据源是一个重要的概念,它是数据库位置和数据库类型等连接信息的总和。数据源在使用前必须通过ODBC管理器(Administrator)进行登录。在登录数据源时,要搞清数据源名(Datasourcename)、数据库文件名(Databasename)和数据表格名(Tablename)这三者的概念和相互关系:数据源实际是一种数据连接的抽象,数据源名是登录时赋予的“连接”的名称,以供应用程序使用,至于该数据源下连接的是哪一个数据库,则由数据库文件名指出(如Access2.0forMSOffics中的.mdb文件);一个数据库文件中可以包括若干个数据表格(table)和其他。在关系@@09A05900.GIF;图1ODBC层次关系图数据库中,数据是以二维表格的方式存在于数据库@@文件中,应用程序最终的操作目标即是这些表格中的行(row记录)和列(columns字段)数据。对于foxprow数据源,数据库文件名是“路径名”,而该路径下的所有数据文件(*.dbf)都属于该“数据库文件”名下的数据表格(table)。
ODBC管理器被装在ControlPanel里(ODBCINST.CPL)。通过该工具可以增添、修改或删除数据源,也用来增添、删除ODBC驱动程序,ODBC管理器把数据源和它们的连接信息保存在ODBC.INI、ODBCINST.INI和ODBCISAM.INI中。当需要共享应用程序时,只需按新的数据文件的类型和位置重新登录即可。
三、ODBC应用程序接口
ODBCAPI是一组标准的ODBC函数库,除了一般的数据库操作函数外,还包括一组函数(如SQLExec或SQLExecdirect)能够内嵌标准SQL查询语句。SQL(StructuredQueryLanguage结构化查询语言)是一种存取关系型数据库的标准语言,能够定义、查询、修改和控制数据,简单的语句能够作用于整个数据表格,具有很强的功能。
同Windows3.1SDK中API类似,ODBCAPI也是基于句柄(handle)进行操作的。API函数按功能可分为以下几类:
·数据源连接函数,设置/获取有关信息的函数;
·准备/提交执行SQL查询语句的函数和获得数据的函数;
·终止函数和异常处理函数。
上述函数的顺序也表示了进行数据库操作的一般顺序。两个需要特别说明,一是数据类型问题:数据源中的数据所具有的数据类型称为SQL数据类型,这些数据类型在其数据源中可能比较特殊,不一定和ODBCSQL数据类型存储方式一致,驱动程序把这些数据类型同ODBCSQL数据类型进行相互转换,每一个ODBCSQL数据类型都相当于一个ODBCC语言数据类型;二是函数的调用级别问题,并不是每一个ODBC驱动程序都支持所有的ODBCAPI函数调用,在应用程序中,可以调用有关函数获取驱动程序以支持层次方面的信息。
四、ODBC编程
在VisualC++中,MFC(MicrosoftFoundationClass基本类库)是经过对Windows应用程序中各个部件进行类的抽象而建立的一组预定义的类,如窗口基类(CWnd)、各种窗口派生类等等,这些类在应用程序中可直接使用,不需要重新定义。在MFC中,也为ODBC预定义了几个类,其中主要的是数据库类(CDatabase)和记录集合类(CRecoredset)。这两个类既有联系又有区别,在应用程序中,可以分别使用,也可以同时使用,每一类也可以同时存在多个对象。CDatabase的每一个对象代表了一个数据源的连接,CRecordset的每一个对象代表了从一
个数据表中按预定的查询条件获得的记录的集合,一般说来,前者适宜于对数据源下的某个数据表格进行整体操作,后者用于对所选的记录集合进行处理。
同Windows类与SDKAPI函数的关系一样,CDatabase类与ODBCAPI函数也有类似的关系,但CDatabase类中并不包含所有的ODBCAPI函数,大部分操作功能仍须直接调用ODBCAPI函数,如目录功能函数,用于获得数据源下的数据表格信息,如表格名,字段名等。
在应用编程时,一般使用CDatabase和CRecordset的派生类。假设派生类分别为CUserdb和CUserset,而在应用类CUserClass中,使用了一个CUserdb对象(m-db)和一个Cuserset对象(m-recset),图2给出了用户应用类与ODBC类的相互关系示意图。
@@09A05901.GIF;图2CDatabaseCRecordset类与应用类及数据源关系图@@
1.m-db连接数据源
m-db在完成定义构造后,要调用CDatabase的打开(Open)函数以进行数据源的实际连接:
m-db.Open(lpszDSN,bExclusive,bReadOnly,lpszConnect);
打开函数需要输入四个参数。lpszDSN:要连接的数据源的名字,如果lpszDSN=NULL且lpszConnect中也没有指明数据源名,则该调用会自动出现一个对话框列出所有可用的数据源(名),让用户选择。bExclusive:只支持“假”(False)值,表示为共享(share)方式连接。因此,应用程序在运行前,一定要装入share.exe或在Windows的system.ini中装入vshare.386。ReadOnly:指明数据源操作方式是“只读”还是可以修改。lpszConnect:指明连接字符串,包括数据源名、用户标识码、口令等信息。该字符串必须以“ODBC;”开头,表示该连接是与一个ODBC数据源的连接(考虑以后版本支持非ODBC数据源)。
m-db打开后,其指针可以传给m-recset作为其数据源。m-db关闭后,将关闭所有CRecordset对它的连接,m-db也可以重新打开。
2.m-db操作数据
数据源打开后,即可对数据库文件中的数据表格进行操作,操作以调用SQL语句方式进行,可直接通过ODBCAPI函数,或者CDatabase类成员函数ExecuteSQL。数据表名在SQL语句中指定,如下语句则在所在的数据源中的clerk表中插入一个记录,记录的name字段值为"chen"。
m-db.ExecuteSQL("insertintoclerk(name)value(''''chen'''')");3.m-recset连接数据m-recset在构造时,可传入一个CDatabase对象指针,作为m-recset的数据源,当为NULL时,必须重载CRecordset的函数GetDefaultConnect,以提供数据源连接字符串(相当于m-db.Open中的lpszConnect)。如下则表示连接名为COMPANY的数据源(当传入了合法的CDatabase对象指针时,该函数将不被调用)。
CStringCUserset::GetDefaultConnect()
{
return"ODBC;DSN=COMPANY;";
}4.m-recset选取记录和字段
m-recset在调用打开函数时,即获得了符合条件的一组记录,条件语句在Open函数中的lpszSQL中给出,如果lpszSQL为NULL,则必须重载CRecordset的函数以提供该语句。该语句是一个SELECT语句,带或不带where和orderby子句(如果不带,where和Orderby的条件也可在CRecordset的两个预定义成员变量m-strFilter和m-strSort中给出)。lpszSQL也可以只是一个数据表名(table-name),也可以是对内嵌在数据库文件中的查询程序的调用语句。所选择的一系列字段名,在成员函数DoFieldExchange中由一系列RFX-函数指定。RFX-(RecordFieldExchange)函数,使字段和成员变量一一建立类型对应关系。另外,m-strFilter中也可以带变量参数(用"?"表示,如"fieldl>=?ANDfield2<=?"),参数与成员变量的对应关系也在DoFieldExchange中由RFX-函数指定(串中的"?"将被参数变量值逐一替换)。
voidCUserset::DoFieldExchange(CFieldExchange*pFX)
{
pFX->SetFieldType(CFieldExchange::outputColumn);
/*以下为字段连接*/
RFX-???(pFX,"field1",m-var1);
RFX-???(pFX,"field2",m-var2);
...
RFX-???(pFX,"fieldn",m-varn);
pFX->SetFieldType(CFieldExchange::param);
/*以下为参数连接*/
RFX-???(pFX,field1,m-param1);
RFX-???(pFX,field2,m-param2);
...
}其中,???为ODBCSQL数据类型名,如RFX-Double,RFX-Text等。
综合上述,选取记录和字段实际是由下列语句完成:
SELECTrfx-field-listFROMtable-name[WHEREm-strFilter][ORDERBYm-strSort]
字段变量和参数变量的个数一定要在调用打开函数前(如构造函数中)准确地赋值给成员变量m-nFields和m-nParams。m-recset在打开后的任何时候调用Requery()函数,将根据新的查询条件(例如修改了参数变量值)重新选取记录。
5.m-recset操作数据
记录集合生成后,其当前记录的各字段值被保存在前述的各字段变量中,如果调用CRecordset的滚动(scroll)函数,如MoveFirst(),MoveNext(),MovePrev(),MoveLast()等,字段变量的值将自动跟随“当前”记录的位置的变化而变化。IsBOF(),IsEOF()用于判别是否移动到记录的头或尾。
数据操作主要包括删除(Delete),添加(AddNew)和更改(Edit),一般流程为:
if(m-recset.CanUpdate())/*是否允许修改*/
{
if(m-db.CanTransact())/*是否支持“批”处理*/
{
m-db.BeginTrans();
m-recset.AddNew();
/*修改字段变量值*/
...
m-recset.Update();
m-mitTrans();
if(catcherror)
m-db.RollBack();
}
}
对于AddNew和Edit,修改字段变量后一定要调用函数Update(),否则更新将丢失,而Delete操作则不必进行字段值修改和调用Update()。
上述的CDatabase的四个函数是ODBC为保证数据操作的可靠性而提供的“批”处理函数,即在BeginTrans和CommitTrans之间的数据修改如果出现任何异常,可通过函数RoolBack来恢复所做的修改。
在多用户系统使用时,每一个数据源可以被多个用户的多个任务连接,不同的任务可同时修改相同的数据源。ODBC提供了两种数据表更新的同步机制(在m-recset.Open函数中指定),“静态”的(snapshot)和动态的(dynaset)。前者是一组静态的记录集合,当建立后不会改变,除了反应自己的添加/删除外,不反应别的用户的修改,除非调用了Requery重新建立。后者是一组动态的记录集合,自己或别的用户所作的修改随时反应到集合中来(当然也可用Requery重建),以保持记录与数据源的同步。在应用中,应根据需要确定使用哪一种方式。
五、结束语
1.引言:目前动态网站设计技术主要有:利用Perl/C++/Delphi等开发的CGI,两种有名的API-ISAPI/NSAPI,还有ColdFusion,以及最近几年流行起来的3p技术-ASP,PHP,JSP(据Internet上有关网站统计约有近百种);ASP-AtiveServerPage,由微软公司开发,是一个WEB服务器端的开发环境,主要采用脚本语言VBScript(或javascript/perl等)作为自己的开发语言,可用ODBC或直接驱动法访问Window平台的数据库。PHP-PersonServerPage,是由Rasmus个人创立的一种跨平台的服务器端的嵌入式脚本语言.它大量地借用C,Java和Perl语言的语法,并耦合PHP自己的特性,.是一种很有个性的网站开发语言,它支持目前绝大多数数据库。JSP-JavaServerPage,是Sun公司推出的新一代站点开发语言,Sun公司除Java应用程序和JavaApplet之外,又创立了JSP,其可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序开发,特别是有许多访问数据库的方法。在电子商务平台设计中,主要需要解决"网站结构的设计","注册界面","交易界面","后台数据库",以及"配套模块"诸如购物/用户/论坛/反馈/搜索/会话等设计;考虑篇幅,本文只给出统一的前台界面及后台数据库的3p设计方法;可以说ASP,PHP,JSP与网络数据库的操作是电子商务网站平台设计的坚强基石。
2.构建三种设计技术的运行环境
2.1构建ASP的运行环境:NT5.0Server,IIS5.0,ASP3.0。安装Windows2000Server(NT5.0Server)时选择IIS5.0有关选项。安装完后ASP3.0便内嵌于IIS5.0中。测试ASP:启动浏览器,在地址栏处输入127.0.0.1:80/default.asp,若浏览到IIS服务器的ASP欢迎页面,说明安装成功
2.2构建PHP4的运行环境:NT5.0Server,Apache1.3.12php4.0安装支持PHP的web服务器Apache1.3.12,将Apache服务器压缩文件解压缩,根据提示进行整个安装过程,自己选择安装到目录d:\apache下。安装PHP4,将PHP4压缩文件解压缩到d:\php4即可,同时将其中的php.ini-dist文件拷贝到winnt目录中,将文件更名为php.ini,打开该文件将其中extension_dir设置为:d:/php4,并加载扩展模块:将文件中含有;extention=*.dll的各项前面的";"号去掉即可;修改设置Aphache服务器,用文本编辑器编辑目录d:\aphache目录下的子目录conf下名为httpd.conf的文本文件,首先将"#ServerName*"这一行下加入"ServerName127.0.0.1/",其次将"Port80"改为"Port81(或其他与IIS5.0不冲突的端口)",再其次设置更改Apache虚拟目录,将"Documentroot"d:/Apache/htdocs""改为Documentroot"d:/trade"(该目录即是电子商务网站目录,可用任意方法建立目录trade),最后加入支持php4的如下语句:ScriptAlias/php4/"d:/php4/"AddTypeapplication/x-httpd-php.phpAddTypeapplication/x-httpd-php.phtmlActionapplication/x-httpd-php4"/php4/php.exe";测试php:完成上述步骤后,在d:\trade目录下,用如何文本编辑器,生成扩展名为.php(或phtml)的文件test.php,在文件中输入如下php代码,存盘后,启动Apache,接着你在浏览器中输入:127.0.0.1:81/test.php,若看到php的版本和扩展模块等信息,说明环境安装设置成功。
2.3构建JSP的运行环境:NT5.0Server,Resin1.13,jdk1.3安装Java编译器jdk1.3:运行jdk1_3-win.exe,按照提示完成安装即可,将其安装在d:\java1.3目录,也可安装在其他目录。设置系统环境参数:控制面板/系统/环境页中选择path参数加入d:\jdk1.3\bin;增加新的环境参数classpath=d:\jdk1.3\lib\tools.jar;d:\jdk1.3\lib\dt.jar;,然后重新启动计算机即可安装支持JSP的web服务器Resin1.1.3,将RESIN-1.1.3.zip释放为d:\Resin1.1.3即可。配置服务器端口,打开d:/resin1.1.3/conf/目录下的resin.conf文件在
8080
标签处将端口设置为82(在我的NT5.0上装有三个服务器,这样三个服务器的端口分别为IIS:80;Apache:81;Resin:82其实也可设置为其他互不冲突的端口号).测试JSP:启动Resin服务器,启动浏览器,在地址栏处输入127.0.0.1:82/,若浏览到Resin服务器的JSP欢迎页面,说明安装成功
3生成三种格式的动态表单页面为了通用,这里采用可能用到的表单对象为例,至于下面设计具体数据表用到的字段,只要转成给出的表单域相应对象即可.
3.1用ASP动态生成与数据库进行数据交流的操作表单:form.asp:生成表单域头:生成普通文本:生成密码文本:生成滚动文本:生成单选:生成复选:生成列表框:生成提交按钮生成重填按钮生成表单域尾
3.2用PHP动态生成与数据库进行数据交流的操作表单:form.php生成表单域头:"?>生成普通文本:"?>生成密码文本:"?>生成滚动文本:"?>生成单选:"?>生成复选:"?>生成列表框:网络数据库Asp技术Php技术Jsp技术网站设计"?>生成提交按钮"?>生成重填按钮"?>生成表单域尾"?>
3.3用JSP动态生成与数据库进行数据交流的操作表单form.jsp生成表单域头:生成普通文本:生成密码文本:生成滚动文本:生成单选:生成复选:生成列表框:生成提交按钮生成重填按钮生成表单域尾
4设计用于存储商务网站交互数据的MySql数据库
4.1启动MySql数据库服务器(MySql的安装及ODBC驱动程序的安装与设置请参阅相关书籍)可在NT5.0下用启动服务法/NET命令法/命令窗口键入MySqld-shareware法,启动MySql数据库服务器,启动数据库服务器后,在d:\mysql\bin>提示符下键入mysql-h127.0.0.1-uroot即可出现mysql>提示符,从这开始即可进行对MySql数据库的各种操作。若要退出可键入quit/exit,若要关闭数据库服务器,可在d:\mysql\bin>提示符下键mysqladmin-urootshutdown4.2建立MySql数据库在MySql数据库的提示符mysql>键入Createdatabasetradedb;(或go)
4.2.建立MySql数据库表这里以商务网站中常用的几种数据表为例,主要用到的数据表和生成数据表的SQL代码如下:(这里的数据表字段只要分别对应上述表单域对象即可实际操作,数据表统一用tablename表示)客户登录管理数据表CREATETABLEusers(IDintnotnullauto_increment,UserNamevarchar(30)notnull,Passwordvarchar(20)notnull)客户信息数据表CREATETABLEusermessage(UserNamevarchar(30)notnull,Emailvarchar(80)notnull,Addressvarchar(120)notnull,Faxvarchar(40)null,Phonevarchar(40)notnull,Cerreycardvarchar(50)notnull)客户定购商品数据表CREATETABLEcatalog(ProductIdintnotnull,Namevarchar(64)notnull,Pricefloat(6,2)notnull,Descriptiontextnull)
5设计处理表单数据的3p程序
5.1设计处理表单数据的ASP程序form_cl.asp建立与数据库的连接:这里采用直接驱动法Setconn=Server.CreateObject("ADODB.Connection");conn.open"driver={MySQL};server=localhost;uid=user;pwd=xxxxxx;database=tradedb"获取表单提交的数据:data1=request("ptwbk");data2=request("mmwbk");data3=request("gdwbk")data4=request("dxk");data5=request("fxk");data6=request("lbk")用SQL语句对数据库进行操作查询数据记录:sql="select*fromtablename";setrs=conn.execute(sql)"增加数据记录:sql="insertintotablename(ptwbk,mmwbk,gdwbk,dxk,fxk,lbk)values(''''data1'''',''''data2'''',''''data3'''',''''data4'''',''''data5'''',''''data5'''')";setrs=conn.execute(sql)更改某条数据记录:sql="updatetablenamesetdata1="request(ptwbk)",whereID="num";setrs=conn.execute(sql)删除某条数据记录:sql="deletefromtablenamewhereID="num";setrs=conn.execute(sql)将SQL语句处理的数据结果输出Response.Write"
"Response.Write""Fori=0tors.Fields.Count-1Response.WRITE""&rs.Fields(i).Name&""NextResponse.Write"
"WhileNotrs.EOFResponse.Write""Fori=0tors.Fields.Count-1Response.WRITE""&rs.Fields(i).Value&""NextResponse.Write"
"rs.MoveNextWendResponse.Write"
"关闭数据库:rs.close;conn.Close
5.2设计处理表单数据的PHP程序form_cl.php建立与数据库的连接:这里采用PHP的MySql函数法(也可用ODBC函数法)$conn=odbc_connect("localhost","user","xxxxxx");选择数据库:mysql_select_db("tradedb","$conn");获去表单提交的数据:$data1=$ptwbk;$data2=$mmwbk;$data3=$gdwbk;$data4=$dxk;$data5=$fxk;$data6=$lbk;用SQL语句对数据库进行操作查询数据记录:$sql="select*fromtablename";$result=odbc_do($conn,$sql);增加数据记录:$sql="insertintotablename(ptwbk,mmwbk,gdwbk,dxk,fxk,lbk)values(''''$data1'''',''''$data2'''',''''$data3'''',''''$data4'''',''''$data5'''',''''$data6'''')";$result=odbc_do($conn,$sql);更改某条数据记录:$sql="updatetablenameset$data1=ptwbkwhereID=num"$result=odbc_do($conn,$sql);删除某条数据记录:$sql="deletefromtablenamewhereID=num";$result=odbc_do($conn,$sql);将SQL语句处理的数据结果输出odbc_result_all($result,"border=1");关闭数据库:odbc_close($conn);
5.3设计处理表单数据的JSP程序form_cl.jsp建立与数据库的连接:这里采用JDBC-ODBC桥生成JavaBean法创建一个JavaBean命名为conndb.java,并保存在d:/resin1.1.3/doc/web-inf/classes/trade目录下,代码如下:(限于篇幅这里没按标准书写,而采用不换行写法,其他类同)packagetrade;importjava.sql.*;publicclassconndb{Stringurl="jdbc:inetdae:localhost";Stringlogin="user";Stringpassword="xxxxxx";StringsDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";StringsConnStr="jdbc:odbc:Dsnmysql";Connectionconn=null;ResultSetrs=null;publicconndb(){try{Class.forName(sDBDriver);Connectionconn=DriverManager.getConnection(url,login,password);}catch(java.lang.ClassNotFoundExceptione){System.err.println("conndb():"+e.getMessage());}}Public/ResultSet/executeQuery(String/sql)/{rs=null;try{conn=DriverManager.getConnection(sConnStr);Statementstmt=conn.createStatement();rs=stmt.executeQuery(sql);}catch(SQLExceptionex){System.err.println("aq.executeQuery:"+ex.getMessage());}returnrs;}}然后用javac编译conndb.java生成与其同目录的conndb.class文件,在form_cl.jsp文件中加入如下标签即可建立与数据库的连接获去表单提交的数据:Stringdata1=request.getParameter("ptwbk");Stringdata2=request.getParameter("mmwbk")Stringdata3=request.getParameter("gdwbk")Stringdata4=request.getParameter("dxk")Stringdata5=request.getParameter("fxk")Stringdata5=request.getParameter("lbk")语句对数据库进行操作查询数据记录:Stringsql="select*fromtablename";connbean.executeQuery(sql);增加数据记录:Stringsql="insertintotablenamevalues(''''"+data1+"'''',''''"+data2+"'''',''''"+data3+"'''',''''"+data4+"''''+"'''',''''"+data5+"'''',''''"+data6+''''")";connbean.executeQuery(sql);更改某条数据记录:Stringsql="updatetablenamesetdata1=''''"+ptwbk+"'''',data2=''''"+mmvbk+"'''',data3=''''"+gdwbk+"''''whereID=''''"+num+"''''";connbean.executeQuery(sql)删除某条数据记录:Stringsql="deletefromtablenamewhereID=''''"+num+"''''";connbean.executeQuery(sql);将SQL语句处理的数据结果输出ResultSetrs=connbean.executeQuery(sql);While(rs.next()){out.print("
"+rs.getString("ptwbk")+"
");out.print("
"+rs.getString("mmvbk")+"
");out.print("
"+rs.getString("gdwbk")+"
");out.print("
"+rs.getString("dxk")+"
");out.print("
"+rs.getString("fxk")+"
");out.print("
"+rs.getString("lbk")+"
");}关闭数据库:rs.close();
6三种电子商务网站设计技术综述
6.1主要特性:可见下表设计技术运行平台服务器开发程序扩展组件ASPWindows系列IISVbscript/Jscript/PerlActiveXPHPUnix系列,Novell,WindowsApache等许多服务器phpFunctionJSPUnix系列,Novell,WindowsResin等许多服务器JavaJavaBean
6.2连接数据库的方法:通过上述操作可看出,本文采用了三种操作MySql数据库的方法,Asp采用直接驱动法,Php采用MySql函数法,Jsp采用JDBC-ODBC/JavaBean法
6.3网站结构设计考虑篇幅,本文只给出了Widows平台上,电子商务网站设计中的主要环节的代码设计,对于Linux平台、网站结构、各个功能模块设计等论题,作者已经有两篇这方面的论文在核心刊物上待发表,这里不便公开.
第一,数据网络备份。所谓网络备份,实际上就是把需要备份的数据信息经网络处理备份到电脑主机中,接着由专门的处理器进行这些数据的分析和处理等的过程。这种备份方法能够令处理器的负担减小,进而增加备份的质量。然而,考虑到网络备份必须要将电脑直接同服务器进行连接,所以相关数据的安全会受到一定威胁。第二,归类分档贮存。和网络备份的方式不同,这种独具特色的备份储层方法能够过多的数据同物理存储空间的矛盾。分档归类后,把相同类型的数据进行压缩或打包处理,最后使这些数据可以长期的保留以备使用。第三,远程备份。此备份处理能防止由于洪涝、火灾或是地震等自然灾害对电脑数据库系统造成的难以修复的破坏。但需要考虑的是,若要进行数据的远程备份操作,本地的高性能系统不可或缺,经由和远程数据建立联系,采用同时或分步的形式既可以有力保障本地系统的正常运转,又能够达到数据备份的科学、合理。
2计算机数据库的恢复技术探析
2.1恢复技术的内涵
数据库的恢复技术,又称“修复技艺”,是指当计算机数据库系统存在故障而引起数据丢失等现象时再次对毁损、丢失的数据信息进行修复的操作技术。为降低由于操作不当等人为因素以及系统本身的缘故而造成损失的可能性,同时也是出于减少客户自身损失的考虑,所以进行数据库系统的恢复备份必不可少。
2.2恢复技术的基本形式
数据库的恢复技术主要可以按照普通恢复、全盘恢复、邮件恢复和批日志恢复等进行归类。首先,普通恢复就是说在数据修复环节,对之前已经备份完毕的数据信息进行简要补充,或者采用经过远程控制的分步备份方式对数据进行简单修复的形式。由于未涉及到使用者之前的日志文档等的备份,所以它并不是对所有数据的完全恢复。其次,全盘恢复的形式。这种形式是当进行数据库的恢复操作时,涉及到了整个计算机数据库中的备份数据以及使用者处理个人事务的备份文档等。因此,这种恢复手段即便可能耗费大量的功夫,但其可以使电脑数据库中发生的损失降到最低;另外,它也可以使计算机恢复到之前某个还原点的状态。还有,就是批日志恢复的形式。此恢复技术形式最大的优势就在于:它可以降低恢复数据时所占用的储存空间,相比之下,其操作步骤也比普通恢复和全盘恢复更为简便。邮件恢复要求相关处理人员必须具备良好的实际操作能力,它也是一项针对管理者的技术性的恢复形式。除此之外,务必要维护好所需处理的数据信息,更有效地提高数据恢复的安全性、科学性。
2.3恢复技术的主要方法
计算机数据库主要的修复方式可分为转储并建立相关日志、依照实际情况进行判断解决两种。第一,转储并建立相关日志文档。它要求带有一定的周期性并循环拷贝数据库中的全部数据,然后再把所备份的信息储存到其他介质中。因其简易的操作方法,这种数据库的修复方法一直以来都是最为常见的一种。第二,根据具体状况进行操作处理。如果计算机数据库存在着某些问题或故障,可以依照以下两种情况做出判断、进行处理。一,假设计算机数据库因受到的损坏过于严重而无法继续使用,这时候就应当启用一张新磁盘,并在其中拷贝一份实时数据,之后再借助日志库的重做处理进行新数据库数据的更新操作。这样不光能够恢复到之前的样子,同时又令现有的数据库数据得到更新升级;二,若是数据库未遭到损坏或程度较轻的话,再或者只是其中某几项数据不再可依赖的话,是完全没有必要拷贝已存档的数据库内容的,只要通过日志库中撤销处理的执行便能够那些没有考虑好便做出的改动,进而让数据库恢复到正常的工作状态。
3结束语
Abstract:StartingfromthearchitectureofORACLE,thispaperdiscussesthebackupmethodandstrategyofdatabaseOracle,includingIMP/EXP,PMANandOStheoreticallyandpractically.
关键字:Oracle,备份,恢复,RMAN
Keywords:Oracle;Backup;Restoration;RMAN
概述
在大型软件运行系统中,存在着很多备份策略,如RAID技术,CLUSTER技术等等。很多时候,这些系统的备份就能够解决数据库备份的问题。但是,这种备份成本很高。同时,硬件的备份有时根本满足不了现实的需要,如果用户不小心误删了一个表,又想恢复的时候,数据库的备份就变的重要了。
Introduction:Intherunningsystemofsomebigsoftware,thereexistmanybackupstrategiessuchasRAIDtechnologyandCLUSTERtechnologyetc.Inmostcases,thesesystembackupstrategiescanfulfillthedatabasebackup.Howeverthecostisratherhigh.Atthesametime,hardwarebackupsometimesisfarfromtheactualrequirement.Thedatabasebackupbecomesveryimportantwhenatableisdeletedbyaccidentandneedstoberestored.
Oracle的运行方式
Oracle数据库有两种运行方式:一是归档方式(ARCHIVELOG),归档方式的目的是当数据库发生故障时最大限度恢复数据库,可以保证不丢失任何已提交的数据;二是不归档方式(NOARCHIVELOG),只能恢复数据库到最近的回收点(冷备份或是逻辑备份)。根据数据库的高可用性和用户可承受丢失的工作量的多少,对于实时性要求高的数据库,强烈要求采用为归档方式;不归档方式只用在那些开发和调试的数据库等。
如何改变数据库的运行方式,在创建数据库时,作为创建数据库的一部分,就决定了数据库初始的存档方式。一般情况下为NOARCHIVELOG方式。当数据库创建好以后,根据我们的需要把需要运行在归档方式的数据库改成ARCHIVELOG方式。操作如下。
1.关闭数据库,备份已有的数据,改变数据库的运行方式是对数据库的重要改动,所以要对数据库做备份,对可能出现的问题作出保护。
2.修改初试化参数,使能自动存档。
修改(添加)初始化文件init[SID].ora参数:
log_archive_start=true#启动自动归档
log_archive_format=ARC%T%S.arc#归档文件格式
log_archive_dest=/archdir/arch#归档路径
在8i中,可以最多有五个归档路径,并可以归档到其它服务器,如备用数据库(standbydatabase)服务器。
3.启动Instance到Mount状态,即加载数据库但不打开数据库。
$>svrmgrl
SVRMGRL>connectinternal
SVRMGRL>startupmount
SVRMGRL>alterdatabasearchivelog;//使数据库运行在归档方式
SVRMGRL>alterdatabaseopen;
Oracle的备份方案
按照备份的方式,可以分为逻辑备份、冷备份(脱机备份)、热备份(联机备份),其中冷备份与热备份又可以合称为物理备份。按照备份的工具,可以分为EXP/IMP备份、操作系统备份、RMAN、第三方工具备份,如VERITAS等。下面分别介绍Oracle本身提供的几种备份工具和操作。
1.EXP/IMP备份(逻辑备份)
EXP/IMP属于逻辑备份的范畴,逻辑备份是指只备份数据库中的数据但不记录数据物理位置的一种备份。导出为数据库作一个二进制的备份,并且这个备份只能由其姊妹程序imp(import)来读取。具体的使用方法如下。(因为EXP和IMP使用上参数基本相同,所以只以EXP为例。)
EXP的命令格式和参数
格式:KEYWORD=value或KEYWORD=(value1,value2,...,valueN)
例程:EXPSCOTT/TIGERGRANTS=YTABLES=(EMP,DEPT,MGR)
USERID必须是命令行中的第一个参数
关键字说明(默认)关键字说明(默认)
USERID用户名/口令FULL导出整个文件(N)
BUFFER数据缓冲区的大小OWNER所有者用户名列表
FILE输出文件(EXPDAT.DMP)TABLES表名列表
COMPRESS导入一个范围(Y)RECORDLENGTHIO记录的长度
GRANTS导出权限(Y)INCTYPE增量导出类型
INDEXES导出索引(Y)RECORD跟踪增量导出(Y)
ROWS导出数据行(Y)PARFILE参数文件名
CONSTRAINTS导出限制(Y)CONSISTENT交叉表一致性
LOG屏幕输出的日志文件STATISTICS分析对象(ESTIMATE)
DIRECT直接路径(N)TRIGGERS导出触发器(Y)
FEEDBACK显示每x行(0)的进度FILESIZE各转储文件的最大尺寸
QUERY选定导出表子集的子句
注:可以通过exp-help命令查看exp的使用方法;imp-help命令查看imp的使用方法.
2.操作系统备份(冷备份和热备份)
操作系统备份有两类,冷备份(Coldbackup)和热备份(Hotbackup)。操作系统备份和上面的逻辑备份有本质的区别,它将拷贝整个的数据文件。
冷备份
在文件级备份开始前数据库必须彻底关闭。关闭操作必须用带有normal、immediate、transaction选项的shutdown来执行。
数据库使用的每个文件都被备份下来,这些文件包括:所有数据文件、所有控制文件、所有联机重做日志文件和INIT.ORA文件(建议)。
作冷备份一般步骤是:
1)正常关闭要备份的实例(instance);
2)备份整个数据库到一个目录
3)启动数据库
即:
SVRMGRL>connectinternal
SVRMGRL>shutdownimmediate
SVRMGRL>!cp<file><backupdirectory>
or
SVRMGRL>!tarcvf/dbbak/fullbk.tar/u01/oracle/oradata/dbname
SVRMGRL>startup
热备份
热备份是当数据库打开时的操作系统备份。热备份只能用于ARCHIVELOG方式的数据库。热备份没有必要备份联机日志,但必须是归档状态,在实例恢复的时候,可能需要用到归档日志。当前联机日志一定要保护好或是处于镜相状态,当前联机日志的损坏,对于数据库的损坏是巨大的,只能以数据的丢失来进行数据库的恢复工作。对于临时表空间,存放的是临时信息,在热备份是也可以考虑不用备份,如果临时文件发生故障,可以删除该数据文件与表空间,重建一个临时表空间。
热备份备份的内容和冷备份备份的内容一样,操作一般步骤是:
1)备份的表空间通过使用ALTERTABLESPACE……BEGINBACKUP使表空间进入热备份方式。
2)用类似冷备份的操作系统命令对组成表空间的数据文件进行拷贝。
3)使用ALTERTABLESPACE……ENDBACKUP命令使表空间脱离热备份方式。
4)使用ALTERDATABSE……BACKUPCONTROLFILE命令备份控制文件。
即:
SVRMGRL>connectinternal;
SVRMGRL>altertablespaceUserbeginbackup;
SVRMGRL>!cp/u01/oradata/dbname/user01.ora/dbbak/user01.ora
SVRMGRL>altertablespaceUserendbackup;
SVRMGRL>alterdatabasebackupcontrolfileto<fielname>;
or
SVRMGRL>alterdatabasebackupcontrolfiletotrace;
注意:因为热备份的时候,用户还在操作数据库,所以最好是让每个表空间处于备份状态的时间最短,这样就要求一个表空间一个表空间的备份,不要一起使表空间处于备份状态而同时拷贝数据文件。
3.RMAN
RecoveryManager(RMAN)是一个使DBA能很方便地对数据库执行备份和恢复任务的Oracle应用工具,能够提供DBA对企业数据库备份与恢复操作的集中控制。RMAN只能用于ORACLE8或更高的版本中。它能够备份整个数据库或数据库部件,其中包括表空间、数据文件,控制文件和归档文件。RMAN可以按要求存取和执行备份和恢复。
RMAN支持六种不通的类型的备份,经常用到的有两种:
FULL数据库全备份,包括所有的数据块。
INCREMENTAL增量备份,是指只备份在同级别或更低级别上进行的前一次备份之后的作过改动的那些数据块。这其中需要一个0级的增量作为增量的基础,它备份包括全部曾经被数据库使用过的数据块(但不是完全数据库备份)。RMAN共可以支持7级增量。
BACKUP,RESTORE,RECOVER是RMAN最基本的三个命令,分别可以进行数据库的备份,复原以及恢复操作。restore命令用于恢复来自备份集或映像拷贝的数据文件、控制文件或归档重做日志。recovery命令用于进行介质恢复应用重做日志文件。
RMAN的备份信息一般保存在恢复目录中,恢复目录也是一个数据库,只不过这个数据库用来保存备份信息,一个恢复目录可以用来保存多个数据库的备份信息。RMAN也可以在没有恢复目录(NOCATALOG)下运行,这个时候备份信息保存在控制文件。这种情况比较危险,因为一旦控制文件被破坏,将导致所有数据库备份信息的丢失和恢复的失败,而且,没有恢复目录,很多RMAN的命令将不被支持。所以对于重要的数据库,建议创建恢复目录。
创建恢复目录一般有以下步骤。(例子数据库为db)
1)为目录创建一个单独的表空间
SQL>createtablespacetsrmandatafile’/dbbak/rman/rsrman.dbf’size50M;
2)创建RMAN用户
SQL>createuserrmanidentifiedbyrmandefaulttablespacersrmantemporarytablespacetemp;
3)给RMAN授予权限
SQL>grantconnect,resource,recovery_catalog_ownertorman;
4)打开RMAN
$rman
5)连接恢复目录数据库
RMAN>connectcatalogrman/rman@db
6)创建恢复目录
RMAN>createcatalogtablespacetsrman在对某个数据库进行备份之前,必须先在恢复目录上注册该数据库,这一过程操作如下(假定目标数据库连接字符串为db100)。
1)连接到恢复目录数据库
$rmanrman/rman@db
2)在RMAN中连接到目标数据库(即要进行备份的数据库)
RMAN>connecttargetsys/change_on_install@db100
3)注册数据库
RMAN>registerdatabase;
注册完数据库后,就可以进行数据库的备份了。有完全数据库备份、表空间备份、控制文件备份、和归档日志备份等。操作分别如下。
1)完全数据库备份
要求:ARCHIVELOG模式,在DBOPEN的情况下进行数据库完全备份。
RMAN>run{
allocatechannelc1type=disk;
backupdatabase;
releasechannelc1;
}
2)表空间备份
要求:ARCHIVELOG模式
RMAN>run{
allocatechannelc1type=disk;
backuptablespace“ts_users”filesperset3format‘aatst_%t%s.%p’;
releasechannelc1;
}
3)控制文件备份
RMAN>run{
allocatechannelc1type=disk;
backupcurrentcontrolfiletag=weekly_sat_backup;
releasechannelc1;
}
在对数据库进行完全备份时,控制文件自动包含其中。也可以在表空间或数据文件的备份中包含一个控制文件。
RMAN>run{
allocatechannelc1type=disk;
backuptablespace“ts_users”
filesperset3format‘aatst_%t%s.%p’;
includecurrentcontrolfile;
releasechannelc1;
}
4)归档日志备份
通过查询数据字典表V$ARCHIVED_LOG获取要备份的日志序列号,然后执行命令:
RMAN>run{
allocatechannelc1type=disk;
backuparchiveloglowlogseq3highlogseq10thread1;
releasechannelc1;
}
Oracle的备份策略
正确的备份策略不仅能保证数据库服务器的24*7的高性能的运行,还能保证备份与恢复的快速性与可靠性。我们将以RMAN的多级增量备份作为一个备份策略的例子来讨论。采用多级备份就是为了减少每天备份所需要的时间,而又保证系统有良好的恢复性。恢复时间与备份时间要有一个权衡。比如只要进行一个数据库的全备份,然后就只备份归档也可以保证能把数据库恢复到最新的状态,但是这样的恢复时间将是不可容忍的。多级备份也正是为了解决这种问题,结合某些应用的特点,可以采用如下的备份策略:
每个月做一个数据库的全备份(包括所有的数据和只读表空间);
每个星期一做一次零级备份(不包含只读表空间);
每个星期三做一次一级备份;
每天做一次二级备份。
每天做一次恢复目录的热备份。
任何数据库的更改需要重新同步CATALOG目录并重新备份(如添加数据文件)或重新备份(如修改表空间为只读)。
每次备份后都可以备份归档日志或定期备份归档日志。如果可能,可以直接备份到磁带上。
Oracle的恢复
下面的操作约定恢复目录存储在db118中,目标数据库是db100。
1.数据库恢复
1)启动SQL*PLUS,使用正确的init.ora文件,使用NOMOUNT选项启动目标数据库实例。
2)启动RMAN并连接到恢复目录,如下:
$rmancatalogrman/rman@db118
恢复管理器:Release9.2.0.1.0-Production
Copyright(c)1995,2002,OracleCorporation.Allrightsreserved.
连接到恢复目录数据库
RMAN>
3)连接到目标数据库
RMAN>connecttargetinternal/oracle@db100
连接到目标数据库:db(DBID=1142471523)
4)一旦连接到目标数据库,执行restore命令执行全数据库恢复
RMAN>run{
2>allocatechannelc1typedisk;
3>restoredatabase;
4>releasechannelc1;
}
2.表空间和数据文件恢复
要执行表空间或数据文件恢复,数据库必须以ARCHIVELOG模式运行,并且用户需要拥有介质恢复所需的归档重做日志文件。在试图恢复表空间之前,必须保证表空间已脱机。RMAN命令如下:
run{
allocatechannelc1typedisk;
sql“altertablespaceusers_dataofflineimmediate”;
restoretablespaceusers_data;
recovertablespaceusers_data;
sql“altertablespaceusers_dataonline”;
}
上面的脚本执行了以下的工作:
1)RMAN分配通道从c1用于恢复操作。
2)将表空间users_data脱机
3)RMAN从备份集中恢复属于表空间的数据文件
4)通过介质恢复提供所需的归档日志文件,恢复属于表空间users_data的数据文件。
5)RMAN将表空间联机。
在脚本执行期间,如果不能把数据文件恢复到指定位置,在执行restore命令前使用setnewname命令。
3.控制文件恢复
1)启动SQL*PLUS,使用正确的init.ora文件,使用NOMOUNT选项启动目标数据库实例。
2)启动RMAN并连接到恢复目录,如下:
$rmancatalogrman/rman@ora8i.oracle
恢复管理器:Release9.2.0.1.0-Production
Copyright(c)1995,2002,OracleCorporation.Allrightsreserved.
连接到恢复目录数据库
RMAN>
3)连接到目标数据库
RMAN>connecttargetinternal/oracle@demo.oracle
连接到目标数据库:db(DBID=1142471523)
4)一旦连接到目标数据库,执行restore命令恢复控制文件
RMAN>run{
2>allocatechannelc1typedisk;
3>restorecontrolfile;
4>}
小结
保证Oracle数据库的安全是系统安全的重要组成部分,必须要设计完善的数据库备份和恢复方案。Oracle提供的各种工具结合起来使用能够使数据库的备份和恢复变得简单。在实际的Oracle数据库的备份和恢复中,会有许多不通的和复杂的情况出现,针对不同的情况,要本着使数据具有最大的可恢复性和恢复时间最短的原则去进行数据库的恢复,这需要大量的实践和经验积累。
参考文献
[1]Oracle8iBackupandRecoveryGuideOracleDocument
[2]Oracle8iRecoveryManagerUser’sGuideandReferenceOracleDocument
数据库管理系统(DBMS)是一个非常复杂的系统,检测和评估数据库的安全性,涉及到众多的参数、设置、选项和数据库本身的方方面面。安全评测可以采用专家评测或运行评测系统两种方式,二者各有所长。一方面,专家评测比评测系统具有更强的灵活性,可以充分发挥专家的智能和经验。另一方面,评测系统更适用于数据库系统定期的安全评测。专家评估只是针对被评估时的状态,但是系统是在不断变化的,如果系统状态发生了变化(比如添加了一些新用户,修改了某些用户的权限),也许会出现新的安全漏洞。定期聘请专家评估的成本比较高,安全评测系统则可以在系统状态发生变化后重新进行评测。
一、自主访问控制模型
自主访问控制模型是基于用户身份的访问和控制。在自主型访问安全模型中,每个用户都要被分配一定的权限,例如用户或者是被允许读取,或是被允许写入。也就是说,在自主型访问安全模型中,对资源对象的“拥有”是用户最核心的权限属性。当某个用户要求访问某个数据库资源时,系统检查该用户对该资源的所有权限,或衍生出来的访问权限,如果通过,则允许该访问在许可的方式下进行,如果不能通过,则拒绝继续访问系统。在自主型安全模型中,拥有某种权限的用户可以自主地将其所拥有的权限传授给其他任意在系统中登录的用户,它是该模型存在的致命缺点。自主访问安全模型的典型代表是存取矩阵。DAC模型可对用户提供灵活和易行的数据访问方式,但安全性相对较低。在该模型中,尽管访问控制只在授权后才能得到,但攻击者也很容易越过访问的授权限制。如当一个用户有权对某数据进行读操作时,它可以把这个权利传递给无权读此数据的人,而数据的所有者并不知道这一切。一旦某个信息为用户所获得,那么该模型策略对信息的使用是不加任何限制的。也就是说,在该模型中,尽管有自主型控制,对于非授权的人来说,非法读取数据是可能的,这样一来,系统就很容易受到类似特洛伊木马的攻击。特洛伊木马可以改变系统的保护状态,使系统安全受到威胁。
二、改造数据库实现数据库安全
(一)采用对数据库驱动程序进行安全扩展的方法
在数据库存取接口上,通过扩展标准的SQL语句,透明地实现对数据库中敏感信息的加密和完整性保护,对关系数据库的操作可以采用SQLDDL和SQLDML语言,通过ODBC、.IDBC、BDE等数据库驱动程序实现对数据库中表格、记录或字段的存取控制;并对用户操作进行日志记录和审计,从内部增强关系数据库的存储和存取安全。这种方式具有通用性,并且不会对数据库系统的性能造成大的影响。该模型在常规数据库驱动程序中增加密钥管理、审计日志管理、完整性验证和数据加解密等安全扩展模块,通过附加的安全属性如数据库存储加密密钥和审计日志等与安全相关的信息来加强数据库的安全;同时,增加数据库主密钥设置、更新和加密算法设置等安全属性来提高SQL语句的安全性。
(二)采用基于视图的数据库安全模型
SQLServer通用安全模型的特点是将权限赋予表,用户要查询数据、更改数据或对数据库进行其它操作时,直接存取表,用户只要有对表的Select权限,就可以检索表中所有的信息。但是,现实世界中大多数的应用都要求对信息本身划分为不同的保密级别,如军队中对信息的分类就不能简单地划分为公开和保密2类,而是需要更加细致的分类,可能对同一记录内的不同字段都要划分为不同的保密级别。甚至同一字段的不同值之间都要求划分为不同的保密级别。多级保密系统中,对不同数据项赋予不同的保密级别。然后根据数据项的密级,给存取本数据项的操作赋予不同的级别。SQLServer通用安全模式显然不能将不同的字段和同一字段的不同值分为不同的保密级别。这是因为用户直接存取存储数据的数据库表。采用基于视图的数据库安全模型。这个问题就可迎刃而解。
利用视图限制对表的存取和操作:通过限制表中的某些列来保护数据;限制表中的某些行来保护数据。视图和权限创建一个视图后,必须给视图授予对象权限,用户才能存取和操作视图中的数据,不必给作为视图表的基础表授予权限。
三、应用解析
应用解析是数据库安全中间件(DBSAPI)的重要组成部分,包括语法分析、词法分析、加密字典信息的检索、访问控制字典信息的检索、SQL命令的加密变换等,目前语法分析并不能识别所有类型的SQL命令,可以不考虑那些与加脱密无关的SQL命令,遇到不认识的SQL命令,则直接提交给DBMS的语法词法分析.基于现在对于数据库信息已做特殊处理,SQL请求返回的信息已经不是其本身的价值方式,同时为了更好地实现业务层将用户和数据访问的复杂性相隔离的目的,将用户界面层的所有数据访问请求提取出来,放到数据访问应用解析模块中.这不但将用户与数据访问完全隔离,而且大大改善了对数据访问操作的查询和管理效率.当用户界面层从客户端向数据库层发出对数据库的请求时,首先对应的SQL请求进行语法词法分析,接着检索访问控制和加密字典,根据访问控制和加密定义需求进行相关操作,然后提交给DBMS作数据提取处理,最后将结果返回到用户界面层,数据访问过程中实时出现的错误也返回用户界面层.
1后台数据库安全登录连接的问题及措施
数据库的安全与否直接关系到该资源共享网站建设的安全与否。由于网络的开放性使得该网站后台数据库存在着较大的安全问题。因为职教集团资源共享网站后台数据库包括可共享的实训基地、电子图书及大型仪器设备及校企合作等短缺资源的重要信息,所以数据库的安全性尤为重要。在职教集团资源共享网站的建设过程中,数据库连接方式要符合以下几点安全性要求:客户端的数据库连接句柄只存储在内存中;或者客户端通过登录验证后,服务器端将数据库连接句柄加密后传送到客户端。以下这两种较为常用的网站后台数据库连接方式,都需要提供用户名和密码,所以安全性较高。第一种方法为在服务器端设计一SOCKET连接程序,在客户端需要与后台数据库进行交互时,需要先通过服务器端连接程序的连接验证。客户端通过连接验证后,服务器端的相关程序随机生成有较短有效期的账户和密码,然后再把加密后的账户和密码信息回送给客户端。客户端使用接收到的账户和密码进行数据库的连接。第二种方法是使用用户的注册手机号生成手机信息验证码。客户端在连接后台数据库之前,先在弹出的连接对话框中输入有连接权限的手机号码,然后客户端把此号码发送给服务器端。服务器端根据接收到的手机号码生成有较短有效期的手机随机验证码,然后把此验证码发送到用户的手机上。用户把接收到的短信验证码在数据库连接对话框中输入后,方可进行数据库的连接。
2后台数据库命名规则题及措施
在职教集团资源共享网站开发的过程中,数据库存放位置也是重要的问题。很多数据库的设计人员往往在把数据库存放常用目录下,这种方法简单但是给网站造成一定的安全隐患,因为此种方法很容易让居心不良的人窃取到数据库中的资料。数据库的数据库名和表的名称及字段名在设计时,往往存在命名过于明显的问题。给后台数据库所在文件夹、数据库、表及字段命名时应尽量采用数字和字符相结合的命名规则。后台数据库中的特殊账户也应该引起我们足够的重视,不要使用账户英文意思的前几个字母的命名规则,同时还需要严格区别普通用户的权限和系统管理员用户的权限。可以采用让用户输入用户名、密码、用户类别、验证码的验证方法。
3分布式数据库在职教集团图书资源共享中的应用
由于职教集团是由相关学校、企事业单位、行业协会、培训中心等成员单位组成,各成员单位的图书资源在规模、图书质量等方面存着较大的差异,如何把这些现有的资源整合起来,是本网站要实现的目标。目标的实现离不开分布式数据库在此系统中的应用。分布式数据库由数据库的数据主体和数据目录组成。数据库有全局和局部两种分类。每个局部数据库独立于其它数据库,可以单独运作。局部数据库包括本地数据的定义、存储、操纵等功能。当全局用户要使用全局数据时,可通过虚拟的全局数据库,实现数据的共享。职教集团成员单位的图书馆都订购了适合自己单位需求的电子图书资源。虽然这些图书资源的内容、数量等不尽相同,但是局部数据库的构造形式是类似的。在此分布式数据库中电子资源是横向进行的分片存储,这样利于数据的同步插入、更新等操作。
4后台数据库的备份与还原问题
任何网站都面临着数据库受到袭击而出现系统瘫痪的安全隐患,而作为主动防御的重要方法是对后台数据库的备份。一旦出现数据库不能正常运作的状况,就可利用数据库备份而进行数据库的恢复。数据库备份与恢复可以采用定期对数据库进行全面备份或备份数据库的增量等方法。如果多个数据库备份版本产生了混淆,数据库在备份和恢复的时候会出现问题,导致数据库无法正常恢复。在恢复数据库时对数据库备份再做备份,并详细记录下还原过程,这样就不会在以后的操作中出现错误。
5结束语
综上所述,数据库技术是职教集团资源共享平台良好运作的技术支撑,它的完善与否直接关系到该资源共享平台能否长效地运作。
作者:韩美芳 单位:潍坊科技学院软件学院
JDBC结构主要由JDBCAPI和JDBCDriverAPI组成。JDBCAPI主要是实现与JDBCManager之间的通信功能,JDBCDriverAPI主要是实现数据库驱动程序与JDBCManager之间的通信功能,也可建立新的数据库连接,实现全局SQL数据库快捷访问[3]。JDBC结构示意图如图1所示。JDBCAPI功能模块中包含许多数据库操作常用的接口,负责建立数据库连接,实现对孤岛采油厂生产信息网络远程数据库的访问。JDBCDriverAPI主要由JDBC—ODBCBridgeDriver、NativeAPIPartly—JavaDriver、NetProtocolAll—JavaDriver以及NativeProtocolAll—JavaDriver等四部分组成,JDBCDriverAPI具有成本低、规模小、高效率等优点,支持ODBC接口,支持SQLServer、Oracle、Sybase等软件产品。上述四部分的融合应用,可以实现灵活地访问不同的DBMS,直接访问专用数据库,以及实现Intranet远程数据库访问,程序简易,是管理和访问桌面数据库的第一选择。
2、Java网络技术与对象模型
采油厂生产信息网络数据传输采用有线、无线传输相结合的方法。对于网络线路铺设较完善的区域,传统的有线传输模式可以保证数据稳定、完整的传输;然而,对于网络线路铺设欠完备、设备不宜引线的区域,无线传输模式可以实现最大范围的数据收集。JavaIDL网络技术主要是为企业客户和服务器应用提供软件基础,实现JavaIDL应用程序与非Java程序以及其他程序集成使用,它是纯Java对象请求系统结构,不是程序语言,而是一种描述对象的接口,独立于程序语言之外,并且JavaIDL的优点在于可以调用远程服务器上的CORBA对象。JavaIDL主要包括类属(Generic)ORB、Idlto-Java和Nameserv。ORB系统运行的核心是内核,以一种独立的Java形式或者支撑Java浏览器运行各种小的应用程序。Java分布式对象模型主要是实现不同空间、不同位置、不同主机之间的相互通信。Sockets可以提供灵活的通信平台,但是其在遵循应用级协议的基础上,才能通过编码实现客户与服务器信息的交换,而且在此过程中协议设计繁琐,出错率高。RPC可以完全规避Sockets自身的不足,在使用过程中,不必直接使用Sockets,通过打包调用参数,传输给远程目标;唯一不足的是RPC在不同地址、不同空间数据通信上并不适用。RMI这种分布式对象系统可以很好得匹配对象调用语义,在适应性上优于Sockets和RPC。RMI系统结构示意图如图2所示。RMI系统远程调用的方式:从上至下,直到客户端传输层,再由下至上,从传输层到服务器。实际上,访问远程对象的渠道主要是远程对象的桩或,桩主要是实现对象的远程接口,在远程引用层的协助下,将数据信息传输给服务对象。
3、数据库访问模型的应用
3.1访问模型功能
(1)访问权限设置功能。主要分为操作员、管理员以及系统管理,使用密码进行访问。(2)远程访问。采油厂生产运行数据量大,远程数据库访问模型可以实现不同地址、不同空间数据库信息的通信和交流。(3)远程运行数据查询功能。日常运行的历史数据可以立即查询,处理和备份各种数据报表,以便管理人员及时查阅。(4)远程检测功能。通过监控系统实时检测并记录运行参数,包括温度、压力、电压、电流、液面、示功图等。(5)报警功能。井场设施被破坏或者被盗都能立即启动报警系统,对于超出范围的数据,系统将自动保存。(6)辅助功能。通过该功能可以远程监控液面过低、管道堵塞、电压不稳等异常情况,同时将异常信号传回中心进行处理备案。
3.2模型应用
(1)访问方便。通过该访问模型,可以及时发现异常数据,并进行分析,能够及时调整井场工作制度,避免生产间断,提高采油井的工作效率,进而保障生产的正常运行。(2)远程监控。通过生产信息网络远程数据库访问模型,可以远程监控每一口油井,进行单井能耗计算,同时对于不合理的环节进行调整,减少空抽能耗损失。(3)井场盗窃损失。本系统能够对井场范围内的情况进行实时监控,遇到异常情况及时启动报警机制,及时了解井场运行状况,有效地避免井场被盗现象。(4)管理质量提升。远程数据库访问模型的实现,改变了以前落伍的人工管理方式,通过访问数据库,观察各个生产环节的运行情况,能够更加全面掌握油井生产情况,遇到异常能够及时处理,减少不必要的误判,提高了油井工作效率。
4、结语
电子图件验收
最终的GIS专题成果图主要包括套合图(含地形地质图)、采掘工程图、资源储量估算图和资源储量利用现状图。检查验收内容主要包含以下7个方面。
1.四类图件要完整。就煤炭的单核查区来说,首先四类图要完整;其次,采掘工程图、资源储量估算图和资源储量利用现状图要按煤层分别制图。
2.每个图件中图元的归置要符合项目办的规定。如,钻孔注记放到工程图层类注释.WT;采矿权,原上表矿区、核查区的注记放套合图层类注释.WT中。
3.图件中子图、线型和区属性要严格遵循项目办提供的“现状调查统一图例板.CLN规定”。
4.核查矿区范围要和相邻的核查区范围无缝对接,并且包住本核查区的所有采矿权边界。
5.对于图件上所有的区,尤其是需要挂接属性的类图层(核查矿区.wp,原上表矿区.wp,勘查工作.wp区,采矿权.wp,探矿权.wp,矿体.wp,采空区.wp,储量利用.wp),要求在相应线文件完成的基础上拓扑造区而成。拓扑造区的目的是保证所造区具有连续性、紧致性与连通性的特点,并且在图件后期维护的过程中保证区能有连续变形下不变的性质。
6.核查储量块段后,按采矿权划分为占用或未占用;储量块段必须在该核查矿区范围以内。此项检查也只能通过打开图形中相关图层进行目测判断检查。
7.数据一致性验收。正常情况下,储量核查文字报告中所有关于矿产储量的数据、Access属性数据库储量数据、专题图件中资源储量、估算图上的储量注记和储量核查终审意见书提供的储量数据四者要完全统一。具体检查方法为用数据库录入系统导出核查矿区的资源储量核查成果数据表,其中包括分采矿权的、占用情况的和分矿产储量类型的各种数据表,这些数据表的数据代表了Access属性数据库的数据,将这些表中的数据和文字报告、专题图件、终审意见书中的储量数据进行对比,保证数据一致。
专题图层验收
Mapgis格式的四类专题图件中包括上文中所罗列的类专题图层,其中的八类图层要与Access属性库中属性一对一挂接,挂接后能用二维空间方式反应核查矿区的各种信息,因此要保证八类图层的正确。这一步骤可以检查到漏填属性表以及专题图层文件图元漏挂接属性的错误。检查方法:数据库录入系统-省级汇总-数据库专题图层提取-提取被检查的核查数据库的类专题图层。在检查中首先要保证类图层能有效提取,若不能提取,则说明图层本身有问题,应返回前几个步骤重新检查;其次,提取完成后检查每一类图层的区块图元个数和Access对应属性表中的记录数是否一致。
图库一致性验收
主要用于检查图件图层属性和Access属性库的一致性。检查方法:在数据库录入系统中提取类专题图层,数据库录入系统省级汇总汇总图库一致性检查。检查会以新窗口的方式罗列图库属性不一致的图件图层,可依据所发现的错误提示修改数据库。
1.1信息管理模块
本模块主要是员工具体信息的录入以及修改、员工字段的设置、浏览全部员工信息并可筛选部门输出、人员基本信息的批量导入功能,共包括四个窗口。员工个人信息中以身份证号码为主码,通过Combobox下拉列表框来录入员工的信息例如,性别可以通过“男”或“女”选择录入。如果系统里面录入的身份证号相同,系统则会提示重复录入。记录添加窗口主要用来设置Combobox下拉列表框可选择的信息。例如,职称选项可设置为教授、教授级工程师、副教授、高级工程师、讲师等。人员基本信息批量导入功能主要为减轻管理人员的工作量而设计的,当一个单位职工很多,且每一个职工都有几十条信息需要输入的时候,会给系统管理员带来不小的麻烦。如果有现成的数据,可以通过excel电子表格进行批量导入,大大提高了工作效率。
1.2审核统计模块
本模块主要的功能是用来显示全院教职工的信息以及审核已经注册了的员工的信息,共包括两个窗口。数据统计窗口包含了多个字段统计结果,在该窗口,管理员可以直观地看到常用的一些需要统计的数据,以学历为例,管理员很直观地能看到学历为研究生的有多少人,本科有多少人,大专及大专以下分别有多少人,当然,如果按系部的职工数来统计,可以直观地看到具体的部门所有的人数,比如可以看到计算机科学与技术系有多少人,材料工程系有多少人等等。审核窗口主要用来审核新注册员工的个人信息,通过他自己录入的信息跟档案进行核定,确保信息准确无误,才能审核通过,审核通过的员工可以到登录界面,正常查看自己的个人信息变动情况,如职称以及聘用日期等等信息。
1.3管理用户模块
本模块主要的功能是用来修改让其他教工可看到的管理员个人信息、限制教工用户的一些功能,以及数据库的备份功能,主要包括两个窗口,系统参数设置窗口主要用来公布一些管理员的部门信息,比如联系人、联系方式以及全部教工需要注意的公告等信。其次,用来锁定教工用户、禁止教工用户修改个人信息以及禁止登录系统等。数据库备份窗口主要用来备份全部或选择性的备份部分数据,防止数据全部丢失。
2系统数据库设计
数据库设计是指对于一个给定的应用环境,构造最优的数据库模块,使之能够方便地存储数据,满足用户对数据的存取和调取。数据库选择ACCESS,是应用最广的数据库,对于初学者来说容易上手,操作方便简单。本系统包含的数据表有用户登录信息表、用户登录信息表用来保存用户登录的相关信息,包括用户名、登录密码以及登录时间等信息。
3系统实现
3.1系统登录界面实现
当登录四川工程职业技术学院人事信息管理系统时,会弹出登录界面,教工根据自己的账号、密码和验证码来登录,如果输入的信息其中任何一个有错,将不能登录,直至输入的信息全部正确,则登录成功,进入主窗体。用户分管理员和教工两种同的用户,进入的欢迎界面自然也不会一样。以管理员进入的界面为例,如图2所示。
3.2系统主功能界面的实现
系统的主界面共有3个,分别是浏览管理所有记录、记录添加、字段项目设置,页面左侧有类似任务管理器的功能,主界面如图3所示,下面列出了字段项目设置、新增学习经历功能和数据库链接的一些关键代码。
3.2.1字段项目设置
此页面主要的作用是用来设置常用的一些字段的下拉选项,以字段“职称”为例,在稳步框中输入“教授,教授级工程师,副教授,高级工程师,高级实验师,讲师,工程师,会计师,实验师,助教,助理工程师”,那么在记录添加页面的列表框“职称”下拉选项中将会出现。
3.2.2新增学习经历或工作经历
此功能的作用主要是用来增加或删除学习经历或工作经历,由于我院人事信息当中的学习经历要求从小学填起,所以每个人的学习经历非常多,如果用EXCEL表格来管理学习经历,数据列将会非常长,导致难以管理,如果用系统的方式来管理,不仅易于管理,而且很直观。
4系统的优越性
以前学院单靠一张人事信息表来管理,没有实现数据的共享,人事处所拥有的信息经常和系部等的信息对应不起来,导致信息滞后的现象时有发生,导致不管是给对外还是对学院内部统计的数据时有误差,以前所收集到的信息都是人员报道以后,把纸质的文件交到人事处,然后人事处通过手工录入到人事信息表里,这样对信息的录入、查询非常的不便,由于excel工作表中含有多个单元格,容易出错,通过系统的管理,首先,信息录入首先由本人亲自录入,这样保证的了数据的准确性,因为本人更加的清楚自己的具体信息,然后由系统管理员根据档案审核,审核通过以后,每个教师都可以通过自己的账号查看自己的信息,这样就保证了信息的及时性,再也不需要向人事处打电话或亲自到人事处来查询自己的信息,对提高人事管理员和教师个人的工作效率的作用是不言而喻的。第一次使用系统来管理人员的单位,最头痛的是把现有的信息录入到系统里面,本系统也考虑到了这个问题,专门设置了信息批量导入功能,导入后使得系统能够马上发挥作用,不再需要一个一个的录入,这样比纯录入信息的方式从最开始效率就高出了许多倍。统计数据对每个员工众多的单位来说是个很痛苦的事情,以前统计数据,往往是通过一张表格进行多次筛选才能得到,如果用系统的方式来统计,只需要在复选框中选中需要的字段就可以了,导出的数据会自动选择出需要的字段,大大提高了工作效率。
5总结
目前,大多数高校将数据库应用技术课程作为计算机应用技术、软件技术、网络技术、物联网技术等相关专业的专业基础课,具有较强的理论性和实践性。它为上述专业的学生后继课程的学习及今后从事相关专业技术工作提供了必要的网络数据库基础理论和专业实践技能,因此,如何提高该课程的教学质量是许多教师所关注和思考的问题。本文主要就目前在数据库应用技术课程教学环节中所存在的问题进行了剖析,并提出了一套相应的改革措施,针对信息技术应用专业群学生,采用分层次多种教学方法相结合,网络教学平台为辅助的方法,取得了较好的效果。
(一)进行课程体系改革,采用分层次多种教学方法结合的新模式
在充分了解信息技术应用专业群学生专业知识需求和实际情况的基础上,从教学方法、教学手段、教材、教学环节、考核等多方面推进SQLServ-er数据库应用技术课程改革,将分层次多种教学方法相结合作为教改重点,研究成果体现了实际需要。教无定法,课堂以教师为主导,学生为主体。不同的教学内容要求教师采用灵活多样的授课方法,充分发挥各种教学方法的优势,不断提高教学质量。信息技术应用专业群包含了多个专业,学生生源也不同,既有高中起点的学生,又有中职起点的学生,这就要求我们对不同的专业、不同的学生采用分层次多种教学方法相结合的新模式来施教,并针对不同专业的应用需求制定相应的课程标准。
1.教学方法的创新
实践表明,分层次多种教学方法相结合的模式深受学生欢迎,教学环节能紧扣学生思维,既能使学生轻松地掌握数据库的建设、运行、管理和维护,也培养了学生充分运用已学到的知识去发现问题、分析问题、解决问题的能力,进而激发学生的学习热情,调动其学习的积极性和主动性。
2.课程体系构建思路的创新
针对高职院校技术应用型人才培养的需要,在教学计划修订的过程中强调应用型课程的安排,增加实验、实践课时。特别加强了学生考级、考证课程的开设,加大了课外科技实践活动的奖励分值,鼓励学生积极参加各类课外科技实践活动,大大提高了学生的实践能力和适应性。高职学生对学习数据库理论知识普遍存在畏难情绪,然而理论知识没有学扎实,实践课也就没有头绪。对数据库理论知识的教学应贯彻“实用为主”“必须和够用为度”的教学原则,基本知识要广而不深、点到为止。把理论知识融入项目中,让学生在实际应用中学习数据库的概念模型、关系模型、范式理论,这样就可以把枯燥的知识趣味化。特别是新知识的引入,一定要做到开讲求新,可以通过创设情境,实施启发式教学,将教师承接的实际项目,按照需求分析分成若干模块,并让学生参与其中,以此来调动学生的学习兴趣。
3.实践教学体系的创新
在实践实训教学中运用“项目引导,任务驱动”教学法,强化软件技术专业学生的实践动手能力,采用“校企合作”教学模式。在实践教学过程中,关键的环节是教师对任务模块的设计,保证每一个任务环节基本独立,能够单独运行,同时学生也能够完成。如软件专业对SQLServer数据库课程的实践性要求很高。项目实训以一个完整的数据库设计项目为主线贯穿整个教学过程的始终,按照项目模块的划分安排教学步骤,教学过程由项目任务来驱动。项目驱动教学法有助于发挥学生的主体作用,学生在学习过程中能实际参与一个完整项目的分析、设计、实现的全过程。实践实训项目教学中,项目的设计是关键。教师精心设计的项目和教师实际承接的项目能够更好地激发学生的兴趣,使其主动地投入到项目中来。在完成项目的过程中,学生可以体验成就感、满足感,从而进一步激发求知欲。这种开放性、创新性的教育思想和方法有利于学生从整体上掌握课程的精髓,通过对问题的分析、解决,主动对课程内容进行意义建构,提高了学生在实际工作中分析问题、解决问题的能力。
4.考核方式的创新
课程采用平时实践考核、期末上机考试、网络教学平台考核相结合的考核方法。平时实践考核成绩占40%,由学习态度和任务两部分组成;期末考核成绩占40%,主要考核学生对所学知识的综合运用能力及熟练使用SQLServer软件的基本技能;网络教学平台考核成绩占20%。
(二)课程体系的学习平台改革
数据库应用技术课程教学过程中采用基于网络课程的“学教并重,学生受控自主学习”的模式,这在一定程度上缓解了现阶段的教学矛盾,较好地满足了不同专业层次学生对课程的不同需求,提高了教学质量。该模式有如下特点:(1)教师是教学过程的组织者,是学生自主学习的促进者;(2)学生是信息加工的主体,是知识意义的主动建构者;(3)教学媒体等资源既是辅助教师教学的演示工具,又是促进学生自主学习的认知工具与情感激励工具;(4)通过教师指导与自主学习,学生除了从教材中获取知识外,还可以从图书资料及网上资源等其它教学资源中获取大量知识;(5)以学习评价作为网络学习监控的手段,进行学习监控,支持高质量的学习经历,逐步引导学习者进行自我控制学习。数据库应用技术课程网络教学模式在实现教学目标的同时,加强了学生学习能力和实际应用能力的培养。教学环境为校园网、internet和实验室等。教学资源为电大在线、网上课程辅导文本、视频直播课、课程教案、网络课程、网上链接资源等。教学活动主要包括自学、交互、实践三个环节,任何一个环节均可作为教学的起点。教师可根据不同的教学内容灵活处理。网络课程主要有“学习目标”“课程辅导”“形成性考核”“平时作业”“在线测试”“问题讨论”“系统管理(教师管理区)”七大模块。
(1)“学习目标”模块
本模块中可以获得有关该课程的指导性学习资料,如教学大纲、教材版本、学习安排、课程学习要点等资料,学生可以根据自身专业知识基础、学习时间等灵活安排个人的学习计划和进度。学生一旦注册后,系统将自动记录学生学习的相关信息,对学习的全过程进行监控,计算机自动给出形成性考核成绩,学生可以随时浏览自己的学习情况,调整学习计划和进度。
(2)“课程辅导”模块
“课程辅导”模块以教材为依据,根据教材各章的内容,以章节之间的知识点为线索,重点讲述课程的重点、难点内容,并注意拓展学生的知识面。在这里学生可以获取详细的学习资料,有动画、资源展示等,图文并茂,能够有效地帮助学生自主学习。
(3)“形成性考核”模块
本模块将依据服务器自动记录的学生情况,如访问次数、单元测试情况、课程讨论发表的BBS贴数、课程综合测试情况以及平时作业情况,自动形成并计算出学生的课程考核成绩,有效地监控了学生的学习过程。
(4)“平时作业”模块
教师根据教学要求,在“平时作业”模块里给学生布置相应的作业。学生可以在这里按课程章节来查看并在线完成教师布置的平时作业,学员的作业完成情况计入形成性考核成绩。
(5)“在线测试”模块
学生进入本模块时,选择相应的课程,本系统根据所选课程的教学要求,依据各章节内容从数据库中抽取相应的试题,对学生的学习情况进行在线测试。系统自动抽题,自动阅卷,自动显示成绩,并对测试结果进行简单的分析和提示。考试题型有“单选题”“多选题”,操作简单,学生如果对自己的考试成绩不满意,可以重新进行考试,考试成绩将计入形成性考核成绩。
(6)“问题讨论”模块
“问题讨论”模块比较复杂,功能完善。本模块供教师和学生进行在线讨论。教师可以在此设立版主、讨论主题、公告、解答学生的疑难。学生可以在此自由地进行学习交流,也可建立学习活动小组,进行交流。论坛管理员既可以设立多门课程的讨论专区,也可以对专门的疑点、难点设立讨论区,有效地实现了分类管理,并可以锁定讨论区、删除不健康的贴子。论坛可以记载各个时期的各个讨论专题以及精品文章的,实现跟贴回复。(7)“系统管理”模块该网络课程可以从两个方面实现对学习过程的监控。一是系统对学员自主学习过程的记录与监控。通过系统自动记录学员的访问次数、在线测试情况、访问时间、综合测试情况、在BBS上发贴的数量等对学生的学习过程进行记录和跟踪,能够根据他们的学习情况及时反馈学习效果。二是教师对学生学习过程的监控。教师或管理员以各自的身份登陆网站,通过访问数据库,可以了解和掌握学生学习的相关信息,如访问本课程的人数,各分校学生的学习情况,每个学生学习本课程的时间和次数,在线测试情况,形成最终成绩等。在“课程讨论区”,师生可以对课程学习过程中存在的问题进行专题讨论,教师可以将错误比较集中的练习以公告等形式帮助学生完成自主学习任务。期末,教师将该课程的形成性考核成绩上报教务部门,所有成绩的处理全部由计算机自动生成,每个学生的成绩与该学生平时查看的成绩一致。
二、结论
1.1理论与实际相脱离。
在教学过程中教师要么以理论教学为主,忽视学生实际操作的培养,以至于学生只是简单的记忆概念及理论,无法解决实际问题,要么过于重视操作,把大部分教学时间集中在目前流行数据库管理系统的学习,致使学生认为理论知识的学习无关紧要,缺乏完整的知识结构。
1.2验证性实验为主。
目前课程的实践教学采用验证性实验为主,针对某个知识点进行孤立的实践,使学生在操作过程中不能与现实实际情况相结合,不能解决实际问题,使实践教学失去原有的价值。
1.3教学内容陈旧。
教师遵循教材进行教学,但所用教材过于陈旧,不能与时俱进,与社会实际需求相脱离,教学内容统一,不能很好的与学生所学专业相结合。
1.4“填鸭式”教学法。
《数据库原理及应用》课程已经是一门开设时间较长的课程,教师在教学过程中按照惯用的“填鸭式”的教学方法进行教学,同时部分教师也不愿进行改革以增加自己的工作量,从而导致学生被动的去接收知识。
1.5考核方式不合理。
课程的考核仍然采用的是卷面考试的方式,通过对学生理论考试的成绩来评判学生的学习情况,却忽视了学生的动手操作能力的考核。
2《数据库原理及应用》课程教学改革的建议
2.1理论联系实际,更新教学内容。
独立院校以培养应用型人才为目标,该院是以酒店和旅游为行业背景的独立学院,尤其是酒店管理专业学生的教授内容需与酒店及旅游紧密关联,即将数据库原理及应用课程的教学与行业结合;课程内容结构必须包含数据库相关理论知识和实践操作两个方面,教学过程中需要针对酒店、旅游行业特色对教学内容进行调整,由于学院以文科学生为主,数据库管理系统软件则选择ACCESS。
2.2加强实践教学,强化创新能力。
在理论教学过程中就要引入行业案例进行讲解,让学生能够了解数据库在酒店及旅游行业中怎样发挥作用,通过学生对案例的分析,加深理解;安排学生到合作酒店进行参观,了解整个酒店的运作,在进行综合实验学习时要求学生针对酒店行业的具体情况进行数据库的设计与实现,锻炼学生利用所学知识解决现实问题,使学生学习的内容能与专业结合。实验过程中还需要学生对现有存在的问题提出解决方法并实现,从而锻炼学生的创新能力。
2.3多种教学方法和教学手段结合。
①案例教学法:以酒店、旅游企业的真实案例进行教学,让学生在接触本门课程的时候就能了解到课程在行业中的重要性,同时也能使学生轻松地从具体到抽象的教学过程中掌握知识。②任务驱动教学法:以学生小组为单位下达数据库开发任务,任务均以酒店或旅行社为背景,学生为完成任务需相互配合、讨论,彼此督促学习,进而提高学生的积极性,因为是根据具体的酒店或旅行社进行设计的实验,能够锻炼学生的知识转移能力,学生更有积极性,更能获得成就感。
2.4改革考核方式。
《数据库原理及应用》课程主要考核理论知识和实践应用能力两部分。但在实际考核的过程中不需要刻意的安排卷面考试进行测试,采用提交最终作品即设计的数据库系统,同时提交小组在系统设计期间所完成的数据库设计报告,设计报告的撰写需要学生将整个系统设计所设计的内容文字化,也就将相关理论知识加以强化。
2.5加强与酒店和旅行社的合作。
应用型人才的培养重点在于应用,通过与酒店和旅行社的合作,学生能在学习期间了解行业的动态及需求,学生有机会进入企业进行学习,并获得专业人士的指导,适应就业市场的需求。
2.6教师自身提高。
教学的关键和主体是教师,教师不能与时俱进所传授的知识就不能满足学生就业的需要,所学知识也就不能与社会接轨,教师能力的不断提升也是改革的关键,因此教师除对专业知识的不断学习,还需要不定期到酒店及旅行社进行学习,了解行业需求的不断变化。
3结束语