Oracle课程设计——学生信息系统_第1页
Oracle课程设计——学生信息系统_第2页
Oracle课程设计——学生信息系统_第3页
Oracle课程设计——学生信息系统_第4页
Oracle课程设计——学生信息系统_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、苏州市职业大学课程设计说明书名称学生信息系统20112011年6 6月1313日至20112011年6 6月1717日共1 1周院系班级_姓名_系主任-教研室主任 _指导教师 _目录目 录 .2.一、课程设计的目的与要求 .3.二、题目说明 .3.2.1程序开发背景 3.2.2开发工具介绍 4.三、总体设计 .4.3.1 系统流程图: .4.3.2功能结构图: 5.3.3数据库设计: 6.概念设计 .6.数据库实现 .7.四、详细说明 .8.4.1 系统实施 .9.五、遇到的问题和解决方法 .1.6六、课程设计总结 .1.7.七、参考文献 .1.8.课程设计的目的与要求程序设计是公认的、最能直

2、接有效地训练学生的创新思维,培养分析问题、解决问题 能力的学科之一。即使一个简单的程序,从任务分析、确定算法、界面布局、编写代码到 调试运行,整个过程学生都需要有条理地构思,这中间有猜测设想、判断推理的抽象思维 训练,也有分析问题、解决问题、预测目标等能力的培养。本实践课的主要目的是:(1)掌握运用管理系统及数据库原理知识进行系统分析和设计 的方法;(2)掌握关系数据库的设计方法;(3)掌握SQL Server 2000 技术应用;(4)掌握简单的数据库应用程序编写方法;要求:熟悉掌握并灵活运用简单数据库,分析数据库的基本运行步骤。要求正确理解课题,考虑问题要细致,全面,解决问题的方法要科学合

3、理,切合实际。并能上机实现。与指导教师交流学习经验,改正不合理的地方,为以后更深层次的概念设计与逻辑设计奠 定坚实的基础。二、题目说明随着学校规模的不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增加。面 对庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的效率。通过这样的系 统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。现 在的时代是网络普及是时代,学生有条件通过网络方便快捷的查询自己的个人信息。所 以,学生信息管理系统既能方便学校管理部门的管理,又能方便学生及时查询个人信息。从自己学习的角度来说:这次系统的制作过程,无疑加深了自身对这门课理论知识的

4、 理解,大大提高了理论知识的应用水平,而且增强动手能力,可以说是为毕业设计做了很 好准备。面对以后强大的就业压力,没有熟练的动手能力,光有满脑袋的理论是不行的, 因此本次设计显得十分重要。2.1程序开发背景当今时代,世界经济正在从工业经济向知识经济转变。我们说知识经济的两个重要特 征就是信息化和全球化,要实现信息化和全球化,就必须依靠完善的网络和完善的数据 库。在这样一个飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广 泛应用于管理信息系统的环境。使用计算机进行信息控制,不仅提高了工作效率,而且大 大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算

5、机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。所以,数据库的应用变得越来越广泛,学习也是越来越深入,优良的数据库设计已经非常需 要,本程序即是基于这个目的而创建。2.2开发工具介绍Oracle 中的 SQL * PLUS三、总体设计3.1.系统流程图:系统流程图主要描述出了系统在工作时候的大致情况,通过这个图我们可以很容易的了解系统工作时的大致情况,具体如图3.1所示。图3.1系统工作流程图年级信息管理成 绩 信 息 管 理课 程 信 息 管 理查 询 管 理3.2功能结构图:为了实现无纸化办公,以及规范化,迅捷化等我们开发了这一学生成绩管理系统,系统主要需要完成的功

6、能有:学校信息管理、教师信息管理、学生性息管理、课程性息管理、成绩性息编辑、成绩性息查询、补考重修管理以及帮助说明,通过分工我要完成的是教师性息管理、课程性息管理以及补考重修管理三个模块。整体功能模块图如图3.2所示:学生信息管理系统图3.2整体功能模块图3.3数据库设计:概念设计E-R图是用来描述某一组织(单位)的概念模型,提供了表示实体、属性和联系的方法。构 成E-R图的基本要素是实体、属性和关系。实体是指客观存在并可相互区分的事特;属性 指指实体所具有的每一个特性。使用E-R图能过更简洁更方便的了解整个系统。本课程设计中学生信息管理系统的实体E-R图如下:1、学籍信息表E-R图如图3.3

