Access.docx
- 文档编号:24098547
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:12
- 大小:22.36KB
Access.docx
《Access.docx》由会员分享,可在线阅读,更多相关《Access.docx(12页珍藏版)》请在冰豆网上搜索。
Access
目录
一.Access数据库简介2
二.Access发展历程2
2.1Access的发展简介2
2.2Access发展对比3
2.2.1Access特性3
2.2.2Access优点4
2.2.3Access缺点5
三.Access技术相关6
3.1Access数据库的安全性问题6
3.1.1设置密码6
3.1.2用户级安全6
3.1.3加密数据库6
3.1.4Access数据库的安全隐患7
3.2Access数据库的随机加密及应用7
3.2.1基于ASP.NET的随机加密算法7
3.2.2ASP.NET中Random类概述7
3.2.3ASP.NET随机加密程序代码8
3.2.4ASP.NET解密程序代码9
3.3基于ASP.NET的Access数据库加密及其应用10
3.3.1向表中添加记录并加密10
3.3.2查询数据11
3.4结束语12
参考文献:
13
Access
一.Access数据库简介
Access是一种关系型数据库管理系统,是MicrosoftOffice的组成部分之一。
Access1.0诞生于20世纪90年代初期,目前Access2003已经得到广泛使用。
历经多次升级改版,其功能越来越强大,但操作反而更加简单。
尤其是Access与Office的高度集成,风格统一的操作界画使得许多初学者更容易掌握。
Access应用广泛,能操作其他来源的资料,包括许多流行的PC数据库程序(如DBASE、Paradox、FoxPro)和服务器、小型机及大型机上的许多SQL数据库。
此外,Access还提供Windows操作系统的高级应用程序开发系统。
Access与其它数据库开发系统比较有一个明显的区别:
用户不用编写一行代码,就可以在很短的时间里开发出一个功能强大且相当专业的数据库应用程序,并且这一过程是完全可视的,如果能给它加上一些简短的VBA代码,那么开发出的程序就与专业程序员潜心开发的程序一样。
二.Access发展历程
2.1Access的发展简介
Access数据库系统既是一个关系数据库系统,还是设计作为Windows图形用户界面的应用程序生成器。
它经历了一个长期的发展过程。
Microsoft公司在1990年5月推出Windows3.0以来,该程序立刻受到了用户的欢迎和喜爱,1992年11月Microsoft公司发行了Windows数据库关系系统Access1.0版本。
从此,Access不断改进和再设计、自1995年起,Access成为办公软件Office95的一部分。
多年来,Microsoft先后推出过的Access版本有2.0、7.0/95、8.0/97、9.0/2000、10.0/2002,直到今天的Access2003、2007版。
中文版Access2003具有和Office2003中的Word2003、Excel2003、Powerpoint2003等相同的操作界面和使用环境,具有直接连接Internet和Intranet的功能。
它的操作更加简单,使用更加方便。
Access的最主要优点是它不用携带向上兼容的软件。
无论是对于有经验的数据库设计人员还是那些刚刚接触数据库管理系统的新手,都会发现Access所提供的各种工具既非常实用又非常方便,同时还能够获得高效的数据处理能力。
Access优点明显:
具有方便实用的强大功能,Access用户不用考虑构成传统PC数据库的多个单独的文件;可以利用各种图例快速获得数据;可以利用报表设计工具,非常方便地生成漂亮的数据报表,而不需要采用编程;采用OLE技术能够方便地创建和编辑多媒体数据库,其中包括文本、声音、图像和视频等对象;支持ODBC标准的SQL数据库的数据;设计过程自动化,提高了数据库的工作效率;具有较好的集成开发功能;可以采用VBA(VisualBasicApplication)编写数据库应用程序;提供了包括断点设置、单步执行等调试功能;能够像Word那样自动进行语法检査和错误诊断;进一步完善了将Internet/Intranet集成到整个办公室的桌面操作环境。
总之,Access发展到现在已经向用户展示出它的易于使用和功能强大的特性。
2.2Access发展对比
2.2.1Access特性
与一般的RDBMS完全不同,它缺乏数据库触发和预存程序。
自从MSAccess2000(Jet4.0),开发人员可以在查询中设定参数,这跟预存程序很相似的,但这些“预存程序”只能处理一个程序.当资料表内数据发生变化时,它确实允许形式包含被引发的代码,使用是普通的透过查询和其他技术在进入营运储存的程序在方面RDBMS支援这些的。
进入可提供的编程语言,当时在另一个内产品MicrosoftOffice家具,微软公司应用的VisualBasic。
两个数据库进入讯息库COM组成部分被提供:
这笔遗产数据存取物体(DAO),用进入和新只可提供ActiveX数据对象(忙乱)。
MicrosoftAccess容易被应用于小的工程,但是如果设计的不好对大工程是无用的。
全部数据库质问,形式和报告被储存在数据库里,并且与相关的模型的理想协调,没有与他们做一个身体上组织的阶层的可能性。
一种设计技术是把进入应用在数据和计划之间进行分发。
一数据库应该只包含桌子和关系,当另一个将有全部计划时,形式,报告和质问和对第一个数据库桌子的连接。
令人遗憾,当连结时,进入允许没有有关的道路,因此那些发展环境作为这种生产环境有相同的道路应该(虽然你写你们自己的能"动态连接程序"常规在里VBA那搜出能一定背面结束档案以透过这个目录树搜寻,如果它发现这条电流通路它不能)。
这种技术也允许开发者在不同的档案中分申请,因此一些架构是可能的。
2.2.2Access优点
1.存储方式简单,易于维护管理
Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb或.accdb)的数据库文件中,便于用户的操作和管理。
2.面向对象Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。
它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性。
通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。
同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。
3.界面友好、易操作
Access是一个可视化工具,是风格与Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。
系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。
4.集成环境、处理多种数据信息
Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。
5.Access支持ODBC(开发数据库互连,OpenDataBaseConnectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。
Access还可以将程序应用于网络,并与网络上的动态数据相联接。
利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用。
6.支持广泛,易于扩展,弹性较大
能够将通过链接表的方式来打开EXCEL文件、格式化文本文件等,这样就可以利用数据库的高效率对其中的数据进行查询、处理。
还可以通过以Access作为前台客户端,以SQLServer作为后台数据库的方式(如ADP)开发大型数据库应用系统。
总之,Access是一个既可以只用来存放数据的数据库,也可以作为一个客户端开发工具来进行数据库应用系统开发;即可以开发方便易用的小型软件,也可以用来开发大型的应用系统。
2.2.3Access缺点
Access是小型数据库,既然是小型就有它的局限性(下面关于性能方面的缺点仅指用Access作为数据库的情况下,不包括用Access作为客户端前台,用SQLServer作为后台数据库的情况):
1.数据库过大,一般百M以上(纯数据,不包括窗体、报表等客户端对象)性能会变差。
2.虽然理论上支持255个并发用户,但实际上根本支持不了那么多,如果以只读方式访问大概在100个用户左右,而如果是并发编辑,则大概在10-20个用户。
3.记录数过多,单表记录数过百万性能就会变得较差,如果加上设计不良,这个限度还要降低。
4.不能编译成可执行文件(exe),必须要安装Access运行环境才能使用。
三.Access技术相关
3.1Access数据库的安全性问题
Access提供了设置数据库安全的几种传统方法:
为打开的数据库设置密码,或设置用户级安全,以限制允许用户访问或更改数据库的哪一部分,以及加密数据库使用户无法通过工具程序或字处理程序查看和修改数据库中的敏感数据。
除这些方法之外,还可将数据库保存为MDE文件以删除数据库中可编辑的VisualBasic代码以防止对窗体、报表和模块的设计进行修改。
3.1.1设置密码
最简单的方法是为打开的数据库设置密码。
设置密码后,打开数据库时将显示要求输入密码的对话框。
只有键入正确密码的用户才可以打开数据库。
在数据库打开之后,数据库中的所有对象对用户都将是可用的。
3.1.2用户级安全
设置数据库安全的最灵活和最广泛的方法是设置用户级安全。
这种安全类似于很多网络中使用的方法,它要求用户在启动Access时确认自己的身份并键入密码。
3.1.3加密数据库
对数据库进行加密将压缩数据库文件,并使用户无法通过工具程序或字处理程序查看和修改数据库中的敏感数据。
3.1.4Access数据库的安全隐患
Access数据库的设置密码算法比较简单,很容易被破解。
Access数据库的文件头中42H-4EH为密码区。
设置密码时,根据所设密码的ASCII码与密码区的内容进行异或运算,最后将运算的结果存入密码区。
在Access数据库打开之后,数据库中的所有对象对用户都将是可用的。
对于一些存储敏感数据的Access数据库,除了设置数据库密码外,应该对数据库中的数据进行加密。
由此可以看出,Access的安全性有待于进一步提高。
3.2Access数据库的随机加密及应用
随机加密算法,是一种利用随机函数的随机数序列与数据进行异或等运算,实现对数据加密的方法。
在随机加密算法中,加密所用的数据是随机数且不重复使用,实现了“一次一密”的加密。
下面,我们研究在ASP.NET+Access的Web数据库解决方案中,利用随机加密算法消除Access数据库安全隐患的问题。
3.2.1基于ASP.NET的随机加密算法
ASP.NET支持Unicode字符。
在ASP.NET中,使用Unicode字符,对数据进行随机加密,安全性很高。
3.2.2ASP.NET中Random类概述
在ASP.NET的System命名空间中,包含着基本类和基类,Random类是其中的一个类,包括以下构造函数和主要方法:
构造函数:
Random已重载。
初始化Random类的新实例。
Random(),使用与时间相关的默认种子值,初始化Random类的新实例。
Random(Seed),使用指定的种子值初始化Random类的新实例。
方法:
Next已重载。
返回整型随机数序列的下一个随机数。
NextBytes用随机数填充指定字节数组的元素。
NextDouble返回一个介于0.0和1.0之间的随机数。
随机数的生成是从种子值开始。
如果反复使用同一个种子,就会生成相同的数字系列。
3.2.3ASP.NET随机加密程序代码
在ASP.NET中,可调用下面的Encrypt()函数对数据进行随机加密,其参数a为要加密的数据。
<%@ImportNamespace="System.Globalization"%>
FunctionEncrypt(aAsString)AsString'加密入口函数
DimrndAsRandom
DimSeedAsInteger
Seed=RandomSeed()
Encrypt=(SeedXorAscW("数")XorAscW("据")).ToString("
X4")
'Encrypt为密钥,由随机种子和"数"、"据"的Unicode编码
异或运算而成的
rnd=newRandom(Seed)
Encrypt+=RandomEncrypt(a,rnd)
EndFunction
FunctionRandomSeed()ASInteger'生成随机种子函数
DimrndAsRandom
rnd=newRandom()
Randomize(Timer)
RandomSeed=rnd.NextAnd32767
EndFunction
FunctionRandomEncrypt(aAsString,rndAsRandom)AsString
'随机加密函数
DimnAsInteger=1
RandomEncrypt=""
DoWhilen<=s.Length
RandomEncrypt+=((rnd.NextAnd65535)XorAscW(Mid
(a,n,1))).ToString("X4")
n+=1
Loop
EndFunction
3.2.4ASP.NET解密程序代码
在ASP.NET中,可调用下面的Decrypt()函数实现对随机加密
的数据进行解密,其参数a为需要解密的数据。
<%@ImportNamespace="System.Globalization"%>
FunctionDecrypt(aAsString)AsString'解密函数
DimSeed,EncryptCodeAsInteger
DimDecryptCharAsString
DimrndAsRandom
Seed=Int32.Parse(Mid$(a,1,4),NumberStyles.HexNumber)
Seed=SeedXorAscW("数")XorAscW("据")
rnd=newRandom(Seed)
DimnAsInteger=5
Decrypt=""
DoWhilen EncryptCode=Int32.Parse(Mid$(a,n,4),NumberStyles.HexNum- ber) DecryptChar=ChrW((rnd.NextAnd65535)XorEncryptCode) Decrypt+=DecryptChar n+=4 Loop EndFunction 3.3基于ASP.NET的Access数据库加密及其应用 随机加密算法简单,容易实现。 加密数据时,调用Encrypt()函 数,参数为需要加密的数据;解密数据时,调用Decrypt()函数,参 数为需要解密的数据。 例如,在Access数据库xsglxt.MDB中,建立了一个表table1。 其结构为: id(int,8)、name(char,20)和password(nvarchar,20)。 3.3.1向表中添加记录并加密 在表table1中添加一条记录,其中,利用随机加密算法对Password字段的内 容进行加密。 实现这一功能的VB部分代码为: <%@ImportNamespace="System.Data"%> <%@ImportNamespace="System.Data.OleDb"%> DimaAsString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=xsglxt.MDB" DimpassAsString=Encrypt("9908131123") '调用Encrypt()函数对数据进行加密 DimMyExecuteQueryAsString="insertintotable1([id], [name],[password])Values(11,'Admin','"+pass+"')" DimMyConnectionAsNewOleDbConnection(aa) DimMyCommandAsNewOleDbCommand(MyExecuteQuery, MyConnection) MyCommand.Connection.Open() MyCommand.ExecuteNonQuery() MyConnection.Close() 其中Password字段的内容为加密数据。 3.3.2查询数据 查询table1表中的数据,利用随机解密算法对Password字段 的内容进行解密。 实现这一功能的VB部分代码为: <%@ImportNamespace="System.Data"%> <%@ImportNamespace="System.Data.OleDb"%> DimaaAsString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=xsglxt.MDB" DimMyConnectionAsNewOleDbConnection(aa) DimadapterAsOleDbDataAdapter=NewOleDbDataAdapter ("select*fromtable1",MyConnection) DimDSAsDataSet=NewDataSet() adapter.Fill(DS,"table1") DS.Tables("table1").Rows(0)("password")=Decrypt(DS.Tables(" table1").Rows(0)("password")) '调用Decrypt()函数对password字段进行解密 table1.DataSource=DS.Tables("table1").DefaultView table1.DataBind() MyConnection.Close() DataGridid="table1"runat="server"AutoGenerate- Columns="false"> BoundColumnHeaderText="ID"DataField="id"/> BoundColumnHeaderText="Name"DataField="name"/> BoundColumnHeaderText="Password"DataField="pass- word"/> DataGrid> 其中Password列的内容为解密后的数据。 3.4结束语 综上所属述,数据库的安全问题越来越受到关注,本文介绍的随机加密算法在应用中有明显的优点: (1)实现了“一次一密”的加密,安全性很高; (2)数据随机加密以后,数据量没有明显增加;(3)算法简单,容易实现。 应用中对于Access数据库中敏感数据,经随机加密后,可大大增强其安全性。 参考文献: [1]陈键,基于ASP.NET的Access数据库安全,安徽电子信息职业技术学院.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Access
![提示](https://static.bdocx.com/images/bang_tan.gif)