四.系统网络数据库的建立 4.1系统数据源的设置 paper51.com 使用ADO去编写紧凑简明的脚本以便连接到ODBC 兼容的数据库和 OLE DB 兼容的数据源。具体的操作步骤可以归纳为以下几步: copyright paper51.com
① 创建数据库源名(DSN) http://www.paper51.com ADODB通过ODBC工作,因此要在ODBC中设置DSN(数据源名)。打开Windows的"控制面板",双击"ODBC"的图标,然后选择"文件 DSN "的属性页,单击<添加>,选择数据库驱动程序,然后单击"下一步",按照屏幕的指示键入数据源文件的名称,然后单击“下一步",再单击"完成"创建数据源。 内容来自www.paper51.com ②创建数据库链接 http://www.paper51.com
链接用以保持一些关于正在访问的数据的动态信息,以及链接者信息。利用ADODB的成员函数Open和先前设定的DSN与数据库连接,其语法如下: 内容来自论文无忧网 www.paper51.com
SetConnect=Server.CreateObject("ADODB.Connection")//创建了链接对象Connect。Connect.Open("DSN=dsnname;UID=userID;PWD=password") //打开链接。dsnname为数据源名;userID为用户名;password为用户口令。 http://www.paper51.com ③创建数据对象 ADO中的数据对象通常保存的是查询结果。RecordSet 是ADO中最复杂的对象,有许多属性和方法,灵活运用,可以达到许多好的效果。其创建方法如下: 内容来自论文无忧网 www.paper51.com
Set RecordSet =Connect.Execute(sqtStr) ,创建并打开了对象RecordSet ,sqtStr是一个串,代表一条标准的SQL语句。例如: 内容来自www.paper51.com sqlStr="SELECT*FROM b1" Set RecordSet=Connect.Execute(sqlStr) 这条语句执行后,对象RecordSet中就保存了b1中的所有记录。 内容来自论文无忧网 www.paper51.com ④操作数据库,可利用Execute方便地执行数据的插入、修改、删除等操作。 copyright paper51.com
如执行插入操作: sqlStr="Insert Intob1Values(1,2)" Connect.Execute(sqlStr) paper51.com
⑤关闭数据对象和链接 在使用了ADO对象之后,一定要关闭数据对象和链接。在ASP中通过调用方法close实现关闭。 关闭创建的数据对象:Record Set .close Set Record Set=Nothing 关闭创建的链接对象:Connect. close Set Connect=Nothing http://www.paper51.com 完整的程序片段: 内容来自论文无忧网 www.paper51.com SetConnect=Server.CreateObject("ADODB.Connection")//产生组件实例 内容来自www.paper51.com Connect.Open("DSN=dsnname;UID=userID;PWD=password")//连接数据库 copyright paper51.com SQL=select*fromtablename SetRS=Connect.Execute(SQL)//执行查询 copyright paper51.com DoWhile Not RS.EOF//显示结果 http://www.paper51.com <%=RS(fieldname)%><%Rs.MoveNext Loop %> copyright paper51.com
上述是用ASP访问数据库的全过程,由于应用面向对象思想,所有操作都比较简单,用户需要注意的仅是对数据结构的了解、当前所操作的对象及对象的属性等等,只要对这些有了清晰的认识,再加上ASP强大功能,在网络上使用数据库,实现用户与页面间交换信息,就再也不是什么难事了。 http://www.paper51.com 4.2表、关系模型和数据库的概述 http://www.paper51.com
一个数据库的信息通常组织和存储在表的形式中,各个表具有行和列。这样由行和列组成对象的项目称为数据项(又称为字段),所有数据项组成一个记录,若干个同类记录构成表文件。若干个同类记录构成表文件。若干个表以及它们的关系等用来管理数据,也叫做数据库文件。 内容来自论文无忧网 www.paper51.com 数据库加上相应的操作和管理数据库的软件,即为一个数据库管理系统(dbms),它能合理地组织和存储大量数据,并支持对于数据库表中数据的各种操作,如:更新、排序、索引、查询、列表、打印等。数据库系统是实现有组织地、动态地存储大量的相关数据,方便用户访问的计算机软件、硬件资源组成的系统,它由数据库管理系统、数据库以及支撑数据库管理系统的软、硬件构成。 内容来自论文无忧网 www.paper51.com
数据库离不开数据模型。数据模型是对现实世界客观事物及其联系的描述,它反映数据项之间和记录之间的联系,在数据库技术中使用模型的概念描述数据库的结构与语义。常用的三种数据模型:层次模型、网状模型和关系模型。此外,还有面向对象模型等。 内容来自论文无忧网 www.paper51.com 关系模型把数据之间的关系看成是一个二维表关系,因为二维表关系建立在集合代数关系理论基础上的,所以,把这种建立模型基础上的数据库称为关系数据库。 内容来自www.paper51.com
数据库与文件系统不同,其数据独立于程序而存在 ,并可以提供给不同的用户共享使用,其基本思想是对所有的数据实行统一的、集中的、独立于程序的管理。关系数据库管理系统很好地实现了这一基本思想。 paper51.com 4.3范式与建表的规范化 copyright paper51.com 在关系模型中,一个数据库模式是关系模式的集合。在建立书店数据库时,要按关系能好的关系模式的集合作为数据库模式,关系模式的优劣,可以用模式的范式(normalforms,简记为NF)。 http://www.paper51.com 第一范式(1NF) copyright paper51.com
如果关系模式R的每个关系r的属性值都是不可分的原子值,那么称R是第一范式(1NF)的模式,r是规范化关系。例如教师模式R(NAME,ADDRESS,PHONE),如果一个教师家中装了两部电话,那么关系中至少要出现两个元组,以便存储两个号码。1NF的模式是关系数据库最基本的要求,远不是理想模式。 copyright paper51.com
第二范式(2NF) http://www.paper51.com
FD函数依赖(functional dependency)定义:设有关系模式R(U),X和Y是属性集U的子集,FD是开为X Y的一个命题,只要r是R的关系,对r中的任意两个元组都有“X值相等蕴涵Y值相等”,那么FD X Y在关系模式中成立。“X Y”读作“X函数决定Y”或“Y函数依赖于X”。X Y反映了属性集X和Y之间的联系,对于每一个X值,只有唯一的Y值与之对应。 copyright paper51.com 我们把关系模式R的属性分为两类:一类是键的属性,称为主属性;另一类是不属于任何键的属性,称为非主属性。我们把FD分成完全FD和局部FD两类。如果X Y成立,对X的任何真子集x都有x Y不成立,则称X Y是完全FD,否则称X Y是局部FD。若关系模式R是1NF,且每个非主属性完全函数依赖于候选键,那么称R是2NF模式。 paper51.com 第三范式(3NF) copyright paper51.com 如果X Y和Y A成立,并且有Y X不成立,A不属于Y,那么称X A是传递FD(A传递依赖于X)。若关系模式R是1NF,且每个非主属性都不传递依赖于候选键,那么称R是3NF模式。在3NF模式中排除了非主属性对键的传递依赖。 copyright paper51.com 3NF的模式必定是2NF的模式。局部依赖和传递依赖是产生冗余和异常的两个重要原因。由于3NF模式中不存在非主属性对候选键的局部依赖和传递依赖,因此消除了很大一部分存储异常,具有较好的性能。而对于非3NF的1NF、2NF甚至非1NF的关系模式,由于它们性能上的弱点,一般不宜作为数据库模式,通常需要将它们变换成3NF或更高级的范式(即关系的规范化处理)。 内容来自www.paper51.com BC范式(Boyce-Codd NF,简称BCNF) 内容来自论文无忧网 www.paper51.com
若关系模式R是1NF,且每个属性都不传递依赖于的R的候选键,那么称R是BCNF模式。此时排除了任何属性对键的传递依赖。 内容来自www.paper51.com 在设计数据库关系模式时,应作权衡,尽可能使数据库模式保持最优的特性,一般尽可能设计成BCNF模式集,如果设计成BCNF模式集的同时达不到保持FD的目标,那只能降低要求,设计成3NF模式集,而同时又达到无损害联接和保持FD的目标。抓住以上规则后,就能使用Microsoft Access设计出性能良好的数据库了。 http://www.paper51.com
4.4系统数据库的详细建立 paper51.com 建立数据库表(#cnhww.mdb) http://www.paper51.com 4.4.1用户信息数据表(Wq_action) copyright paper51.com
paper51.com 4.4.2管理员信息表(Wq_admin) copyright paper51.com copyright paper51.com 4.4.3商品大类表(Wq_pingpai) paper51.com
paper51.com 4.4.4商品小类表(Wq_books) 内容来自论文无忧网 www.paper51.com
内容来自www.paper51.com
4.4.5商品表(Wq_sort) paper51.com
paper51.com 4.4.6购物篮表(Wq_sort2) 内容来自www.paper51.com
内容来自论文无忧网 www.paper51.com 4.4.7订单表(Wq_city) http://www.paper51.com 内容来自论文无忧网 www.paper51.com 说明:所建立的数据库文件(#cnhww.mdb)保存在文件夹cnhww.mdb下,为防止别人随意篡改数据库,我将其后缀名改为.asp来调用。 内容来自www.paper51.com 五.系统功能模块设计 内容来自论文无忧网 www.paper51.com 5.1客户端 内容来自www.paper51.com 系统主界面: copyright paper51.com
内容来自www.paper51.com 其程序代码: copyright paper51.com <HTML> http://www.paper51.com <title>管理首页面</title> 内容来自www.paper51.com <linkrel="stylesheet" href="Style.css"type="text/css"> paper51.com <BODY> 内容来自论文无忧网 www.paper51.com <table border="0" cellspacing="1"width="100%" align=center> 内容来自论文无忧网 www.paper51.com <tr> 内容来自www.paper51.com <tdwidth="100%"><table cellpadding="3"cellspacing="1" border="0" width="100%"class="tableBorder" align=center> http://www.paper51.com <tr> copyright paper51.com <th class="tableHeaderText" colspan=2 height=25>购物系统</th> 内容来自论文无忧网 www.paper51.com </tr> 内容来自www.paper51.com <tr> http://www.paper51.com <td class="forumRowHighlight" height=23>使用设置</td> 内容来自论文无忧网 www.paper51.com <td class="forumRow" style="LINE-HEIGHT:150%"> 第一次使用本系统,请点击左边管理导航菜单中的“<font color=Red>常规设置</font>”对你的网站信息和一些网站配置参数进行配置。 内容来自论文无忧网 www.paper51.com </td> http://www.paper51.com </tr> 内容来自论文无忧网 www.paper51.com
<tr> 内容来自www.paper51.com <td width="60"class="forumRowHighlight" height=23>站 长</td> copyright paper51.com <td class="forumRow" style="LINE-HEIGHT:150%"> 拥有所有权限。第一次使用时请<font color=Red>修改密码</font>后重新登陆。<font color="#666666">请到“用户管理”-“系统用户管理”设置系统用户!</font></td> copyright paper51.com </tr> 内容来自www.paper51.com <tr> paper51.com <tdclass="forumRowHighlight" height=23>管 理 员</td> 内容来自www.paper51.com <td class="forumRow" style="LINE-HEIGHT:150%"> 需要站长给予权限。<fontcolor="#666666">其权限为:除网站基本信息外的所有管理。</font></td> copyright paper51.com </tr> 内容来自论文无忧网 www.paper51.com <tr> http://www.paper51.com <td class="forumRowHighlight" height=23>业 务 员</td> 内容来自www.paper51.com <td class="forumRow" style="LINE-HEIGHT:150%"> 需要站长给予权限。<fontcolor="#666666">其权限为:商品、奖品、评论、订单、客户管理。</font></td> copyright paper51.com </tr> paper51.com
<tr> paper51.com <tr> 内容来自论文无忧网 www.paper51.com <td class="forumRowHighlight" height=23>会 员</td> 内容来自www.paper51.com <td class="forumRow" style="LINE-HEIGHT:150%"> 1、会员(客户)分为普通会员、VIP会员。<br> 内容来自www.paper51.com
2、两者都没有管理权限,只可以购买站内商品。 </td> http://www.paper51.com
</tr> http://www.paper51.com
</table> copyright paper51.com </td> http://www.paper51.com </tr> http://www.paper51.com </table><BR> http://www.paper51.com
<tablecellpadding="3" cellspacing="1" border="0"width="100%" class="tableBorder" align=center> 内容来自www.paper51.com <tr> 内容来自www.paper51.com
内容来自论文无忧网 www.paper51.com
<thclass="tableHeaderText" colspan=2 height=25>版本信息</th> http://www.paper51.com
paper51.com <tr> copyright paper51.com <td width="60" class="forumRowHighlight"height=23>目前版本</td> copyright paper51.com
copyright paper51.com
<tdclass="forumRow" style="LINE-HEIGHT: 150%"> 购物系统</td> 内容来自论文无忧网 www.paper51.com
</tr> 内容来自www.paper51.com <tr> copyright paper51.com <td class="forumRowHighlight" height=23>版权声明</td> 内容来自www.paper51.com
内容来自www.paper51.com
<tdclass="forumRow" style="LINE-HEIGHT: 150%"> </td> paper51.com
</tr> paper51.com </table> copyright paper51.com <BR> copyright paper51.com
<tablecellpadding="3" cellspacing="1" border="0"width="100%" class="tableBorder" align=center> 内容来自www.paper51.com <tr> 内容来自论文无忧网 www.paper51.com
内容来自论文无忧网 www.paper51.com <thclass="tableHeaderText" colspan=2 height=25>开发信息</th> 内容来自www.paper51.com
内容来自www.paper51.com <tr> copyright paper51.com <td width="60" class="forumRowHighlight"height=23>程序制作</td> paper51.com copyright paper51.com <tdclass="forumRow"> 123456</td> http://www.paper51.com </tr> paper51.com <tr> http://www.paper51.com <td class="forumRowHighlight" height=23>联系方式</td> 内容来自www.paper51.com copyright paper51.com <tdclass="forumRow"> QQ:123456 E-Mail:XXXXr@XXXX.com </td> paper51.com </tr> paper51.com <tr> 内容来自www.paper51.com 内容来自www.paper51.com <tdclass="forumRowHighlight" height=23>个人主页</td> 内容来自www.paper51.com http://www.paper51.com <tdclass="forumRow"> <a href="http://www.cnhww.com"target=_blank>www.XXXXX.com copyright paper51.com
</a><ahref="http://www.cnhww.com" target=_blank></a></td> paper51.com </tr> paper51.com
</table> http://www.paper51.com </BODY> 内容来自www.paper51.com </HTML> 内容来自论文无忧网 www.paper51.com |