7、.1所示:图 3.3.1E-R 图学校4、学生信息管理总体 E-R图如图334所示:班级数据库实现1成绩信息表:学号,姓名,课程编号,课程名称,成绩,学分,班级,专业。表3.3.5成绩信息表列名数据类型大小允许空学号Char(20)否姓名Char(20)是课程编号Char(20)是课程名称Char(20)是成绩Char(8)是学分Char(10)是班级Char(50)是专业Char(20)是2.年级信息数据表:年级数,年级编号,班级编号,班级名称 表3.3.6年级信息表列名数据类型大小允许空年级数Char(20)否年级编号Char(20)是班级编号Char(20)是班级名称Char(20)是3

8、.xueshe ng_xin xi表:姓名,学号,性别,出生日期,专业表3.3.7学生信息表列名数据类型大小允许空姓名Char(20)学号Char(20)是性别Char(20)是出生日期Char(20)是专业Char(8)是四、详细说明学生信息管理系统包括班级信息管理、学籍信息管理、班级信息管理、成绩信息管 理、课程信息管理、查询管理六大块,学籍信息管理包括了班级信息管理,成绩信息管理 包括了成绩信息管理,课程信息管理包括了课程信息管理和年级课程开设两块,查询管理 包括了班级信息查询,课程信息查询,成绩信息查询以及学籍信息管理。学校年级设置主要就是对于学校里的年级的设置,学籍信息设置主要是针对

9、于学生们 的学籍的管理班级信息管理主要是针对于班级信息的设置成绩信息设置主要是针对于学生 们的成绩,课程信息设置主要是针对于课程的一些基本信息管理,年级课程开设主要是针 对于一些课程开设的时间,而查询这一块主要就是各种的查询,类如班级信息,课程信息 等一些基本信息的查询都是由这一块完成的。我主要做的是学生信息(xuesheng_xinxi )表这部分的内容。4.1系统实施1)在进行操作之刖必须创建表,此 xueshe ng_xi nxi表的过程为:SQLSQL createcreate tabletable xueshengxinxixueshengxinxi2 2 ( ( - -Char(2

10、0)Char(20) notnot nullnull constraintconstraint pk_pk_学号 prinaryprinary keykey Char(&)Char(&) notnot nullnull, ,char(2)char(2) notnot nullnullT Tdatedate notnot nullnullchar(S0)char(S0) notnot null,null,CharChar notnot nullnull表己创建。2 )表数据的插入:insert into xueshe ng_xin xi ( values(1001101620004, 工程)学号

11、,姓名,性别,出生日期,班级,专业)刘继桧,男,to_date(19841125,yyyymmdd),100110162,软件5 5insert into xueshe ng_xin xi ( values(1001101620005, 程)学号姓名,性别,出生日期,班级,专业)张三,男,to_date(19860516,yyyymmdd),100110162,软件工5 5insert into xueshe ng_xin xi ( values(1001101620006, 程)学号姓名,性别,出生日期,班级,专业)李四,女,to date(19840426,yyyymmdd),100110

12、162,软件工5 5insert into xueshe ng_xin xi (values(1001101620007, 程)学号姓名,性别,出生日期,班级,专业)王五,男,to date(19850709,yyyymmdd),100110162,软件工5 5insert into xueshe ng_xin xi ( values(1001101620008,学号姓名,性别,出生日期,班级,专业)孙六,男,to_date(19870816,yyyymmdd),100110162,软件工程)3)查询表数据记录:SQLSQL selectselect * * fromfrom xuesheng

13、xuesheng xinxi;xinxi;学号姓名性出生日期班级专业16011016200041601101620004100110162100110162刘继栓男男25-1125-11月-抽软件工程10011016280051001101628005100119162100119162张三男男戈月-86-86软件工程16011916200061601191620006100110162100110162李四女2121月-84-84软件工程学号姓名性出生日期班级专业100110162000710011016200071D01181621D0118162主五男男M M月-85-85软件工程1OQ

14、110162G0081OQ110162G008100110162100110162孙六男男3月-87-87软件工程4)表数据的更改及更改后的显示结果:SQLSQL deletedeleteFromFrom xuesheng.xuesheng.xinxixinxi wherewhere 学号9118162000491181620004已删除1 1行。SQLSQL selectselect * * fromfrom xuestieng_xinxi;xuestieng_xinxi;学号姓名性出生日期班级专业10011016200051001101620005100110162100110162张三男

