北京林业大学数据库结课报告Word文件下载.docx
《北京林业大学数据库结课报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《北京林业大学数据库结课报告Word文件下载.docx(23页珍藏版)》请在冰豆网上搜索。
◆教学软件
◆站内资料查询模块
◆登录模块:
本模块设置有管理员登录和普通用户入口,用于分级管理。
教学网站系统分为两种身份登录:
教师和学生。
登陆时首先选择身份,然后通过输入用户账号和密码进入相应的页面。
不同身份登录实现不同的功能模块,主要是读写功能占很大区别。
a)教师空间的功能模块
系统用户的一种身份是管理员,即教师,能够进行资源的管理,页面分模块浏览和站内资源查询功能。
b)学生空间的功能模块
系统用户的另一种身份是学生,即普通用户。
学生登录网站主要是针对任课教师发布的资源进行浏览、查询(下载)。
1.2数据流图
顶级数据流图
一级数据流图
二级数据流图
资源上传:
资源查询:
二、系统设计
2.1实现编译平台和运行平台介绍
VBScript是VisualBasicScript的简称,即VisualBasic,是asp动态网页默认的编程语言,配合asp内建对象和ADO对象。
目前这种语言广泛应用于网页和ASP程序制作,同时还可以直接作为一个可执行程序。
用于调试简单的VB语句非常方便。
其优点是:
由于VBScript由网页浏览器解释执行,不需要增大服务器的负担。
数据库连接采用的是ADODB的方式,对于数据库的操作都用编程的方式实现。
本系统在操作中运用了事务处理的方法,对于被意外终止的操作进行回滚操作,比如说用户在删除数据的时候在对数据库的更新过程中遇到障碍,数据会被恢复到没提交前的状态,保持了数据库的完整性。
在编程的过程中采用了对数据库进行直接操作的形式,增加了程序的灵活性,比方对数据库进行更新和查询的程序采用建立数据库连接对象(Connection)和记录集(Recordset)并对其进行直接操作的方式。
2.2功能模块图:
2.3数据库设计
2.3.1数据库的概念设计
E-R图
1)用户登录子模块:
2)用户----资源交互子模块:
2.3.2数据库的逻辑设计
将E-R图转换为关系模式。
1)Users(Sloginname,password,typeid)
2)Type(type,typeid)
类型表:
实现资源类别管理,有利于实现资源类型的添加、修改和删除。
3)Source(typeid,title,titleid,site,fsize,dateandtimes,downloadtimes,descriptions)
资源表:
实现资源管理,有利于实现资源的添加、修改和删除。
(单下划线标注的属性为主码,双下划线加亮显示部分为外码)
2.3.3数据库的逻辑设计
生成关系模式图:
2.3.4数据库中各表结构的设计,形式如下:
Users(用户表)
字段名
含义
数据类型
长度
空值情况
主键或索引
约束条件
Id
用户编号
Int
4
主键
Sloginname
用户名
Varchar
20
password
密码
Typeid
赋予权限
可为空
Type(资源类型表)
类型编号
varchar
10
Type
类型名称
唯一值
Source(资源表)
Tltleid
标题编号
Title
标题
80
外键,引用了Type表中的type字段
Site
资源地址
100
Fsize
资源大小
缺省值为‘未知’
descriptions
简介
缺省值为:
‘无’
dateandtime
上传时间
Smalldatetime
getdate()
Editor
作者
downloadtimes
下载次数
缺省值为0
users表:
type表:
Source表:
2.3.5关系模式的规范化
users表,type表,source表关系中的没一个属性都是不可再分的简单项,符合第一范式。
users表,type表,source表的关系键均为单主属性,即不存在非主属性对主关系键的部分函数依赖,符合第二范式。
users表,type表,source表中,每个非主属性都不传递函数依赖于个表的主关系键,符合第三范式。
在users表中,仅存在一个候选键即为主键Sloginname;
source表中,在允许重名的情况下,也只有titleid可以作为候选码;
type表中,但由于是但主属性,也不存在主属性对将的部分函数依赖和传递函数依赖。
三、技术方案
详细设计
1)登陆模块
Admin.asp(登陆模块)
Sadmin.asp(在此登陆模块)
a)在Admin.asp页面和Sadmin.asp页面中,管理员用户需要填写的HTML表单元素
名称
表单元素类型
最大长度
text
管理员登陆名
管理员密码
b)页面中所涉及到的数据库表信息
此页使用了users表。
特别说明的是在教师登陆中,包含了三级检验,即用户名、密码和权限。
权限值由表中的typeid赋予,若typeid为空,则不具备权限。
因此在数据库中必须要为管理员的typeid赋值,即赋予了权限。
c)页面代码分析
信息匹配部分代码:
IfNotMM_rsUser.EOFOrNotMM_rsUser.BOFThen
Session("
MM_Username"
)=MM_valUsername
If(MM_fldUserAuthorization<
>
"
"
)Then
MM_UserAuthorization"
)=CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value)
Else
)="
EndIf
ifCStr(Request.QueryString("
accessdenied"
))<
AndfalseThen
MM_redirectLoginSuccess=Request.QueryString("
)
MM_rsUser.Close
Response.Redirect(MM_redirectLoginSuccess)
Response.Redirect(MM_redirectLoginFailed)
EndIf
首先判断用户名对象中包含记录,进行传值;
判断其是否具有权限,若无,结束响应。
最后匹配成功,跳转至管理员页面,否则,跳转至再次登陆页面。
2)信息分类显示
index.asp和adindex.asp
class.aspclass1.aspclass2.aspclass3.aspclass4.aspclass5.asp
a)在这一系列信息显示分类模块中,采用了超链接方式,无需用户填写的HTML表
单元素。
信息显示分类模块中用到了type表和source表
利用了source表的typeid进行了信息的分类显示,且source表中的typeid必须与type表中的typeid相一致,由type表进行资源类型的统一管理。
另外利用source表显示资源的详细信息。
以class1.asp为例
利用select语句查询数据库的相关信息
SELECTtitleid,title,dbo.source.typeid,site,fsize,descriptions,dateandtime,editor,downloadtimes,type
FROMdbo.source,dbo.type
WHEREdbo.source.typeid=dbo.type.typeidanddbo.source.typeid=1
ORDERBYdateandtimeDESC
在source表中查询typeid=1的所有资源的详细信息,利用等值连接在type表中查询出type.typeid=source.typeid的资源的type属性字段。
3)资源查询
queryresult.asp
a)在教师首页和学生首页上,分别都有资源查询模块,用户需要填写的HTML表单元素
names
要查询的相关内容
50
在index.asp和adindex.asp页面上仅是数据的输入和接收,尚未涉及到数据库的操作。
在queryresult.asp页面中,连接数据库中的source表。
这里的查询做的比较简单,是将输入的字段与source表中的descriptions字段做比较。
查询出匹配信息。
queryresult.asp页面:
首先进行传值,将上一个页面中的表单所接受到的信息赋给变量names,
names=Request.Form("
names"
)
利用数据源的方式连接数据库:
Setconn=Server.CreateObject("
ADODB.Connection"
conn.Open"
DB"
"
sa"
"
SQL2000"
创建记录集:
setRS=Server.createobject("
ADODB.Recordset"
在source表的descriptions字段进行匹配查询,并保存在记录集内:
sql="
select*fromsourcewheredescriptionslike'
%"
&
names&
%'
rs.opensql,conn
最后输出相应资源的属性信息。
4)资源添加
freeadd.asp
adminsave.asp
addnew.asp
freeadd.asp为添加资源的表单,adminsave.asp对freeadd.asp的表单信息进行检查和显示