首页 基于Web的学生成绩网上查询系统

基于Web的学生成绩网上查询系统

举报
开通vip

基于Web的学生成绩网上查询系统《大型数据库》课程设计课题基于Web的学生成绩网上查询系统班级姓名学号成绩2011年12月8日第1页共20页目录第一节概述.....................................................................................................................31、课题名称..............................................................................

基于Web的学生成绩网上查询系统
《大型数据库》课程设计课题基于Web的学生成绩网上查询系统班级姓名学号成绩2011年12月8日第1页共20页目录第一节概述.....................................................................................................................31、课题名称..............................................................................................................32、背景说明..............................................................................................................33、编写目的..............................................................................................................34、开发环境..............................................................................................................3第二节需求分析..............................................................................................................41、分析的重要性.......................................................................................................42、需求分析的任务和过程.......................................................................................43、数据流程图..........................................................................................................54、数据字典..............................................................................................................5第三节概念结构设计.......................................................................................................71、实体和属性之间的关系.........................................................................................72、E-R图..................................................................................................................7第四节逻辑结构设计.......................................................................................................81、E-R图向关系模型的转换......................................................................................82、设计用户子模式...................................................................................................8第五节数据库物理设计...................................................................................................81、数据库安装与配置..............................................................................................82、连接到oracle10g...............................................................................................93、SQL脚本...........................................................................................................10第六节数据库的实施.....................................................................................................121、触发器..............................................................................................................122、游标.................................................................................................................13第七节系统部分模块演示..............................................................................................151、登陆模块............................................................................................................152、恢复以及彻底删除模块.......................................................................................17第八节课程设计小结.....................................................................................................19附言...............................................................................................................................20第2页共20页第一节概述1、课题名称Oracle大型数据库课程设计----------------------基于Web的学生成绩网上查询系统2、背景说明基于Web的学生成绩网上查询系统本系统采用apache2+php5+oracle10g方式开发。众所周知,PHP,是英文超级文本预处理语言HypertextPreprocessor的缩写。PHP是一种HTML内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛的运用。而oracle是目前最流行的关系型数据库管理系统,被越来越多的用户在信息系统管理、企业数据处理、internet、电子商务网站等领域作为应用数据的后台处理系统,其中oracle10g较之前的版本有了较大的飞跃,管理上有了极大的简化。所以本系统集两者之优点,相辅相成,最终构成具有登陆、查询、插入、删除等功能的成绩查询系统。3、编写目的Php/oracle学生成绩管理系统是一个用php实现的简单的网上学生成绩管理系统。使用OCI端口来访问后台数据库,包含学生信息的查询界面,学生信息的录入、修改、删除界面,学生成绩课程的录入界面。4、开发环境操作系统windowsxpsp3数据库系统oracle10g代码编译软件EclipsePHPStudiov1.2.2第3页共20页第二节需求分析1、分析的重要性需求分析就是分析软件用户的需求是什么。如果投入大量的人力,物力,财力,时间,开发出的软件却没人要,那所有的投入都是徒劳。如果费了很大的精力,开发一个软件,最后却不满足用户的要求,从而要重新开发过,这种返工是让人痛心疾首的。(相信大家都有体会)比如,用户需要一个forlinux的软件,而你在软件开发前期忽略了软件的运行环境,忘了向用户询问这个问题,而想当然的认为是开发forwindows的软件,当你千辛万苦地开发完成向用户提交时才发现出了问题,那时候你是欲哭无泪了,痕不得找块豆腐一头撞死。2、需求分析的任务和过程简言之,需求分析的任务就是解决“做什么”的问题,就是要全面地理解用户的各项要求,并准确地 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 达所接受的用户需求。需求分析阶段的工作,可以分为四个方面:问题识别,分析与综合,制订规格说明,评审。问题识别就是从系统角度来理解软件,确定对所开发系统的综合要求,并提出这些需求的实现条件,以及需求应该达到的标准。这些需求包括:功能需求(做什么),性能需求(要达到什么指标),环境需求(如机型,操作系统等),可靠性需求(不发生故障的概率),安全保密需求,用户界面需求,资源使用需求(软件运行是所需的内存,CPU等),软件成本消耗与开发进度需求,预先估计以后系统可能达到的目标。分析与综合逐步细化所有的软件功能,找出系统各元素间的联系,接口特性和设计上的限制,分析他们是否满足需求,剔除不合理部分,增加需要部分。最后,综合成系统的解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 ,给出要开发的系统的详细逻辑模型(做什么的模型)。制订规格说明书即编制文档,描述需求的文档称为软件需求规格说明书。请注意,需求分析阶段的成果是需求规格说明书,向下一阶段提交。评审对功能的正确性,完整性和清晰性,以及其它需求给予评价。评审通过才可进行下一阶段的工作,否则重新进行需求分析。第4页共20页3、数据流程图开始登录系统否是是否为管理员查询自己的成绩查看所同学成绩添加学生信息删除指定学生信息登录后进入首页登录后进入首页输入相关信息显示所有同学返回首页显示自身成绩成绩查看恢复被删除信息永久删除信息结束4、数据字典数据流图表达了数据和处理的关系,数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典中的内容在数据库设计过程中还要不断修改、充实和完善。一般来说数据字典中应包括对以下几部分数据的描述:(1)数据项数据项是数据的最小单位,对数据项的描述应包括:数据项名、含义、别名、类型、长度、取值范围以及与其数据项的逻辑关系。第5页共20页(2)数据结构数据结构是若干数据项有意义的集合。对数据结构的描述应包括:数据结构名、含义说明和组成该数据结构的数据项名。(3)数据流可以是数据项,但更一般的情况下是数据结构,表示某一处理过程的输入或输出数据。对数据流的描述应包括:数据流名、说明、从什么处理过程来,到什么处理过程去以及组成该数据流的数据结构或数据项。(4)数据项、数据结构、数据流的描述也可以用若干图表来定义。下面用图表来表示数据字典。学生表字典列名数据类型长度是否允许为空值默认值说明列名含义Snovarchar20×null主键学号Snamenvarchar210×null姓名Ssexnvarchar22×null男或女性别Spwvarchar10×null密码Sclassvarchar10√null班级Sdeptvarchar20√null系别课程表字典列名数据类型长度是否允许为空值默认值说明列名含义Cnovarchar10×null主键课程号Cnamenvarchar210√null课程名成绩表字典列名数据类型长度是否允许为空值默认值说明列名含义Snovarchar20×null外键学号Cnovarchar10×null外键课程号Marknvarchar210√null成绩第6页共20页第三节概念结构设计1、实体和属性之间的关系设计概念结构通常有自顶向上、自底向上,逐步扩张、混合策略4类方法。下面以自顶向下需求分析设计概念结构为例:需求需求1需求n需求1.1需求1.2需求n.1需求n.22、E-R图学生M选课成绩N课程第7页共20页第四节逻辑结构设计1、E-R图向关系模型的转换学生表student:(学号,姓名,性别,密码,班级,系别);课程表course:(课程号,课程名);成绩表score:(学号,课程号,成绩);2、设计用户子模式学生表student:(学号,姓名,性别,密码,班级,系别);第五节数据库物理设计1、数据库安装与配置安装配置:前提已经成功安装oracle10g安装搭建apache与php环境(1)Apache官方下载地址:http://mirror.vmmatrix.net/apache/httpd/binaries/win32/apache_2.0.55-win32-x86-no_ssl.msi下载完成后,运行安装程序进行安装即可。安装方法简单,详细安装步骤在此不做赘述。安装完成后,在浏览器地址栏中输入http://localhost/即可见到安装成功页面。需要注意的是,apache默认的网站根目录为“d:/Apache2/htdocs/”。(2)Php官方下载地址:http://cn2.php.net/get/php-5.0.5-Win32.zip/from/cn.php.net/mirror将下载后得到的压缩包解压,如解压到D:\php。查看解压缩后的文件夹内容,找到“php.ini-dist”文件,将其重命名为“php.ini”,打开编辑,找到下面图中的地方,有一个“register_globals=Off”值,这个值是用来打开全局变量的,比如表单送过来的值,如果这个值设为“Off”,就只能用“$_POST['变量名']、$_GET['变量名']”等来取得送过来的值,如果设为“On”,就可以直接使用“$变量名”来获取送过来的值,当然,设为“Off”就比较安全,不会让人轻易将网页间传送的数据截取。第8页共20页2、连接到oracle10g(1)安装oracle客户端。在网上搜索并下载instantclient_11_2,下载成功后,把得到的压缩包文件解压到某目录下,如“d:\instantclient_11_2”,并在系统环境变量中添加该路径,将目录下的oci.dll,ocijdbc10.dll和ociw32.dll三个dll文件复制到oracle10g安装目录下的bin文件夹内。(2)打开php安装目录下的php.ini文件,进行编辑。找到以下三个dll文件:;extension=php_oci8.dll;extension=php_pdo_oci.dll;;extension=php_pdo_oci8.dll并去掉其前面的“;”,重启apache,将上述三个dll文件复制到c:\windows\system32中。(3)利用OCI端口访问oracle10g。OCI,即OracleCallInterface,为oracle调用接口,它提供了一组可对oracle数据库进行存取的接口子例程(函数),通过在第三代程序设计语言(如C第9页共20页语言)中进行调用可达到存取oracle数据库的目的。下面给出在php中利用OCI端口登录oracle的核心代码:3、SQL脚本/*创建表空间*/CreatetablespaceORACLE_OBJECTdatafile’D:\wamp\www\OracleObject\data\db\ORACLE_OBJECT’size10M;/*创建student学生表*/createtablestudent(snovarchar(20)notnullprimarykey,snamenvarchar2(10)notnull,ssexnvarchar2(2)notnull,spwvarchar(10)notnull,sclassvarchar(10),sdeptvarchar(20))tablespaceoracle_object;/*创建student备份表*/createtablestudent_bakasselect*fromstudentwhere1=2;insertintostudent_bakselect*fromstudent;/*创建course课程表*/createtablecourse(cnovarchar(10)notnullprimarykey,cnamenvarchar2(10)第10页共20页)tablespaceoracle_object;/*创建score成绩表*/createtablescore(snovarchar(20)notnullconstraintscore_fk_studentreferencesstudent(sno),cnovarchar(10)notnullconstraintscore_fk_coursereferencescourse(cno),marknvarchar2(10))tablespaceoracle_object;/*创建score备份表*/createtablescore_bakasselect*fromscorewhere1=2;insertintoscore_bakselect*fromscore;/*student恢复表,当删除student表中数据时,触发器student_del自动保存被删除数据到student_log表中*/createtablestudent_logasselect*fromstudentwhere1=2tablespaceoracle_object;第11页共20页第六节数据库的实施1、触发器/*触发器score_del_student,当删除student表中数据时,自动删除score表中该学生的所有成绩*/createorreplacetriggerscore_del_studentbeforedeleteonstudentforeachrowbegindeletefromscorewherescore.sno=:old.student.sno;end;/*触发器student_del,当删除student表中数据时,自动保存student表中被删学生信息到student_log中*/createorreplacetriggerstudent_delbeforedeleteonstudentforeachrowbegininsertintostudent_logvalues(:old.sno,:old.sname,:old.ssex,:old.spw,:old.sclass,:old.sdept);end;/*触发器student_log_del,当恢复student_log的值到student表中时,自动删除student_log原值,保持数据一致性*/createorreplacetriggerstudent_log_delafterinsertonstudentforeachrowbegindeletefromstudent_logwheresno=:new.sno;end;/*触发器in_score_log,当score表中被删除数据时,自动保存被删除数据到score_log中,以备恢复*/第12页共20页createorreplacetriggerin_score_logbeforedeleteonscoreforeachrowbegininsertintoscore_logvalues(:old.sno,:old.cno,:old.mark);end;/*触发器student_log_del,当恢复score_log的值到score表中时,自动删除score_log原值,保持数据一致性*/createorreplacetriggerscore_log_delafterinsertonscoreforeachrowbegindeletefromscore_logwheresno=:new.sno;end;2、游标游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。游标的作用就是用于临时存储从数据库中提取的数据块。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率。declarecursorc_studisselect*fromstudentorderbysnoasc;stud1student%rowtype;beginopenc_stud;dbms_output.put_line('学号姓名性别密码班级系别');loopfetchc_studintostud1;第13页共20页exitwhenc_stud%notfound;dbms_output.put_line(stud1.sno||''||stud1.sname||''||stud1.ssex||''||stud1.spw||''||stud1.sclass||''||stud1.sdept);endloop;closec_stud;end;第14页共20页第七节系统部分模块演示1、登陆模块登陆页面为login.php,其功能包括:检查属否输入数据,用户名以及密码核对,重置所输内容,跳转到登录后页面。登陆界面代码如下:UserLogin用户名:第15页共20页密码:  登陆逻辑代码如下:location.href='list.php';";第16页共20页}else{$_SESSION['id']='1';echo"location.href='list.php';";}}?>效果图如下:2、恢复以及彻底删除模块恢复以及彻底删除模块为back.php,其主要的功能是显示在show.php中被删除的学生信息,并对被删除的信息进行恢复操作或者是彻底删除操作。其实现代码如下:alert('对不起,您无权访问本页面!');";echo"location.href='login_out.php';";}?>
第17页共20页学号姓名性别班级系别操作">恢复/"onclick="returnconfirm('警告!此操作不可逆!');">彻底删除第18页共20页第八节课程设计小结这是我大学三年以来,第一个完完全全自己亲手制作的课程设计,完工之时,感慨良多。我现在终于发现,把所学到的知识,运用到实际当中,这个过程是如此的美妙,我如同一个工匠,敲敲打打的完成了一个属于我自己的工艺品,纵然这个工艺品满目瑕疵,不尽人意,但是对我来说,却散发出异样的光芒。课程设计的制作过程中,我遇到了许多从未谋面的问题。这些问题或复杂或简单,或迷茫或清晰,其中给我留下印象最深的便是如何用php5连接oracle10g了。最初,我使用的是实验课所用的oracle9i数据库,那时对oracle了解甚浅,现在固然也是,不过连一点头绪都没有,真是无从下手,不仅是oracle,php也是刚刚接触,可以说两者都是从零开始,不过没有关系,网络之大,有足够的学习资源,世上无难事只怕有心人,经过了一个星期的基础训练,我也大概对php有了一定的了解,通过视频的讲解,写出了php+mysql的登陆模块,成就感油然而生。以这个模块为依据,我开始转向php+oracle,问题出现了,不管我怎么调试,怎么修改,php5就是不能连接上oracle9i,百度,google都被我翻了个遍,用尽了所有的办法,还是徒劳无功。这种情形僵持了三天,这三天每天起床到睡觉也就想着这一个事情。第三天,我在网上无意间看到一个人的博客,上面道出了天机,原来php5已经抛弃了oracle9i,已经不支持oracle9i的调用端口了!唉,事已至此,也只能换数据库了。于是我果断安装了oracle10g数据库,页面上终于出现了登陆成功的字样,欣喜之情浮于脸上。这还仅仅是刚刚开头,如何构建数据库,建表,完整性约束以及一个系统应该如何搭建,流程图、E-R图、需求分析等等,都是我不曾接触到的问题,这也验证了那句话:“没文化,真可怕”。要说这个课程设计留下的遗憾之处,就是夭折的“信息修改模块”以及“重构登陆界面”了。在最初的需求分析时,我是准备建立一个“信息修改模块”的,但是做到后来,中间因为班级和自身事情的打断,课程设计耽误了一段时间,等到回头再来做课程设计之时,发现已经力不从心,毫无头绪了。虽然尝试了几次,但发现需要解决的问题很多,不容易实现,而且即便是实现了,可能也不是一种可取的办法,所以无奈,只能扼杀掉了这个模块,使得系统暗淡了许多。其次就是“重构登陆界面”,在系统制作的后期,系统基本成型之时,我想到,系统功能虽能较好的实现,但是界面实在让人不敢恭维。于是又日夜加班,从零开始学习起了CSS+DIV的网页布局。“冰冻三尺非一日之寒”,速成的效果果然不是那么第19页共20页理想,几经周折,还是无法达到预期的效果。不过还是有些意外收获,我了解了CSS+DIV的布局概念,美化了系统的整体界面,这也算是对我的一点小小的欣慰吧。路漫漫其修远兮,吾将上下而求索。通过这次课程设计的制作,我真真切切的了解到了什么是“书到用时方恨少”,什么叫“纸上得来终觉浅,绝知此事要躬行”。遥想仲谋当年,九岁便能独挡一面,博学多才,只身进入弑父仇人刘表军营之内,仍然大气巍然,睿智逼人,多少年后的今天,我们过着比前人好着千倍,百倍的生活,求学的劲头却也是日渐衰弱,不足道尔了。不过话又说回来,即便是一时勤奋,不续坚持,纵然有着学富五车,才高八斗的学问,到头来也只能落的个泯然众人矣。总结起来便是一句话:“理想是引路的灯塔,勤奋是前进的船桨,不过倘若没有坚持的桨舵,也只能驶向无尽的深渊”。附言参考文献:[1]王珊,萨师煊,《数据库系统概论(第四册)》,北京:高等教育出版社。[2]姜林美,《PHP+MYSQL动态网站开发从基础到实践》,北京:电子工业出版社。[3]丛书编委会,《Oracle数据库管理与应用》,北京:中国电力出版社。[4]麦克拉夫林(McLaughlin.M),赵利通(译),《AJAX+PHP+Oracle数据库Web开发》,北京:清华大学出版社。第20页共20页
本文档为【基于Web的学生成绩网上查询系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥14.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
慢慢文档
8年外贸单证以及相关的工作经验
格式:pdf
大小:368KB
软件:PDF阅读器
页数:20
分类:
上传时间:2023-04-17
浏览量:58