15、佃月-86-86软件工程10011S16200Q610011S16200Q6100110162100110162李四女267267月*软件工程10011016200071001101620007100110162100110162王五男观T月-85-85软件工程学号姓名性出生日期班级专业10011816200081001181620008100110162100110162孙六男佃祐月-87-87软件工程5 )创建函数过程:SQLSQL CREATECREATE DRDR REPLACEREPLACE FUNCTIONFUNCTION countcount numnum2 23 3却(i i叮

16、性别 inin charchar)ReturnReturn numbernumberAsAs5 5 j j6 6tt 7 7Dut_numDut_num numbernumber; BEGINBEGINIFIF in_in_性别J J另* t t伽8 89 91010111112121313 仙1515SelectSelect countfcountf性别)IntoInto outnumoutnumFromFrom xueshengxinxixueshengxinxiWhereWhere性别男;ELSEELSESelectSelect countcount(性别)intointo out_nu

17、nout_nunFromFrom xueshengxinxixueshengxinxiWhereWhere性别女; ENDEND IF;IF;16161717RETURNRETURN (out_nunout_nun); ; ENDEND count_num;count_num;1818/ /函数己创建。6)现行的DBMS 般都提供了多种存取方法,其中,最常用的是索引法。索引法是为了 加速对表中的数据行的检索而创建的一种分散的存储结构。是针对一个表而建立的,它能 够以一列或多列的值为关键字,迅速查找/存取表中行数据加快了数据检索。建立索引:CREATE INDEX NAME4. 学生表 ” ON

18、 XUESHENG_XINXI(学号,姓名,性别,出生日期,班级,专业”)SQLSQL CREATECREATE INDEXINDEX ,NAMENAME, , 学生表OHOH XUESHEHGXUESHEHG XINXIXINXI2 2( _ _3 3“学号姓名J “性别S “出生日期J 班级S 专业 h h )9 9 : :,学号姓名J 性别“岀生日期“班级J “专业”* *ERRORERROR位于第3 3行二ORft-0108ORft-0108:此?I I列表已盍引SQLSQL CREATECREATE IHDEHIHDEH学生倍息” ONON MHEUESHEKMHEUESHEK XI

19、HXIXIHXI11112 2 SDL selectselect学号解闘魁日亂癥制2 2 FromFrom xueshengxuesheng rinxirinxi3 3血聊協片勇;性IMIM专业1H1W20H*1H1W20H*100110162100110162另2 2汕月啾16011916200051601191620005100119162100119162牢三另-86-86mi1001101620007100110162000711111911211111911211另IHIH月月-85-85H H M M11011016201111101101620111100110162100110

20、162另1616 8 8月-87-878)创建触发器:createcreate oror replacereplace triggertrigger xuehaoxuehaobeforebefore insertinsert oror updateupdate ofof 学号 onon xuesheng_xinxixuesheng_xinxi ForFor eacheach rowrowwheriwheri (new.new.学号19011016200061901101620006)beginbegindbdbnSnSutpututput,put_lineCput_lineC, , 生的学号是

21、T T I I訓曲学号1 11 1 ,为班级的尾号 );); endend; ;9)创建程序包:CREATE OR REPLACE PACKAGE xueshe ngPackage AS PROCEDURE Retur n 学号(p_姓名 xuesheng.姓名 TYPE,p_性别 xuesheng.性别 %TYPE,p_Return 学号 OUT xuesheng.学号 %TYPE );PROCEDUREPROCEDURE ReturnReturnINTOINTO广 riri 学号ENDxueshengPackage;SpLSpL CREATECREATE OR OR REPLftCEREP

22、LftCE PACKAGEPACKAGE xueshengPackagexueshengPackage AS AS2 2PROCEDUREPROCEDURE ReturnReturn学申3 3名 xuesheng.tTVPE,xuesheng.tTVPE,4 4p_p_怪别xueshengxuesheng: :ttiWPEttiWPET T5 5pjeturnpjeturn号 OUTOUT xuesheng.xuesheng.:号*TYPETYPE ); );i i ENDEND xueshengPackage;xueshengPackage;程序配魄创建程序包主体:CREATE OR REP

23、LACE PACKAGE BODY xueshe ngPackage AS PROCEDURE Return 学号(p_姓名 xuesheng.姓名 TYPE, p_性别 xuesheng.性别 %TYPE, p_Return 学号 OUT xuesheng.学号 %TYPE ) ISBEGINSELECT 学号INTO p_Return 学号FROM xueshe ngWHERE 性另【J = p_性另【JAND姓名=p_姓名;END Return 学号;END xueshe ngPackage;SQLSQL CREATECREATE OROR REPLftCEREPLftCE PACKAG

24、EPACKAGE BODVBODV MuehengPackagpMuehengPackagp ASAS3 3 p p姓启血nq-nq-姓呂査TPE*TPE*心 P_P_性别xueshengxuesheng 别鬼 TYPE.TYPE.5 5pReturnpReturn学号 OUTOUT xuesheng.xuesheng.号需TYPETYPE ) )6 6ISIS1 1 REGINREGINS S SELECTSELECT 学号1010FROMFROM1111tilltill EREERE 性刘 p_p_性别1212朋。姓名=1313ENDEND RotumRotum学号;ENDEND xues

25、hengPaickage;xueshengPaickage;程序包主体己创建。10)创建视图: SJLSJL createcreate or or replacereplace uieuuieu xueshengxindxueshengxind kc kc2as as3selectselect学号,姓名,性别,出生日輒册瓠专业秤饷xueshengxuesheng xinxi;xinxi;I I观图己创惠11)连接查询:|SQL|SQL SelectSelect xuesheng_xinxixuesheng_xinxi 绩信息表成绩2 2FromFrom xueshenginxixuesheng

26、inxi绩信息表3 3;12 )创建存储过程用于统计学生信息:SQLSQL createcreate oror replacereplace procedureprocedure countcount xtxt)2 2(xbxb inin cliar,cliar, person_nunperson_nuSQL createcreate useruser xueshengxuesheng identifiedidentified byby oracle;oracle;用户己仓I I健SQLSQL createcreate rolerole xueshengrolexueshengrole ide

27、ntifiedidentified byby oracle;oracle; 角色己创建14)数据的导入导出:S1|口| x|BETURN nane4nane4RETURN导导导导导导导导导导导导 枣攵克枣冬克枣芬克枣芬或 000005005003000005005003称名 乍库 赫数型 捕函类 过: P14P14 4 4 _ _ 51霭犍环导出的用户;户,- 的的二 巒护库KIKI表表表表表ININ息香心J J忘财信嘗数NGNG备绩警心rere户户E E4 4SBSB M表表表表表表表表表表表P P用用M M数SNSN出岀出 . . 岀出岀N N出出岀出导导导 导导导岀导导导导在在在 在在在

28、导在在在将正正正 正正正将正正正即P.五、遇到的问题和解决方法1)在创建存储过程来统计学生信息时出现编译性错误:性 能动图 “整型功醍志列和 的符3第类老日队组 义曙算用督剧体照业朗后P P统的导岀出出出岀出出出岀出岀岀出出出出告 忙导导导00导1|1|导导导导导导导1_=1_= 正在在在在在在在在在在在在在在在在有 -正正正正正正正正正正正正正正正正没DocunentsDocunents andand SettSett mgsmgs studen1:studen1:J Ji iSQLSQL createcreate oror replacereplace procedureprocedure

29、 counlxbcounlxb2 2(xb(xb inin char,char, personnumpersonnum outout number)number)3 3asas4 4beginbegin5 5selectselect countCcountC性别)b b intointo person_numperson_num FroinFroin xmesheng_xinxixmesheng_xinxi wtieref4lj=xb;wtieref4lj=xb; 7 7 endend countcount xb;xb;警告;创建的过程带有编译错误。解决方案:将第6行的“性别”改为“ xb ”

30、,此时属性值一致,程序顺利运行。2 )编译过程错误:SQLSQL createcreate oror replacereplace triggertrigger xuehaoxuehao2 2afterafter insertinsert onon xueshengxuesheng xinixini ForFor eacheach rourou3 3declaredeclare却 currentcurrent xuehaoxuehao char;char;5 5beginbegin6 6selectselect countf*)countf*) intointo currentxuehaacurrentxuehaa fromfrom xuAShengxinxixuAShengxinxi1 1 iFfcurrentiFfcurrent xuehaoxuehao 1SO1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论