论文摘要:该文概述了广东省水文数据库现状,讨论了水文数据库表结构3.0与4.0的主要差异,针对水文数据库由表结构升级所要解决的问题,提出了具体的工作流程与解决方法,并用以对表结构3.0进行优化、调整、补充,完成了表结构到4,0的升级。
1我省水文数据库现状概述
广东省水文数据库由1991年开始建设,到1998年建成验收,至今每年都加人新的整编数据。水文数据库的建立改变了水文资料以纸介质存储数据的方式,使资料的存储进人磁介质的时代,以电子版本的方式提供数据极大方便了数据的查询和使用,为水情专用数据库、三防指挥系统、流域水信息与管理等许多水利信息化项目提供了方便,在实际生产应用中发挥了重要作用。
水文数据库使用sqlserver2000做数据库管理系统,表结构经历了由1.0版本到3.0版本的演变过程。WWW.133229.cOM3.0版本是一个比较成熟的版本,历经十年的应用,在水文数据存储的标准化方面做出了重要贡献,但在长期的应用中3.0版本也发现了一些不足之处,于是部水文局组织有关专家在3.0的基础上修订形成了4.0版本。从而使我省水文数据库从3,0版本到4.0版本的升级成为现实需要解决的问题。
2水文数据库表结构3.0与4.0的对比
3表结构升级实现技术
3.1表结构升级转换需要解决的问题
表结构的升级可能会涉及很多问题,主要要解决的问题有:
1)新表的建立。新表的建立主要讨论新表结构的合理性,确保新表的设立是正确的。
2)数据质量控制,要控制从旧库到新库转移数据时出现的数据转换错误。新库中错误的数据可能来自于旧库中的错误,也可能来自于转换程序的错误或考虑不周。应该确保新库的数据质量比旧库有所提高。
3)功能恢复,主要是参照完整性、方法(存储过程、存储函数、触发器)、外部程序的恢复。水文数据库是多应用数据库,有许多外部程序对其进行访问,数据库升级人员对这些程序几乎是不能控制的,在这种情况下数据库的修改必然对外部访问系统造成影响,解决的方法有二:一是进行功能恢复,升级人员与应用程序开发者协作,修改应用程序使其能适应新的数据库表结构;二是设立过渡期,在这其间使新老数据库同时运行,原来的应用程序继续使用老库,新应用使用新库。通常会结合使用上述两种方法,即进行部分功能恢复同时设立过渡期。
4)数据加载策略,由于水文数据量较大,而且每年都有新增数据,所以数据加载要有增量加载功能。同时,在过渡期间如果数据的增、删、改比较频繁,应该保持新旧库内容的同步。
3.2升级转换的过程
在生产环境中安全的数据库升级转换流程如图1:
验证数据库是否需要升级转换是综合考虑转化所获得的价值与投人之比,以确定是否需要这样的转换,是否开销过大。水文部门的数据源很多,如基础水文数据库、水情专用数据库等。升级人员要确定各种数据所放的位置才能引用。数据库的转换是一个重复的过程,每次形成一个新表都要经过建表、编写数据转换加载及同步代码、数据加载、结果测试这样一个过程,只有测试无误了才进人下一个新表的建立,这种采取每次一小步的办法容易降低实现程序的复杂性,容易发现转换错误所在。所有新表测试通过后才可以使用。
3.3实现方法
首先对sl324-2005《基础水文数据库表结构及标识符标准》(即表结构4.0)进行分析以验证转化的必要性,由于存放测验数据的表类是常用的表类,而且测验数据格式比较固定,表结构比较完善,所以优先转换该类表,方法如下:
使用sqlserver企业管理器创建新表结构,如图2。
使用t一sql语言编写数据转换与加载程序,如:使用语句(insertintohyyrzfselectstcd,yr,yravz,yravr,yrmxz,yrmxr,yrmxmd,yrmnz,yrmnr,yrmnmdfromzmystwhereyr=2007)就可以把表结构3.0水位月年统计表中2007年的数据增量加载到4.0的年水位表中。
如果转换过程中有类型转化、数据格式检测等质量控制要求,则需要用比较复杂的程序段来完成。如:降雨量摘录表的t一sql转换程序如下:
@p,@prm存储查询数据
创建游标my_cursorl关联到降雨量摘录表prex
通过游标读一条记录到变童@sled,@yr,@and,@
bghrmt,@edhrmt,@p,@prm中
while@@fetchstatus=0)
begin
if@edhrmt=2400)
end
else
if@edhrmt<@bghrmt)
处理摘录时段跨日的情况
摘录时段无跨日的情况
插人数据、
insertintohy_prex_bvalues(@sled,@bgdt,@eddt,@p,@prm)
取下一条记录
end另外,可使用触发器保持旧表和新表的同步增删,这样当数据加人到旧表或从旧表中删除数据的时候就通过触发器在新表中作相应的修改,如:对3.0中降雨量摘录表写插人触发器,插人相应记录的t一sql程序如下:
createtriggerprexinsertonprexforinsertas
同时写删除触发器,删除相应记录的t一sql程序如下:
createtriggerprexdeleteonprexfordeleteas
这样就维护了旧表到新表的同步更新。
3.4成果
应用以上技术笔者完成了广东省水文数据库表结构3.0到4.0数值表类的转化,并通过触发器同步技术使每年新增资料的转换过程自动化。通过表结构4.0的转换及向用户提供数据表明,新表结构使用方便,提供的数据格式更为科学合理。而且由于在升级转换过程中严格数据质量控制,改正了旧库中许多错误,统一了数据表达方式,使新库数据质量得到了提升。
【关键词】数据库加密、加密算法、加密技术特性、加密字典、加解密引擎。
随着电子商务逐渐越来越多的应用,数据的安全问题越来越受到重视。一是企业本身需要对自己的关键数据进行有效的保护;二是企业从应用服务提供商(ApplicationServiceProvider,ASP)处获得应用支持和服务,在这种情况下,企业的业务数据存放在ASP处,其安全性无法得到有效的保障。因为传统的数据库保护方式是通过设定口令字和访问权限等方法实现的,数据库管理员可以不加限制地访问和更改数据库中的所有数据。解决这一问题的关键是要对数据本身加密,即使数据不幸泄露或丢失,也难以被人破译,关于这一点现基本数据库产品都支持对数据库中的所有数据加密存储。
-对数据进行加密,主要有三种方式:系统中加密、客户端(DBMS外层)加密、服务器端(DBMS内核层)加密。客户端加密的好处是不会加重数据库服务器的负载,并且可实现网上的传输加密,这种加密方式通常利用数据库外层工具实现。而服务器端的加密需要对数据库管理系统本身进行操作,属核心层加密,如果没有数据库开发商的配合,其实现难度相对较大。此外,对那些希望通过ASP获得服务的企业来说,只有在客户端实现加解密,才能保证其数据的安全可靠。
1.常用数据库加密技术
信息安全主要指三个方面。一是数据安全,二是系统安全,三是电子商务的安全。核心是数据库的安全,将数据库的数据加密就抓住了信息安全的核心问题。
对数据库中数据加密是为增强普通关系数据库管理系统的安全性,提供一个安全适用的数据库加密平台,对数据库存储的内容实施有效保护。它通过数据库存储加密等安全方法实现了数据库数据存储保密和完整性要求,使得数据库以密文方式存储并在密态方式下工作,确保了数据安全。
1.1数据库加密技术的功能和特性
经过近几年的研究,我国数据库加密技术已经比较成熟。
一般而言,一个行之有效的数据库加密技术主要有以下6个方面的功能和特性。
(1)身份认证:
(2)通信加密与完整性保护:
有关数据库的访问在网络传输中都被加密,通信一次一密的意义在于防重放、防篡改。
(3)数据库数据存储加密与完整性保护:
(4)数据库加密设置:
系统中可以选择需要加密的数据库列,以便于用户选择那些敏感信息进行加密而不是全部数据都加密。只对用户的敏感数据加密可以提高数据库访问速度。这样有利于用户在效率与安全性之间进行自主选择。
(5)多级密钥管理模式:
主密钥和主密钥变量保存在安全区域,二级密钥受主密钥变量加密保护,数据加密的密钥存储或传输时利用二级密钥加密保护,使用时受主密钥保护。
(6)安全备份:
系统提供数据库明文备份功能和密钥备份功能。
1.2对数据库加密系统基本要求
(1)字段加密;
(2)密钥动态管理;
(3)合理处理数据;
(4)不影响合法用户的操作;
(5)防止非法拷贝;
1.3数据加密的算法
加密算法是一些公式和法则,它规定了明文和密文之间的变换方法。密钥是控制加密算法和解密算法的关键信息,它的产生、传输、存储等工作是十分重要的。
数据加密的基本过程包括对明文(即可读信息)进行翻译,译成密文或密码的代码形式。该过程的逆过程为解密,即将该编码信息转化为其原来的形式的过程。
DES算法,DES(DataEncryptionStandard)是由IBM公司在1970年以后发展起来的,于1976年11月被美国政府采用,DES随后被美国国家标准局和美国国家标准协会(AmericanNationalStandardInstitute,ANSI)承认,DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位,DES算法中只用到64位密钥中的其中56位。
三重DES,DES的密码学缺点是密钥长度相对比较短,因此,人们又想出了一个解决其长度的方法,即采用三重DES,三重DES是DES的一种变形。这种方法使用两个独立的56位密钥对交换的信息(如EDI数据)进行3次加密,从而使其有效密钥长度达到112位或168位,对安全性有特殊要求时则要采用它。
RSA算法它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字就是发明者的名字:RonRivest,AdiShamir和LeonardAdleman,但RSA的安全性一直未能得到理论上的证明,RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价。即RSA的重大缺陷是无法从理论上把握它的保密性能如何,而且密码学界多数人士倾向于因子分解不是NPC问题,RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA是被研究得最广泛的公钥算法,从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。
1.4数据库数据加密的实现
使用数据库安全保密中间件对数据库进行加密是最简便直接的方法。主要是通过系统中加密、DBMS内核层(服务器端)加密和DBMS外层(客户端)加密。
在系统中加密,在系统中无法辨认数据库文件中的数据关系,将数据先在内存中进行加密,然后文件系统把每次加密后的内存数据写入到数据库文件中去,读入时再逆方面进行解密就,这种加密方法相对简单,只要妥善管理密钥就可以了。缺点对数据库的读写都比较麻烦,每次都要进行加解密的工作,对程序的编写和读写数据库的速度都会有影响。
在DBMS内核层实现加密需要对数据库管理系统本身进行操作。这种加密是指数据在物理存取之前完成加解密工作。这种加密方式的优点是加密功能强,并且加密功能几乎不会影响DBMS的功能,可以实现加密功能与数据库管理系统之间的无缝耦合。其缺点是加密运算在服务器端进行,加重了服务器的负载,而且DBMS和加密器之间的接口需要DBMS开发商的支持。
在DBMS外层实现加密的好处是不会加重数据库服务器的负载,并且可实现网上的传输,加密比较实际的做法是将数据库加密系统做成DBMS的一个外层工具,根据加密要求自动完成对数据库数据的加解密处理。
采用这种加密方式进行加密,加解密运算可在客户端进行,它的优点是不会加重数据库服务器的负载并且可以实现网上传输的加密,缺点是加密功能会受到一些限制,与数据库管理系统之间的耦合性稍差。
数据库加密系统分成两个功能独立的主要部件:一个是加密字典管理程序,另一个是数据库加解密引擎。数据库加密系统将用户对数据库信息具体的加密要求以及基础信息保存在加密字典中,通过调用数据加解密引擎实现对数据库表的加密、解密及数据转换等功能。数据库信息的加解密处理是在后成的,对数据库服务器是透明的。
按以上方式实现的数据库加密系统具有很多优点:首先,系统对数据库的最终用户是完全透明的,管理员可以根据需要进行明文和密文的转换工作;其次,加密系统完全独立于数据库应用系统,无须改动数据库应用系统就能实现数据加密功能;第三,加解密处理在客户端进行,不会影响数据库服务器的效率。
数据库加解密引擎是数据库加密系统的核心部件,它位于应用程序与数据库服务器之间,负责在后成数据库信息的加解密处理,对应用开发人员和操作人员来说是透明的。数据加解密引擎没有操作界面,在需要时由操作系统自动加载并驻留在内存中,通过内部接口与加密字典管理程序和用户应用程序通讯。数据库加解密引擎由三大模块组成:加解密处理模块、用户接口模块和数据库接口模块。
2.结束语
上面的论述还远远没达到数据库安全需要,比如现在的数据库基本都给与网络架构,网际的安全传输等,也是要重点考虑的方面,等等。一个好的安全系统必须综合考虑核运用这些技术,以保证数据的安全,通过一上论述希望对大家有所帮助,同时也和大家一起讨论一起学习,共同进步。
参考文献:
[1]现代数据库管理(美)JeffreyA.Hoffer,MaryB.Prescott,FredR.McFadden著
关键字:数据库安全管理
Abstract:Databaseistheimportantcomponentofcomputerinformationsystem,astheinformationtogethercollective,thedatabasedocumentisbearingthemissionofstoringandmanagingtheinformation''''sdata,soitssecuritywillbethemostimportantofall.ThispaperhavediscussedmainlysafeproblemwhichfacingtotheDatabase,andhavesubmittedsomecertainsuggestions.
Keywords:Databasesecuritymanagement
一、数据库安全概述
1.数据库安全概述
数据库安全是指保护数据库以防止非法用户的越权使用、窃取、更改或破坏数据。数据库安全涉及到很多层面,必须在以下几个层面做好安全措施:
(1)物理层:重要的计算机系统必须在物理上受到保护,以防止入侵者强行进入或暗中潜入。
(2)人员层:数据库系统的建立、应用和维护等工作,一定要由政治思想上过硬的合法用户来管理。
(3)操作系统层:要进入数据库系统,首先要经过操作系统,如果操作系统的安全性差,数据库将面临着重大的威胁。
(4)网络层:由于几乎所有网络上的数据库系统都允许通过终端或网络进行远程访问,所以网络的安全和操作系统的安全一样重要,网络安全了,无疑对数据的安全提供了保障。
(5)数据库系统层:数据库系统应该有完善的访问控制机制,以防止非法用户的非法操作。为了保证数据库的安全,必须在以上所有层次上进行安全性控制。
2.数据库安全的目标
(1)提供数据共享,集中统一管理数据;
(2)简化应用程序对数据的访问,应用程序得以在更为逻辑的层次上访问数据:
(3)解决数据有效性问题,保证数据的逻辑一致性:
(4)保证数据独立性问题,降低程序对数据及数据结构的依赖:
(5)保证数据的安全性,在共享环境下保证数据所有者的利益。
以上仅是数据库的几个最重要的动机,发展变化的应用对数据库提出了更多的要求。为达到上述的目的,数据的集中存放和管理永远是必要的。其中的主要问题,除功能和性能方面的技术问题,最重要的问题就是数据的安全问题.如何既提供充分的服务同时又保证关键信息不被泄漏而损害信息属主的利益,是DBMS的主要任务之一。
二、数据库系统安全的主要风险
数据库系统在实际应用中存在来自各方面的安全风险,由安全风险最终引起安全问题,下面从四个方面讲述数据库系统的安全风险。
1.来自操作系统的风险
2.来自管理的风险
3.来自用户的风险
4.来自数据库系统内部的风险
虽然绝大多数常用的关系数据库系统已经存在了十多年之久,并且具有强大的特性,产品非常成熟。但许多应该具有的特征,在操作系统和现在普遍使用的数据库系统中,并没有提供,特别是那些重要的安全特征,绝大多数关系数据库系统并不够成熟。
三、数据库安全技术研究
1.数据库加密
数据加密就是将称为明文的敏感信息,通过算法和密钥,转换为一种难于直接辨认的密文。解密是加密的逆向过程,即将密文转换成可识别的明文。数据库密码系统要求把明文数据加密成密文,数据库存储密文,查询时将密文取出解密后得到明文。数据库加密系统能够有效地保证数据的安全,即使黑客窃取了关键数据,他仍然难以得到所需的信息。另外,数据库加密以后,不需要了解数据内容的系统管理员不能见到明文,大大提高了关键数据的安全性。
2.存取管理技术
存取管理技术主要包括用户认证技术和访问控制技术两方面。用户认证技术包括用户身份验证和用户身份识别技术。访问控制包括数据的浏览控制和修改控制。浏览控制是为了保护数据的保密性,而修改控制是为了保护数据的正确性和提高数据的可信性。在一个数据资源共享的环境中,访问控制就显得非常重要。
2.1用户认证技术
(1)用户身份验证
(2)用户身份识别
2.2访问控制
访问控制是从计算机系统的处理功能方面
每个功能模块对不同用户设置不同权限,如无权进入本模块、仅可查询、可更新可查询、全部功能可使用等,而且功能模块名、用户名与权限编码可保存在同一数据库。
(2)将数据库系统权限赋予用户
3.备份与恢复
数据备份与恢复是实现数据库系统安全运行的重要技术。数据库系统总免不了发生系统故障,一旦系统发生故障,重要数据总免不了遭到损坏。为防止重要数据的丢失或损坏,数据库管理员应及早做好数据库备份,这样当系统发生故障时,管理员就能利用已有的数据备份,把数据库恢复到原来的状态,以便保持数据的完整性和一致性。一般来说,数据库备份常用的备份方法有:静态备份(关闭数据库时将其备份)、动态备份(数据库运行时将其备份)和逻辑备份(利用软件技术实现原始数据库内容的镜像)等;而数据库恢复则可以通过磁盘镜像、数据库备份文件和数据库在线日志三种方式来完成。
4.建立安全的审计机制
刘启原,刘怡.数据库与信息系统的安全[M].科学出版社,2000.
李海泉,李健.计算机网络安全与加密技术[M].科学出版社,2001
2关系数据库技术在计算机网络设计中的基本原理
3关系数据库在计算机网络设计中的优势
关系数据库在计算机网络设计中具有强大的数据存储功能,以及简便的数据转换功能等强大的优势,以下将对关系数据库在计算机网络设计中的优势进行详细的阐述。
3.1强大的数据存储功能
强大的数据存储功能,是关系数据库在计算机网络设计活动中运用的主要优势。随着计算机网络设计应用范围的不断扩大,计算机网络设计活动的内容含量越来越大,内容的组成形式也变得越来越复杂,面对计算机网络设计活动这样一种发展趋势,相应的关系数据库的数据储存能力和数据管理能力变得极为重要。关系数据库的应用,不仅能够对计算机网络设计活动中需求和产生的大量计算机网络设计数据进行及时的存储,而且能够借助内部管理机制的帮助,对这些数据进行有效、准确的规划和管理。关系数据库的应用让计算机网络设计活动的数据管理环节,成为计算机网络设计环节的一个效率增长点。在具体的操作活动中计算机网络设计人员,可以利用数据库强大的数据存储功能将设备参数输入到网络拓扑结构中,进而借助网络拓扑结构对关系数据库进行高效、快捷的操作。如果不能有效的利用关系数据库的辅助作用,有效管理复杂的数据信息,那么计算机网络设计势必会陷入困境中。
3.2简便的数据转换功能
4结束
1.1教材陈旧,教学内容选取不合理,不能体现分专业分层次的要求
教材是教学的基础,教学目标能否实现,教材内容至关重要。目前,很多《数据库原理及应用》教材都是几年前甚至十中职学校《数据库原理及应用》课程教学改革初探杨宇巧(重庆市轻工业学校)几年前编写的,随着数据库技术发展日新月异,教材内容显得陈旧,无法跟上时代的需要,这将影响到学生能力的培养。不同的专业应有不同的教学目标和要求,各个专业应根据对数据库掌握程度要求的不同,选择相应的教学内容。但在实际教学中,为图一时的便利,往往对不同专业、不同层次的学生选择同一种教材进行教学,课程内容的选择也比较随意,与专业结合不紧,难易不分,导致教学内容选取不合理,不能体现分专业分层次的要求,从而影响到学生的培养质量。
1.2考核方式单一
在《数据库原理及应用》课程考核中,对学生成绩评定,大多还是沿用传统的考核方式,以笔试为主,考试的重点放在具体的概念和语法上,以致于平常上机做得不错的学生,笔试会不及格。例如,有的学生知道用哪个属性,但是拼不出属性的英文单词;他会做查询,会做表单,但是默写不出它们的概念。这种考核方式弱化了对学生实践动手能力的考核,缺乏对学生设计、创新能力的考核,不能全面有效地检验学生的学习效果,常常形成高分低能的怪现象。基于目前中职学校《数据库基础及应用》课程教学中存在的主要问题,数据库课程的教学改革势在必行。下面我们就针对上述问题提出了改革的措施。
2《数据库原理及应用》课程教学改革措施
2.1理论与实践相结合,加强学生动手能力培养
2.2选择和裁剪教材,合理选取教学内容,体现分专业分层次的要求
2.3教学方法和手段的改革
2.4采取以实践考核为主,理论考核为辅,平时与期末考核相结合的方式