




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 Oracle 大型数据库应用课程设计 设计说明书ASP/Oracle 学生成绩管理系统 2014 年 12 月 1 日至 2014 年 12 月 7 日起止日期:学生张德辉 班级计算机 112 班学号11408100202 成绩师 ( 签 字 )指导 教计算机与通信学院2014 年 12 月 08 日目录目录I1绪论11.1 课题背景11.2 控件开发相关技术介绍1系统分析22.1 工作流程222.2 业务需求2系统设计33.1 系统功能结构图333.2 模块功能设计4系统数据库设计544.1系统E-R 图54.2数据表的设计54.3视图、过程、触发器的设计64.3.1 视图6过程64.3.
2、24.3.3 触发器74.4 数据库的连接7系统实现955.1主界面及功能代码:95.2学生信息界面及功能代码:105.3学生信息管理界面及功能代码:135.4学生成绩管理界面及功能代码:145.5课程管理界面及功能代码:156总结186.1 收获与体会18参考文献19致 谢20II1绪论1.1 课题背景随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,学生成绩管理也是一个学校不可缺少的部分,一个良好的学生成绩管理系统应该能够为用户提供充足的信息和快捷的。学生成绩管理系统对学校加强学生成绩管理有着极
3、其重要的作用.使用计算机对学生成绩信息进行管理,具有手工管理所无法比拟的优点。例:检索迅速、查找方便、可靠性高、量大、性好、长、成本。这些优点能够极大地提高管理者管理的效率,也是学校科学化、正规化管理,与世界接轨的重要条件。因此,开发设计这样一套学生成绩管理软件成为很有必要的事情.1.2 控件开发相关技术介绍本系统相关开发的技术有两种,第一,利用专门的数据库,即 Oracel 数据库;第二, 利用常规的程序语言编写,即利用 ASP 编写。本系统采用的数据库是 ORICLE 11g。因 ORICLE 具有高性能,可靠性,安全性和可扩充性的优点,同时又引进了数据库和服务器增强功能以及其他一些新的特
4、性,它实现了真正的客户机/服务器体系结构,具有丰富的编程接口,类似 SQL 中的数据仓库功能和很好的伸缩性。在实际应用方面,它具有完全的 Web 功能,大大增强了数据库本身的实用性。它能够满足各种类型机构和个人对数据库的需求,并且在操作的易用性,功能的可伸缩性,安全的可靠性等方面具有明显的优势,因此,我们首选它作开发的语言。次系统关于 ASP(Active Server Page),它是服务器端编写环境,是由 Server 端脚本、对象以及组件拓展过的标准主页使用它可以创建和运行动态、交互的 Web 页和基于Web 的 功 能 强 大 的 应 用 程 序 。 ASP 具 有 以 下 特 点 :
5、 可 以 混 用 ASP 用HTML,DHTML,ActiveX,VBScript,javascript,并且可以相互嵌套;ASP 是纯文本格式,不需编译就可以直接在服务器上运行;ASP 是一种在 WEB 服务器端运行的语言,源代码传到客户的浏览器上,可保护源程序不外漏;ASP 通过其自身包含的对象来实现服务器与客户端间的交互;此外,还可以用 VB,Java 等语言开发的组件以进一步扩充其功能;ASP 与浏览器无关,ASP 可以将运行结果一 HTML 的格式传送到客户端浏览器,因而可以使用于各种浏览器。12系统分析2.1 工作流程本系统分为学生信息、学生信息管理和学生成绩管理以及课程管理四部分
6、。登入本系统时主页面便是学生信息的页面,左侧边有一个导航栏,可以跳转到学生信息、学生信息管理、学生成绩管理和课程管理页面。(1)、学生信息择专业,然后单击“学生成绩信息。:用户可以在输入框中输入学生的学号、姓名,在下拉框中选”按钮来学生信息。若什么都没输入,则默认显示所有的(2)、学生信息管理:用户可以在输入框中输入学号、姓名、专业等相关条件,单击“”按钮到学生个人信息,并且可以在学生信息的各个输入框中对学生信息进行修改,然后单击“更新”提交修改的信息,单击删除则删除该学生的信息。(3) 、学生成绩管理:用户可以在输入框中输入学号,或者在下拉框中选择课程来某个学生的成绩信息,并且可以对该学生的
7、成绩进行修改,单击“更新”按钮即提交更新后的成绩信息,单击“删除”按钮即删除该学生该课程的成绩。(4) 、课程管理:用户可以在输入框中输入课程名或在下拉框中选择课程号来该课程的信息,然后还可以在各输入框中对相应信息进行修改,单击“更新”按钮即可提交更新后的成绩信息,单击“新增”按钮也可以新增一个课程信息,单击“删除”按钮即删除该课程信息。2.2 业务需求(1)主界面要有导航栏,单击主界面侧边的超能页面;,可以在旁边页面中显示各个功(2)满足简单的需要,什么条件也不输则显示所有。可以输入条件进行简单的模糊,各条件之间为与的关系。在的结果中,点击学号列的学号超可以查看此学生的备注。(3)可以通过学
8、号、姓名、专业等条件修改、删除;单个学生的信息,然后对学生信息进行(4)通过学号、姓名等条件来某个学生的成绩信息,并能够对成绩进行修改并提交操作,其他信息则不能够修改。(5)用户可以根据课程号或课程名来程信息进行新增、修改、删除操作。相应的课程信息。并且可以对相应的课23系统设计3.1 系统功能结构图本系统编写的目的,是实现一个学生成绩管理系统,提高工作效率。系统功能主要分为四大块,分别为学生信息、学生信息管理、学生成绩管理和课程管理。由于程序的功能是和数据库相关的数据和数据操作,所以程序中应该还要有包含对数据库的、修改、删除等的操作。鉴于以上的功能,本系统的系统结构图如下:学生成绩管理系学生
9、信息学生成绩管理课程管理学生信息管理查更新删删更查新更删增除询新除询增新新除.33.2 模块功能设计本系统共包括四个大模块,分别是学生信息模块,学生信息管理模块,学生成绩管理模块和课程管理模块。每个模块的功能如下:1. 学生信息模块功能:(1)根据学号的输入来(2)根据姓名的输入来(3)根据专业的选择来学生信息; 学生信息;学生信息;2. 学生信息管理模块功能: (1)实现学生信息的新增; (2)实现学生信息的修改; (3)实现学生信息的删除;3. 学生成绩管理模块功能:(1)实现学生成绩的;(2)实现学生成绩的更新; (3)实现学生成绩的删除;4. 课程管理模块功能:(1)实现课程信息的;(
10、2) 实现课程信息的新增;(3) 实现课程信息的更新; (4)实现课程信息的删除;44系统数据库设计4.1系统 E-R 图学号成绩课程号课程名出生时间学生学习课程专业开课学期学时学分学分备注图 4.1数据库 E-R 模型图4.2数据表的设计根据该系统的特点,本次设计采用 Oracle 数据库,数据库名称为 YGGL,根据该系统的分析,包含以下几个表:表 4.1 XSB 存放学生的相关信息列名数据类型长度为空默认值字段名说明XHChar6学号主键XMChar8XBChar21CSSJDate出生时间ZYChar12专业ZXFNUMBER2学分BZVARCHAR2200备注表 4.2CJB 存放学
11、生成绩的相关信息5列名数据类型长度为空默认值字段名说明XHChar6学号主键KCHChar3课程号主键CJNumber2成绩表 4.3 KCB 存放课程的相关信息4.3 视图、过程、触发器的设计为了提高该系统的运行环境有关数据的操作使用了视图过程和触发器。4.3.1 视图CREATE VIEW XS_KC_CJASSELECT XSB.XH,XSB.XM,XSB.ZY,KCB.KCH,KCB.KCM,CJB.CJFROM XSB CROSS JOIN KCBLEFT OUTER JOIN CJB ON CJB.XH=XSB.XH AND CJB.KCH=KCB.KCH;4.3.2过程CREAT
12、E OR REPLACE PROCEDURE CJ_Data(in_xh IN char,in_kch IN char,in_cj IN number)ASin_count number;in_xf number:=0;in_cjb_cj number:=0;BEGINSELECT XF INTO in_xf FROM KCB WHERE KCH=in_kch;SELECT COUNT(*) INTO in_count FROM CJB WHERE XH=in_xh AND KCH=in_kch;6列名数据类型长度为空默认值字段名说明KCHChar3课程号主键KCMChar16课程名KKXQN
13、umber1开课学期XSNumber23学时XFNumber1学分IF in_count>0 THENSELECT CJ INTO in_cjb_cj FROM CJB WHERE XH=in_xh AND KCH=in_kch;DELETE FROM CJB WHERE XH=in_xh AND KCH=in_kch;IF in_cjb_cj>=60 THENUPDATE XSB SET ZXF=ZXF-in_xf WHERE XH=in_xh;END IF;END IF;IF in_cj<>-1 THENINSERT INTO CJB VALUES(in_xh,in
14、_kch,in_cj);IF in_cj>=60 THENUPDATE XSB SET ZXF=ZXF+in_xf WHERE XH=in_xh;END IF;END IF;COMMIT;END;BEGINCJ_Data('101101','101',50);END;4.3.3 触发器CREATE OR REPLACE TRIGGER xs_deleteAFTER DELETE ON XSB FOR EACH ROWDECLAREPRAGMA AUTONOMOUS_TRANSACTION;BEGINDELETE FROM CJB WHERE XH=:OLD
15、.XH;DELETE FROM XSZP WHERE XH=:OLD.XH;COMMIT;END;/4.4 数据库的连接应用程序与 Oracle11g 数据库的连接是通过 ADOConnection 对象来进行数据库连7接,然后在程序中利用代码与数据库建立连接来实现的。具体实现方法是:在代码页面中先使用 Server.CreateObject 方法创建该对象的实例,再通过 Connection Open 方法来打开建立到 Oracle 数据库的物理连接。具体代码如下:先创建 conn 对象:对象的<%set conn=server.CreateObject("adodb.con
16、nection")conn.Provider="OraOLEDB.Oracle"conn.Open"server=localhost; User ID=system;password=12345678;Data Source=YGGL"%>在具体环境中调用 conn 对象:<%submit=request.form("find")response.Write submitif submit="所有" thensql="select * from XSB"set rs1=se
17、rver.CreateObject("adodb.recordset")rs1.Open sql,connif not rs1.EOF thendo while not rs1.EOF'Do While rs.eof=falseResponse.Write "<tr> "%>85系统实现根据整个系统的总体设计以及子系统的相关模块功能的设计,我们进行了系统的软件开发。详细设计和功能展示如下:5.1主界面及功能代码:本系统主要分为学生信息、学生信息管理、学生成绩管理和课程管理四大功能模块,主界面主要显示这四个功能块的超,并且这里为简
18、单起见,我们主界面默认是显示所有学生信息的能块的界面。结果。这里我们功能模块的导航栏在左边,右边显示各个功下面为运行后的主界面图:图 5.1 系统主页面显示左侧导航栏的代码:<div class="container"><div class="header"><a href="#"><img src="image/oracle.jpg" width="20%" height="91" /></a><!- end
19、 .header -></div><div class="sidebar1"><ul class="nav"><li><a href="XS_find.asp">学生</a></li><li><a href="XS_manage.asp">学生管理</a></li>9<li><a href="CJ_manage.asp">成绩管理<
20、;/a></li><li><a href="KC_manage.asp">课程管理</a></li></ul><p> 本系统是学生成绩管理系统,有4大功能,学生:提议提供学生详细信息的,例如学号,姓名,出生时间,专业,学分,备注等。学生管理:可以对学生的所有信息进行修改,或者增加新的学生信息,或者删除学生信息。成绩管理:可以对学生的对应所修课程的成绩进行增加,删除,修改。(通过过程实现)课程管理:可以通过对课程号,课程名,开课学期,学时,学分进行增加,删除,修改。</p>&
21、lt;!- end .sidebar1 -></div>对数据库的操作为:set conn=server.CreateObject("adodb.connection") conn.Provider="OraOLEDB.Oracle"conn.Open"server=localhost; User ID=system;password=12345678;Data Source=YGGL" set rs=server.CreateObject("adodb.recordset")sql="
22、select * from XSB" rs.Open sql,connif not rs.EOF then i=1do while not rs.EOF Response.write rs("XM") i=i+1rs.movenext loopend if5.2学生信息界面及功能代码:图 5.2 学生信息页面10<table width="100%" border="1" cellpadding="1" cellspacing="0" ><tr><th w
23、idth="100%" height="44" align="center">学生信息</th></tr><tr><form name="form1" method="post" action=""><tr><td>学号:<input type="text" name="XH"><input type="text" nam
24、e="XM">专业:<select size"1" name="ZY"><option value="">所有专业</option><option value="计算机">计算机</option><option value="通信工程">通信工程</option></select><inputtype="submit" name="find
25、" value="" /><input type="submit" name="find" value="</form></td></tr></table>所有" /><table width="100%" border="1" cellpadding="1" cellspacing="0" ><tr><th width="
26、;100%" align="center">学生信息</tr></table>结果</th><table width="100%" border="1" cellpadding="1" cellspacing="0" ><tr><td width="15%">学号</td><td width="15%">姓名</td><td w
27、idth="10%"></td><td width="30%">出生时间</td><td width="20%">专业</td><td width="10%">学分</td></tr><%submit=request.form("find") response.Write submitif submit="所有" thensql="select * from
28、XSB"set rs1=server.CreateObject("adodb.recordset") rs1.Open sql,connif not rs1.EOF then do while not rs1.EOF'Do While rs.eof=falseResponse.Write "<tr> "%><td width="15%"><%Response.Write rs1("XH")%></td>11<td width="
29、15%"><%Response.Write rs1("XM")%></td><td width="10%"><%Response.Write rs1("XB")%></td><td width="30%"><%Response.Write rs1("CSSJ")%></td><td width="20%"><%Response.Write rs1(
30、"ZY")%></td><td width="10%"><%Response.Write rs1("ZXF")%></td><%Response.Write "</tr>" rs1.movenextloopend if rs1.closeset rs1=nothingelseXH=""XM=""ZY=""if Request.Form("XH")<>&q
31、uot;" then XH=request.form("XH")sql="select * from XSB where XH=" & XH end ifif Request.Form("XM")<>"" then XM=request.form("XM")'sql="select * from XSB where XM="'XM&'"" sql="select * from XSB
32、where XM='"&XM&"' "end ifif Request.Form("ZY")<>"" then ZY=request.Form("ZY")'sql="select * from XSB where ZY=" & ZY sql="select * from XSB where ZY='"&ZY&"' "end ifset rs2=server
33、.CreateObject("adodb.recordset") rs2.Open sql,connif not rs2.EOF thendo while not rs2.EOF Response.Write "<tr> "%><td width="15%"><%Response.Write rs2("XH")%></td><td width="15%"><%Response.Write rs2("XM"
34、)%></td><td width="10%"><%Response.Write rs2("XB")%></td><td width="30%"><%Response.Write rs2("CSSJ")%></td><td width="20%"><%Response.Write rs2("ZY")%></td><td width="1
35、0%"><%Response.Write rs2("ZXF")%></td><%12Response.Write "</tr>"rs2.movenextloopend if rs2.closeset rs2=nothingend if%> </table>5.3学生信息管理界面及功能代码:图 5.3 学生信息管理页面<%stuXH=request.form("stuXH") stuXM=request.form("stuXM") st
36、uZY=request.form("stuZY") stuXB=request.form("stuXB") stuCSSJ=request.form("stuCSSJ") stuZXF=request.Form("stuZXF") stuBZ=request.form("stuBZ")if request.Form("edit")="新增" then'response.Write "新赠"sql_insert="INS
37、ERT INTO XSB VALUES('"+stuXH+"','"+stuXM+"','"+stuXB+"',TO_DATE('"+stuCSSJ+"','YYYY/MM/DD'),'"+stuZY+"',"+stuZXF+",'"+stuBZ+"') "'response.Write sql_insert conn.Exec
38、ute sql_insertelseif request.Form("edit")="更新" then13'response.Write "更新"sql_update="UPDATE XSB SET XM='"+stuXM+"',XB='"+stuXB+"',CSSJ=TO_DATE('"+stuCSSJ+"','YYYY/MM/DD'),ZY='"+stuZY+"&
39、#39;,ZXF='"+stuZXF+"',BZ='"+stuBZ+"' WHERE XH='"+stuXH+"'"'response.Write sql_update conn.Execute sql_updateelseresponse.Write "删除"'sql_delete="DELETE FROM XSB WHERE XH='"+stuXH+"'"'response.
40、Write sql_delete conn.Execute sql_deleteend if%>5.4学生成绩管理界面及功能代码:图 5.4 学生成绩管理页面<%XH=request.Form("XH") KCH=request.Form("KCH") CJ=request.Form("CJ")function call_proc(num, cnum, point)set cmd=Server.CreateObject("adodb.Command") set cmd.ActiveConnection=
41、conn cmd.CommandText="CJ_Data"cmd.CommandType=4cmd.Parameters.Append cmd.CreateParameter("in_xh", adChar, adParamInput,6) cmd.Parameters.Append cmd.CreateParameter("in_kch",adChar,adParamInput,3)14cmd.Parameters.Append cmd.CreateParameter("in_cj",adInteger,adP
42、aramInput,2) cmd.Parameters("in_xh")=numcmd.Parameters("in_kch")=cnum cmd.Parameters("in_cj")=point cmd.Executeend functionif request.Form("edit")="更新" thenif XH <> "" AND KCH <> "" AND IsNumeric(CJ) = true Then Call c
43、all_proc(XH, KCH, CJ)response.Write "<script>alter('更新!')</script>"elseresponse.Write "<script>alter('请输入正确的成绩信息!')</script>" end ifend ifif request.Form("edit")="删除" then IF XH <> "" AND KCH <> &qu
44、ot;" thenCall call_proc(XH, KCH, -1)response.Write "<script>alter('删除!')</script>"elseresponse.Write "<script>alter('无法删除!')</script>" end ifend if%>5.5课程管理界面及功能代码:图 5.5 课程管理页面<%if request.Form("KCH")<>""
45、; OR request.Form("KCM")<>"" then15if Request.Form("KCH")<>"" then KCH=request.form("KCH")sql="select * from KCB where KCH=" & KCH end ifif Request.Form("KCM")<>"" then KCM=request.form("KCM&qu
46、ot;)'sql="select * from XSB where XM="'XM&'"" sql="select * from KCB where KCM='"&KCM&"' "end ifset rs=server.CreateObject("adodb.recordset") rs.Open sql,connif not rs.EOF then KCH=rs("KCH")KCM=rs("KCM&q
47、uot;) KKXQ=rs("KKXQ") XS=rs("XS")XF=rs("XF")elseKCH=""KCM="" KKXQ="" XS=""XF=""end ifelseKCH=""KCM="" KKXQ="" XS=""XF=""end if%><table width="100%" border
48、="1" cellpadding="1" cellspacing="0" ><tr><th width="100%" align="center">课程信息</tr><tr><form action="" method="POST">结果</th><table width="450" border="1" align="ce
49、nter"><tr><td width="60" align="center">课程号:</td><td><input name="calKCH" type="text" value="<%=KCH%>" /></td><td width="60" align="center">课程名:</td><td><input
50、 name="calKCM" type="text" value="<%=KCM%>" /></td></tr><tr><td width="60" align="center">开课学期:</td><td><input name="calKKXQ" type="text" value="<%=KKXQ%>" /></
51、td><td width="60" align="center">学时:</td>16<td><input name="calXS" type="text" value="<%=XS%>" /></td></tr><tr><td width="60" align="center">学分:</td><td colspan=&qu
52、ot;3"><input name="calXF" type="text" value="<%=XF%>" /></td></tr><tr><td colspan="4" align="center"><input type="submit" name="edit" value="新增" /><input type="su
53、bmit" name="edit" value="更新" /><input type="submit" name="edit" value="删除" /></td></tr></table></form></tr></table><%calKCH=request.Form("calKCH") calKCM=request.Form("calKCM") calKKXQ=request.Form("calKKXQ") calXS=request.Form("calXS")calXF=request.Form("calXF")if request.Form("edit")="新增" then
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年开封市通许县三年级数学第一学期期末试题含解析
- 2025-2026学年江苏省南通市海安市白甸镇数学三上期末教学质量检测试题含解析
- 2024年湖南省衡阳市数学三上期末达标检测试题含解析
- 自考行政管理基本知识试题及答案
- 行政法学的现实意义探讨试题及答案
- 执业护士考试变革适应能力试题及答案
- 护理沟通技巧试题及答案分类
- 护士职业发展试题及答案建议
- 行政决策中的数据化应用实例的试题及答案
- 自考行政管理多元化管理试题及答案
- 机械制造技术-机械加工工艺
- 供货组织措施及供货方案
- 商誉声明文件
- 小学道法二 将改革开放进行到底课件
- 第14课 背影 课件(共26张ppt)
- 健身房运营总体策划方案
- 销售基础编码规则模板
- 水电安装施工组织设计施工组织设计
- 2023年陕西普通高中学业水平考试通用技术试题
- 快递员(初级)理论培训考试题库600题(含答案)
- 中西医执业医师《第二单元》模拟试题卷一(精选)
评论
0/150
提交评论