湖南工业大学课程设计资料袋计算机与通信学院学院(系、部)2014 ~ 2015 学年第 1 学期课程名称大型数据库指导教师满君丰职称教授学生姓名祝丹专业班级计算机1102 学号11408100213 题目图书馆管理系统成绩起止日期2014 年11 月22日~2014 年11 月29 日目录清单课程设计任务书2014—2015学年第1 学期学院(系、部)计算机与通信学院专业计算机科学与技术班级1102课程名称:大型数据库学生姓名:祝丹设计题目:图书馆管理系统指导教师:满君丰完成期限:自2014 年11 月22 日至2014 年11 月29 日共1指导教师(签字):年月日系(教研室)主任(签字):年月日大型数据库应用课程设计设计说明书学生成绩管理系统起止日期:2014 年12月22日至2014 年12月29 日学生姓名祝丹班级计本1102学号11408100213成绩指导教师(签字)计算机与通信学院2014年12月29日目录第一章系统概述 (3)1.1系统背景 (3)1.2 可行性研究 (3)第二章需求分析 (3)2.1 运行环境: (3)2.2数据需求 (4)第三章软件设计 (5)3.1 总体设计 (5)第四章系统实现 (6)4.1 数据库实现 (6)4.2 代码实现 (8)第五章心得体会 (111)第六章参考文献(资料) (142)第七章致谢 (142)第一章系统概述1.1系统背景学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段,但是几年前,各个学校的学生成绩管理基本上都是靠手工进行,随着各个学校的规模增大,有关学生成绩管理工作所涉及的数据量越来越大,有的学校不得不靠增加人力、物力来进行学生成绩管理。
这种管理方式存在着许多缺点,如:效率低、保密性差,另外所用其时间长,产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
如今学校的学生越来越多,成绩管理的工作量越来越大,手工管理成绩的弊端也越来越明显。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生档案信息进行管理,具有手工管理所无法比拟的优点。
例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学生档案管理的效率。
所以我想借本次课程设计之际,设计一个简易的学生成绩管理系统。
1.2 可行性研究1.技术条件方面的可能性技术上的可行性分析主要分析现有技术条件能否顺利完成开发工作,硬件、软件配置能否满足开发者的需要等。
学生成绩管理系统的工作主要是在学生和学校之间架起一座桥梁,能相互沟通信息和处理信息。
2.使用方面的可行性从社会效益上看,随着技术的发展,采用软件管理学生成绩工作,毫无疑问会在使用过程中产生新的需求和问题,这样也会不断地促进信息技术和软件应用的革新。
经过研究,此系统的用户无使用方面的问题。
第二章需求分析2.1 运行环境:操作系统:Windows XP,Windows 7 ;数据库:Oracle 10g2.2数据需求学生属性E-R 图课程属性E-R 图照片属性E-R 图 成绩属性E-R 图第三章软件设计3.1 总体设计1. 数据库设计1、XSB表的设计2、XSZP表3、KCB表第四章系统实现4.1 数据库实现课程表的实现:学生照片表的实现:成绩表的实现:学生表的实现:查询课程表的界面:查询学生表界面:查询成绩表界面:4.2 代码实现:(1)创建数据库YYGL CREATE DATABASE YGGL MAXINSTANCES 1MAXLOGHISTORY 1MAXLOGFILES 5MAXLOGMEMEBERS 5MAXDATAFILES 100DATAFILE 'F:\app\oracle\oradata\yggl\system01.dbf'SIZE 325M reuse AUTOEXTEN ON NEXT 1024KMAXSIZE UNLIMTEDCHARACTER SET ZHS 16GBKNATIONAL CHARACTER SET AL16UTF16LOGFILE GROUP 1 ('F:\app\oracle\oradata\yggl\redo01.log') SIZE 100M, GROUP 2 ('F:\app\oracle\oradata\yggl\redo02.log') size 100M,GROUP 3 ('F:\app\oracle\oradata\yggl\redo03.log') size 100MDEFAULT TEMPORARY TABLESPACE TEMPTEMPFILE 'F:\app\oracle\oradata\yggl\temp01.dpf'EXTENT MANAGEMENT LOCAL UNIFORM SIZE 10MUNDO TABLESPACE UNDO_TS DATAFIL'F:\app\oracle\oradata\yggl\temp01.dbf' SIZE 150M REUSE AUTOEXTEND ON NEXT 10240KMAXSIZE UNLIMITED;(2)创建学生表CREATE TABLE XSB(XH char(6) NOT NULLPRIMARY KEY,XM char(8) NOT NULL,XB char(2) DEFAULT'1' NOT NULL,CSSJ date NOT NULL,ZY char(12) NULL,ZXF number(2) NULL,BZ varchar2(200) NULL);(3)创建学生照片表CREATE TABLE XSZP(XH char(6) NOT NULLPRIMARY KEY,ZP blob NULL);(4)创建课程表CREATE TABLE KCB(KCH char(3) NOT NULLPRIMARY KEY,KCM char(16) NOT NULL,KKXQ number(1) NULL,XS number(2) NULL,XF number(1) NOT NULL);(5)创建成绩表CREATE TABLE CJB(XH char(6) NOT NULL,KCH char(3) NOT NULL,CJ number(2) NULL,PRIMARY KEY(XH,KCH));(6)创建视图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;(7)创建触发器CREATE OR REPLACE TRIGGER xs_deleteAFTER DELETE ON XSB FOR EACH ROWDECLAREPRAGMA AUTONOMOUS_TRANSACTION;BEGINDELETE FROM CJB WHERE XH=:OLD.XH;DELETE FROM XSZP WHERE XH=:OLD.XH;COMMIT;END;(8)创建存储过程CREATE 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;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 THEN UPDATE XSB SET ZXF=ZXF-in_xfWHERE XH=in_xh;END IF;END IF;IF in_cj<>-1 THENINSERT INTO CJB VALUES(in_xh,in_kch,in_cj);IF in_cj>=60 THENUPDATE XSB SET ZXF=ZXF+in_xfWHERE XH=in_xh;END IF;END IF;COMMIT;END;BEGINCJ_Data('101101','101',50);END;第五章心得体会经过这个学期的数据库学习,让我对oracle有了更深层次的理解。
这次设计是一个漫长而又艰苦的过程,也可说是有苦有乐!通过设计让我学到不少:理论是要与实际相结合,只有可以将一条条的理论化为自己所能拥有的经验才是有用的!同时这次设计也让我改变了我以前的一些错误观点:以前我认为一个系统设计中最重要的是程序编码,因为只有程序编码才能实现程序的功能,其他的并不重要。
但是通过这次设计,让我知道每一步都是很重要的。
此次实验实现了图书管理系统的用户,借书还书等些功能。
以前总是简单的用数据库建表,存储一些数据而已。
但这次通过对数据库的更深入的学习了解,数据库的功能远远不只这些,在我的数据库里面就采用了数据库的存储过程,然后在前台直接调用存储过程,不但使用方便,安全性也更高。
因为时间关系,该系统制作比较匆忙,因此有些功能还不够完善,还有很多地方考虑不周,在以后的日子里,我会一边学习,一边再思考,争取把设计的系统做到更加完善。
第六章参考文献(资料)[1] 《Oracle 10g 数据库管理与应用系统开发》马晓玉清华大学出版[2] 《Oracle数据库管理与应用教程》丛书编委会中国电力出版社[3] 《软件工程导论(第五版)》张海藩清华大学出版社[4] 《实用Java网络编程技术》刘永华余春华编中国电力出版社[5] 《Java程序设计标准教程》邱加永人民邮电出版社[6] 《Oracle实用教程》电子工业出版社[7] 《ASP实用教程》清华大学出版社第七章致谢首先感谢我的指导老师,他在我的毕业设计过程中给了指导性的方案和架构,指引我阅读相关的资料和书籍,使我能学习掌握知识并完成了课程设计。