北京林业大学数据库结课报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北京林业大学
2009学年— 2009 学年第一学期数据库
实习报告书
专业:地理信息系统班级:地信07
姓名:施敏燕学号: 0
实习地点:计算机B8机房辅导教师:田萱
实习内容:数据库教学网站建设
实习环境: SQLServer2000、Macromedia Dreameweaver8 实习步骤
一、系统需求分析
1.1.教学网站主要功能模块有如下。
◆电子教案
◆实验指导书
◆实习指导书
◆经典论文
◆教学软件
◆站内资料查询模块
◆登录模块:本模块设置有管理员登录和普通用户入口,用于分级管理。
教学网站系统分为两种身份登录:教师和学生。登陆时首先选择身份,然后通过输入用户账
号和密码进入相应的页面。不同身份登录实现不同的功能模块,主要是读写功能占很大区别。
a)教师空间的功能模块
系统用户的一种身份是管理员,即教师,能够进行资源的管理,页面分模块浏览和站内资源查
询功能。
b)学生空间的功能模块
系统用户的另一种身份是学生,即普通用户。学生登录网站主要是针对任课教师发布的资源
进行浏览、查询(下载)。
1.2数据流图
顶级数据流图
一级数据流图
二级数据流图
资源上传:
资源查询:
二、系统设计
2.1实现编译平台和运行平台介绍
VBScript是Visual Basic Script的简称,即 Visual Basic 脚本语言,是asp动态网页默认的编程语言,配合asp内建对象和ADO对象。目前这种语言广泛应用于网页和ASP程序制作,同时还可以直接作为一个可执行程序。用于调试简单的VB语句非常方便。其优点是:由于VBScript由网页浏览器解释执行,不需要增大服务器的负担。
数据库连接采用的是 ADODB 的方式,对于数据库的操作都用编程的方式实现。本系统在操作中运用了事务处理的方法,对于被意外终止的操作进行回滚操作,比如说用户在删除数据的时候在对数据库的更新过程中遇到障碍,数据会被恢复到没提交前的状态,保持了数据库的完整性。在编程的过程中采用了对数据库进行直接操作的形式,增加了程序的灵活性,比方对数据库进行更新和查询的程序采用建立数据库连接对象(Connection)和记录集(Recordset)并对其进行直接操作的方式。
2.2功能模块图:
2.3 数据库设计
E-R图
1)用户登录子模块:
2)用户----资源交互子模块:
2.3.2 数据库的逻辑设计
将E-R图转换为关系模式。
1
类型表:实现资源类别管理,有利于实现资源类型的添加、修改和删除。
3)Source(typeid,title,titleid,site,fsize,dateandtimes,downloadtimes,descriptions)
资源表:实现资源管理,有利于实现资源的添加、修改和删除。
(单下划线标注的属性为主码,双下划线加亮显示部分为外码)
生成关系模式图:
,形式如下:
Users(用户表)
type 表: Source 表:
users 表,type 表,source 表关系中的没一个属性都是不可再分的简单项,符合第一范式。 users 表,type 表,source 表的关系键均为单主属性,即不存在非主属性对主关系键的部分函数依赖,符合第二范式。
users 表,type 表,source 表中,每个非主属性都不传递函数依赖于个表的主关系键,符合第三范式。
在users 表中,仅存在一个候选键即为主键Sloginname ;source 表中,在允许重名的情况下,也只有titleid 可以作为候选码;type 表中,但由于是但主属性,也不存在主属性对将的部分函数依赖和传递函数依赖。
三、 技术方案 详细设计
1)登陆模块
Admin.asp (登陆模块) Sadmin.asp (在此登陆模块)
HTML 表单元素 b) 页面中所涉及到的数据库表信息
此页使用了users 表。 特别说明的是在教师登陆中,包含了三级检验,即用户名、密码和权限。
权限值由表中的typeid 赋予,若typeid 为空,则不具备权限。因此在数据库中必须要为管理员的typeid 赋值,即赋予了权限。 c) 页面代码分析 信息匹配部分代码:
If Not MM_rsUser.EOF Or Not MM_rsUser.BOF Then Session("MM_Username") = MM_valUsername If (MM_fldUserAuthorization <> "") Then
Session("MM_UserAuthorization") = CStr(MM_ Else
Session("MM_UserAuthorization") = ""
End If
if CStr(Request.QueryString("accessdenied")) <> "" And false Then
MM_redirectLoginSuccess = Request.QueryString("accessdenied")
End If
MM_rsUser.Close
Response.Redirect(MM_redirectLoginSuccess)
End If
MM_rsUser.Close
Response.Redirect(MM_redirectLoginFailed)
End If
首先判断用户名对象中包含记录,进行传值;判断其是否具有权限,若无,结束响应。最后匹配成功,跳转至管理员页面,否则,跳转至再次登陆页面。
2)信息分类显示
index.asp和adindex.asp
class.asp class1.asp class2.asp class3.asp class4.asp class5.asp
a)在这一系列信息显示分类模块中,采用了超链接方式,无需用户填写的HTML表
单元素。
b)页面中所涉及到的数据库表信息
信息显示分类模块中用到了type表和source表
利用了source表的typeid进行了信息的分类显示,且source表中的typeid必须与type表中的typeid相一致,由type表进行资源类型的统一管理。另外利用source表显示资源的详细信息。
c)页面代码分析
以class1.asp为例
利用select语句查询数据库的相关信息
SELECT titleid, title, , site, fsize, descriptions, dateandtime, editor, downloadtimes, type FROM dbo.source, dbo.type
WHERE and = 1
ORDER BY dateandtime DESC
在source表中查询typeid = 1的所有资源的详细信息,利用等值连接在type表中查询出type.typeid=source.typeid的资源的type属性字段。
3)资源查询
index.asp和adindex.asp
queryresult.asp
HTML表单元素
b)页面中所涉及到的数据库表
信息
在index.asp和adindex.asp页面上仅是数据的输入和接收,尚未涉及到数据库的操作。
在queryresult.asp页面中,连接数据库中的source表。这里的查询做的比较简单,是将输入的字段与source表中的descriptions字段做比较。查询出匹配信息。
c)页面代码分析
queryresult.asp页面: