Oracle课程设计学生信息系统.docx

上传人:b****5 文档编号:29027198 上传时间:2023-07-20 格式:DOCX 页数:20 大小:653.92KB
下载 相关 举报
Oracle课程设计学生信息系统.docx_第1页
第1页 / 共20页
Oracle课程设计学生信息系统.docx_第2页
第2页 / 共20页
Oracle课程设计学生信息系统.docx_第3页
第3页 / 共20页
Oracle课程设计学生信息系统.docx_第4页
第4页 / 共20页
Oracle课程设计学生信息系统.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

Oracle课程设计学生信息系统.docx

《Oracle课程设计学生信息系统.docx》由会员分享,可在线阅读,更多相关《Oracle课程设计学生信息系统.docx(20页珍藏版)》请在冰豆网上搜索。

Oracle课程设计学生信息系统.docx

Oracle课程设计学生信息系统

大学

课程设计说明书

名称学生信息系统

2011年6月13日至2011年6月17日共1周

院系

班级

姓名

系主任

教研室主任

指导教师

一、课程设计的目的与要求

程序设计是公认的、最能直接有效地训练学生的创新思维,培养分析问题、解决问题能力的学科之一。

即使一个简单的程序,从任务分析、确定算法、界面布局、编写代码到调试运行,整个过程学生都需要有条理地构思,这中间有猜测设想、判断推理的抽象思维训练,也有分析问题、解决问题、预测目标等能力的培养。

本实践课的主要目的是:

(1)掌握运用管理系统及数据库原理知识进行系统分析和设计的方法;

(2)掌握关系数据库的设计方法;(3)掌握SQLServer2000技术应用;(4)掌握简单的数据库应用程序编写方法;

要求:

熟悉掌握并灵活运用简单数据库,分析数据库的基本运行步骤。

要求正确理解课题,考虑问题要细致,全面,解决问题的方法要科学合理,切合实际。

并能上机实现。

与指导教师交流学习经验,改正不合理的地方,为以后更深层次的概念设计与逻辑设计奠定坚实的基础。

二、题目说明

随着学校规模的不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增加。

面对庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的效率。

通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。

现在的时代是网络普及是时代,学生有条件通过网络方便快捷的查询自己的个人信息。

所以,学生信息管理系统既能方便学校管理部门的管理,又能方便学生及时查询个人信息。

从自己学习的角度来说:

这次系统的制作过程,无疑加深了自身对这门课理论知识的理解,大大提高了理论知识的应用水平,而且增强动手能力,可以说是为毕业设计做了很好准备。

面对以后强大的就业压力,没有熟练的动手能力,光有满脑袋的理论是不行的,因此本次设计显得十分重要。

2.1程序开发背景

当今时代,世界经济正在从工业经济向知识经济转变。

我们说知识经济的两个重要特征就是信息化和全球化,要实现信息化和全球化,就必须依靠完善的网络和完善的数据库。

在这样一个飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于管理信息系统的环境。

使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。

尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。

计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。

所以,数据库的应用变得越来越广泛,学习也是越来越深入,优良的数据库设计已经非常需要,本程序即是基于这个目的而创建。

2.2开发工具介绍

Oracle中的SQL*PLUS

三、总体设计

3.1.系统流程图:

系统流程图主要描述出了系统在工作时候的大致情况,通过这个图我们可以很容易的了解系统工作时的大致情况,具体如图3.1所示。

图3.1系统工作流程图

 

3.2功能结构图:

为了实现无纸化办公,以及规范化,迅捷化等我们开发了这一学生成绩管理系统,系统主要需要完成的功能有:

学校信息管理、教师信息管理、学生性息管理、课程性息管理、成绩性息编辑、成绩性息查询、补考重修管理以及帮助说明,通过分工我要完成的是教师性息管理、课程性息管理以及补考重修管理三个模块。

整体功能模块图如图3.2所示:

 

图3.2整体功能模块图

 

3.3数据库设计:

概念设计

E-R图是用来描述某一组织(单位)的概念模型,提供了表示实体、属性和联系的方法。

构成E-R图的基本要素是实体、属性和关系。

实体是指客观存在并可相互区分的事特;属性指指实体所具有的每一个特性。

使用E-R图能过更简洁更方便的了解整个系统。

本课程设计中学生信息管理系统的实体E-R图如下:

1、学籍信息表E-R图如图3.3.1所示:

图3.3.1E-R图

2、成绩信息表E-R图如图3.3.2所示:

图3.3.2E-R图

3、年级信息表E-R图如图3.3.3所示:

 

图3.3.3年级信息管理E-R图

4、学生信息管理总体E-R图如图3.3.4所示:

图.3.3.4总E-R图

数据库实现

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.xuesheng_xinxi表:

姓名,学号,性别,出生日期,专业

表3.3.7学生信息表

列名

数据类型大小

允许空

姓名

Char(20)

学号

Char(20)

性别

Char(20)

出生日期

Char(20)

专业

Char(8)

四、详细说明

学生信息管理系统包括班级信息管理、学籍信息管理、班级信息管理、成绩信息管理、课程信息管理、查询管理六大块,学籍信息管理包括了班级信息管理,成绩信息管理包括了成绩信息管理,课程信息管理包括了课程信息管理和年级课程开设两块,查询管理包括了班级信息查询,课程信息查询,成绩信息查询以及学籍信息管理。

