奇趣技术网 收藏本站
设为主页
商务合作
首页 新闻中心 行业动态 软件新闻 安全资讯 病毒预警 漏洞发布 操作系统 Dos Win9x Win2000 WinXP Win2003 WinVista Linux Unix
数据库 DB2 Access MSSQL MySQL Oracle Sybase 编程技术 ASP PHP JSP CGI/Perl XML .Net C/C++/C# VB VC Delphi Java 汇编
安全技术 安全教学 工具介绍 漏洞利用 病毒防范 入侵检测 防火墙 安全防范 汉化破解 攻击实例 加密解密 技术论坛
中华网络安全联盟 >> 数据库 >> Access >> 使用Access数据库及SQL基础
数据库
Access
SQL Server
MySQL
DB2
Oracle
Sybase
  • scsiaccess - scsiacc

  • msaccess - msaccess.

  • mediaaccess - mediaa

  • access - access.exe 

  • instantaccess - inst

  • access数据库跨文件查

  • Access的跨库查询

  • Sun Java System Acce

  • 使用Access数据库及SQL基础
    字体:

    中华网络安全联盟    作者:佚名    来源:网络转载    时间:2006-3-23

      通过本教程你将学习到如何使用Micorsoft Access数据库以及一些基本的SQL知识。
    所需软件:Microsoft Access 2000及以上版本
    今天,讲讲我们在编写ASP程序时会用到的数据库的基础知识。对于小型的ASP程序来说,我们一般都使用Access数据库,因为它操作简便但是功能强大。Access作为一个中小型的数据库,足以应付我们使用中所能达到的数据量。 因为Access中包含的内容较为广泛,所以本教程所讲的内容只涉及到作为ASP的后台数据库相关的内容,Access其它方面的内容,大家可以查阅其它相关资料。Access的各个版本中,Access 2000最为大家所熟知,而后来的Access XP,Access 2003默认的文件格式也均为2000。本教程所采用的Access版本为2003,而文件格式则依然是2000(希望大家分清Access的版本和文件格式,文件格式的转换可以通过“工具”>“数据库实用工具”>“转换数据库”来操作)。
    一、新建Access数据库
    安装Microsoft Office后,可以从“开始”菜单的“程序”中启动Access。启动Access后,点击“文件”>“新建...”,在任务窗格处会出现新建项目列表(Access2000会略有不同):
    按此在新窗口浏览图片
    选择“空数据库”建立一个新的数据库。在弹出的“保存”对话框中选择数据库存放的位置后即可。
    按此在新窗口浏览图片
    打开现有数据库:要打开已经保存的数据库可以通过双击数据库文件或者从Access的文件菜单下面的“打开”命令,Access 2003可能会弹出“安全警告”对话框,不用理会,直接打开就行了。
    按此在新窗口浏览图片
    二、设计数据库
    在开始设计数据库前,需要先向大家讲明,一个Access数据库可以包含多个数据表,而数据表就是我们存放数据的地方。我们说的往数据库中输入数据,其实是在往每一个数据表中输入数据。而关于数据表也要明确几个概念:字段、记录和值。在数据库中,对表的行和列都有特殊的叫法,每一列叫做一个“字段”。每个字段包含某一专题的信息。就像下面的“留言”数据表中,“留言人”、“留言内容”这些都是表中所有行共有的属性,所以把这些列称为“留言人”字段和“留言内容”字段。 我们把表中的每一行叫做一个“记录”,每一个记录包含这行中的所有信息,就像在“留言”数据表中每一条留言的全部信息,但记录在数据库中并没有专门的记录名,常常用它所在的行数表示这是第几个记录。 在数据库中存放在表行列交叉处的数据叫做“值”,它是数据库中最基本的存储单元,它的位置要由这个表中的记录和字段来定义。在“留言”的表中就可以看到第一个记录与“留言人”字段交叉处的值就是“张人中”。“王跃”所在的记录和“房客号”的这个字段交叉位置上的“值”就是“12450”。
    按此在新窗口浏览图片
    在建立一个新数据库的时候,也要想一想这个数据库是用来干什么的,它要存储哪些数据信息,这些数据之间又有什么关系? 一方面要知道哪些数据是必须的,是绝对不能缺少的,不然建立数据库获取信息的目地就没法达到了;另一方面也要知道哪些数据是不必要,放在数据库当中只会增加数据库的容量,却并不起任何作用,所以要将这些冗余的数据剔除。这样建立起来的数据库才既能满足我们检索数据的需要,又能节省数据的存储空间。所以我们事先要规划好我们要建立的表和字段。
    在新建完一个数据库后,Access会打开数据库。
    按此在新窗口浏览图片
    我们双击“使用设计器创建表”,打开数据表设计器。其中“字段名称”就是指我们数据表的列的名称,比如上面表中的“留言人”等。数据类型就是数据存放在数据库中的类型,可以在下拉框中选择。说明是你对该字段的说明。 

    比如上图我设计了一个公告发布的数据按此在新窗口浏览图片表,不同的字段名和相应的数据类型都进行了设置。在设计每一项字段的时候,不同的数据类型在下面的“常规”选项卡会有不同的内容,不过这些内容都比较简单,而且都可以通过右边空白部分的蓝色提示来进行操作,大家可以自己多看多试,这里就不赘述了。
    这里要提醒的一点是大家在设计数据库的时候要注意字段的命名,虽然字段名可以是自己随便定义的一些名称,但是希望在给字段命名的时候还是要注意简单明了,而且尽量不要使用如“user”、“time”这样的保留名称。比如我上面设计的数据表,在字段加了“n_”这样的前缀,就容易区分一些了。我一向命名的方法是比如是“guestbook”数据表,我就会在字段中加个“g_”这样的前缀,使用起来不会有关键字的问题,在程序中也容易识别。ASP程序中,Access数据库表在给字段命名时可以使用中文,而且在中文Windows的服务器下运行正常,其它语言的windows下没有试过。
    设计完成后按“Ctrl+S”进行保存,第一次保存需要输入表名。如果此时数据表没有定义主键,Access会弹出定义主键对话框。主键就是该数据表在与其它表相关联时的一个唯一的标识键,一般都是自动编号类型或数字型字段。如果不在Access中定义“关系”,可以不设置主键。
    按此在新窗口浏览图片
    按此在新窗口浏览图片
    三、录入数据:
    尽管我们一般都是在ASP程序中进行数据录入的操作,但我们也可以直接在Access中进行数据的录入工作。
    按此在新窗口浏览图片
    直接双击已经建立的数据表,此时会打开该表,我们直接在表格中输入数据就行了,不过要注意设计表时定义的字段类型和条件,如果输入的内容不符合定义的条件则会出错。
    按此在新窗口浏览图片 




    因为Access数据库是以文件的形式存放在服务器上,所以理论上存在着被下载的可能。如果数据库中存放着一些重要数据,甚至包括用户名、密码或者客户资料等等,那么我们就必须考虑到数据库的安全性,防止别人直接从网上下载我们的数据库。到底如何防止Access数据库被恶意下载呢? 首选的方法当然是把数据库放在Web目录之外。也就是说,不把数据库放在可以直接被访问的Web目录之内,在ASP程序连接数据库时使用数据库在服务器上的绝对路径。这可以说是最保险的方法。

    如果没有条件达到上述要求,必须把数据库放在Web目录中呢,又如何有效的防止数据库被下载? 第一要做的就是给数据库取一个长而且复杂的文件名,放在一个名称复杂的的文件夹下,这虽然只是简单的一个操作,却可以避免你的数据库地址被轻易的获得。当然这是仅仅不够的,我们不能保证别人不能用某种的手段或方法获得你的数据库地址。所以我们还要用一些其它的方法。
    有不少人认为只要把数据库的.mdb扩展名改为.asp或.asa就可以防止被下载(如flash8data.asp),其实这是错误的!
    这样只能做到无法从IE地址栏直接下载,而用诸如FlashGet这类下载软件则可以顺利的下载!如果要改为.asp的话,还必须在数据库中添加一个“OLE对象”的字段,再在这个字段中添加一个内容为<%的长二进制数据,这样也可以避免被下载。
    也有不少人认为只要在数据库的文件名中加入“#”号就可以防止被下载(如flash8#data.asp),其实这也是错误的!
    这样做的原理是IE会把“#”当成网页的锚记而显示“无法显示网页”,但是其实同样可以用FlashGet下载。
    这里给大家介绍一个防止数据库被下载的简单有效的方法,就是在数据库的文件名中加入“%”号。
    比如:\^data&base^\%flash8=!=data%.mdb
    这是利用url字符编码的原理,在访问Internet中的数据时,不论是IE还是其它下载软件,都会把符号或双字节字符转换为"%**"(其中**为16进制数据)这样的编码,同样在遇到"%**"这样的字符会进行反编码,所以在上述文件名中,会试图把“%fl”转换为相应的字符,文件名就发生了改变,所以就达到了不被下载的目的。其实这里的FL不是16进制的值,所以下载时服务器会直接报错,如果是16进制的值比如24,则会反编码为“$”号,如%24data.mdb会被转换为$data.mdb,服务器则会显示找不到文件。如果你再狠一点,可以在相同的目录下再放置一个$data.mdb的伪数据库,呵呵,下载的人还会以为捡到了宝,实际上他“辛辛苦苦”下载到的是一个毫无价值只是用来欺骗他的文件。



      SQL是我们检索数据库中的数据所要必须用到的。我们查询数据库中的数据时实际上就是向数据库发送SQL指令并返回相应的结果。所以这里给大家一份SQL语法手册,其中详细的介绍了SQL的四大类型:Select、Insert、Delete、UPdate以及一些相关的知识。既然是手册,内容肯定比较全面,大家以后遇到SQL的问题时也可以翻阅该手册,应该可以得到一些提示。文件不大,只有10K,是个hta文件。

      
    字体:
     
    设为主页 收藏本站 联系我们 友情连接 商务合作 网友留言
    Copyright©2006-2008 中华网络安全联盟 All rights reserved.