学校年级设置主要就是对于学校里的年级的设置,学籍信息设置主要是针对于学生们的学籍的管理班级信息管理主要是针对于班级信息的设置成绩信息设置主要是针对于学生们的成绩,课程信息设置主要是针对于课程的一些基本信息管理,年级课程开设主要是针对于一些课程开设的时间,而查询这一块主要就是各种的查询,类如班级信息,课程信息等一些基本信息的查询都是由这一块完成的。

我主要做的是学生信息(xuesheng_xinxi)表这部分的内容。

 

4.1系统实施

1)在进行操作之前必须创建表,此xuesheng_xinxi表的过程为:

 

2)表数据的插入:

insertintoxuesheng_xinxi(学号,姓名,性别,出生日期,班级,专业)

values('1001101620004','刘继桧','男',to_date('19841125','yyyymmdd'),'100110162','软件工程')

;

insertintoxuesheng_xinxi(学号,姓名,性别,出生日期,班级,专业)

values('1001101620005','张三','男',to_date('19860516','yyyymmdd'),'100110162','软件工程')

;

insertintoxuesheng_xinxi(学号,姓名,性别,出生日期,班级,专业)

values('1001101620006','李四','女',to_date('19840426','yyyymmdd'),'100110162','软件工程')

;

insertintoxuesheng_xinxi(学号,姓名,性别,出生日期,班级,专业)

values('1001101620007','王五','男',to_date('19850709','yyyymmdd'),'100110162','软件工程')

;

insertintoxuesheng_xinxi(学号,姓名,性别,出生日期,班级,专业)

values('1001101620008','孙六','男',to_date('19870816','yyyymmdd'),'100110162','软件工程')

;

3)查询表数据记录:

4)表数据的更改及更改后的显示结果:

5)创建函数过程:

6)现行的DBMS一般都提供了多种存取方法,其中,最常用的是索引法。

索引法是为了加速对表中的数据行的检索而创建的一种分散的存储结构。

是针对一个表而建立的,它能够以一列或多列的值为关键字,迅速查找/存取表中行数据加快了数据检索。

建立索引:

CREATEINDEX"NAME4"."学生表"ON"XUESHENG_XINXI"

"学号","姓名","性别","出生日期","班级","专业"

;

7)实现列、行及参照完整性:

 

8)创建触发器:

 

9)创建程序包:

CREATEORREPLACEPACKAGExueshengPackageAS

PROCEDUREReturn学号(

p_姓名xuesheng.姓名%TYPE,

p_性别xuesheng.性别%TYPE,

p_Return学号OUTxuesheng.学号%TYPE);

ENDxueshengPackage;

创建程序包主体:

CREATEORREPLACEPACKAGEBODYxueshengPackageAS

PROCEDUREReturn学号(

p_姓名xuesheng.姓名%TYPE,

p_性别xuesheng.性别%TYPE,

p_Return学号OUTxuesheng.学号%TYPE)

IS

BEGIN

SELECT学号

INTOp_Return学号

FROMxuesheng

WHERE性别=p_性别

AND姓名=p_姓名;

ENDReturn学号;

ENDxueshengPackage;

10)创建视图:

11)连接查询:

 

12)创建存储过程用于统计学生信息:

 

13)创建用户、角色,当查找某学生信息时给出信息:

 

14)数据的导入导出:

五、遇到的问题和解决方法

1)在创建存储过程来统计学生信息时出现编译性错误:

解决方案:

将第6行的“性别”改为“xb”,此时属性值一致,程序顺利运行。

2)编译过程错误:

解决方案:

此时的触发器声明部分带有编译性错误

将第2行改为:

beforeinsertorupdateof学号onxuesheng_xinxi

Foreachrow

操作过程改为:

when(new.学号>1001101620006)

begin

后面的输出设置正确,改正之后,运行成功。

六、课程设计总结

总的来说Oracle数据库的课程设计对我是有挑战性的,由于专业知识的不够充分,使得在编写时遇到许多的问题,其中也因为我们的没有经验,所以设计出来的东西总是漏洞百出,不是数据冗余,就是文档组织不合理,以至于在着手设计的过程中,各种意想不到的困难接踵而至。

并且通过此次课程设计作业,使我明白,做任何事都要持之以恒,特别要认真,勇于创新!

任何时候都不能自满自足,其实还有很多东西是自己不会的,所以不断请教他人是非常有必要的。

经过不断的请教和讨论,在终于解决问题的同时,培养了耐心和毅力,也对数据库有了更深刻的认识,对很多的以前有些陌生的语言能够了解和掌握。

其中的许多函数在我的脑海中留下了很深的印象。

在这次的课程设计中,最有收获的是提供了一个向老师学习的好机会。

我从指导老师身上学到了很多东西,老师教会了我们一个从理论走向实际运用的方法,也教会了我们同学间宝贵的合作精神。

老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅。

无论在理论上还是在实践中,都给予我很大的帮助,使我得到不少的提高,让我熟悉了一个理论与实践相结合的过程,这对于我以后的工作和学习都有一种巨大的帮助,感谢老师的耐心辅导,我在将来的学习和工作中会更加的努力的。

七、参考文献

[1]孙春来.SQLServer中文版编程基础.上海:

电子工业出版社,2008:

195-210

[2]知寒工作室.SQLServer2000案例教程.北京:

机械工业出版社,2007:

619-625

[3]《SQLServer开发指南》熊桂喜清华大学出版社

[4]《SQLServer2000开发指南》张营电子工业出版社

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1