本科生课程设计
课程名称 课程编号 学号 学生姓名 所在专业 所在班级 指导教师 成绩 教师签字
数据库原理及应用课程设计
J1670101 201211621301
蔡洁敏 计算机科学与技术
计科1123 徐龙琴
年 月 日
课程设计时间: 年 月 日 至 年 月 日
目 录
一、设计总说明 ................................................................................................. IV
1.1概况 ....................................................................................................... IV 1.2系统开发目的 ....................................................................................... IV 1.3开发内容 ............................................................................................... IV 1.4开发要求 ............................................................................................... IV 1.5开发环境及工具 .................................................................................... V 二、需求分析 ...................................................................................................... V
2.1系统背景分析 ........................................................................................ V 2.2需求介绍 ................................................................................................ V 三、概念结构设计 ............................................................................................. VI
3.1系统功能模块设计图 ........................................................................... VI 3.2系统E-R图 .......................................................................................... VI 四、逻辑结构设计 ............................................................................................ VII 五、物理结构设计 .......................................................................................... VIII
5.1数据库创建 ........................................................................................ VIII 六、系统实现 .................................................................................................... XII
6.1登陆界面 .............................................................................................. XII 6.2老师主界面 ........................................................................................ XIII 6.3学生主界面 ........................................................................................ XIII 七、 优缺点及自我评价 ................................................................................ XIX 八、参考文献 ................................................................................................... XX
一、设计总说明
1.1概况
名称:学生成绩管理系统 用途:学校等机构
功能:实现对学生信息、成绩的管理
1.2系统开发目的
1) 掌握利用java 开发工具进行可视化程序设计的基本过程。
2) 理解java应用程序的事件驱动机制,掌握利用java开发工具编写程序代码的方法,
能熟练利用java语法规则进行算法设计和代码编写。
3) 掌握利用ADO.NET对象进行数据库应用程序设计的基本方法。 4) 掌握SQL数据库数据表设计以及SQL语句的书写和java中的调用方法。
通过掌握以上的知识同时提高自己的实践动手能力。
1.3开发内容
通过调查分析得到学生成绩管理系统的系统需求,从而设计出系统的概念模型、逻辑模型、物理模型,通过SQL2008和eclipse的操作平台完成和实现相应的要求,再而进行不断的调试和测试完善系统的漏洞。
1.4开发要求
学生各种信息的输入,包括学生的基本信息、成绩信息等。 学生各种信息的修改;
实现基本信息、成绩信息的删除;
按照一定的条件,查询、统计符合条件的学生信息;能够实现多种查询方式,并且
可以进行简单的学生信息统计;
1.5开发环境及工具
系统前台开发软件:eclipse
系统后台管理软件:SQL Server Management Studio 2005 系统开发语言:java
二、需求分析
2.1系统背景分析
随着电脑的普及,信息量的增大,现在几乎每个学校乃至每个教育机构也顺应时代的发展,纷纷抛弃繁琐的人工管理学生的成绩以及学生的信息的方式,而是采用各种管理软件进行管理。采用软件系统进行管理具有处理数据速度更快、信息量更多、更加准确、更加简便等特点。所以学生成绩管理系统成为学校和其他教育机构不可或缺的管理软件。
2.2需求介绍
通过调查分析以及结合案例,系统应该达到以下的要求:
(1)系统用户应包括两个层次:老师和学生,老师进行所有的操作,而学生只能够进行查询个人成绩信息、查询个人信息和修改密码。
(2)能够实现学生基本信息的录入、修改、删除。 (3)能够实现成绩信息的录入、修改、删除。
(4)具有丰富的查询功能,能对学生信息、课程信息、成绩信息等进行查询 (5)系统运行稳定,安全可靠。
(6)用户界面设计美观、友好,使用操作便捷。
三、概念结构设计
3.1系统功能模块设计图
学生成绩管理 修改密码 老 师信 息 查 询 老师 信息管理 成绩成绩查询 学生成绩管理 学生信息管理 学生信息查询 个人 成绩查询 个人信息查询 密码修改 课程信息查询 老师 学生 3.2系统E-R图
根据对数据项与数据结构的分析,设计出能够满足系统需求的各种实体,及它们之间的关系,为后面的逻辑结构设计打下基础。系统E-R图可以将各个实体之间的关系显示出来,将各个实体间的属性依赖表示明白。
四、逻辑结构设计
逻辑结构设计的任务就是把概念模型设计阶段设计好的基本E-R图转换为与选
用的具体机器上的DBMS产品所支持的数据库模型相符合的逻辑结构,现在选用关系模型,E-R图转换如下:
老师信息(工号,姓名,性别,院系,年龄,职称,电话,登录密码)
学生信息(学号,姓名,性别,班级,院系,出生年月,家庭地址,政治面貌,联系方式,登录密码)
课程信息(课程号,课程名,任教教师,学时,学分)
成绩信息(学号,汇编语言,,马克思主义,离散数学,数据库,高等数学,大学英语1,)
五、物理结构设计
数据库物理设计阶段的任务是根据具体计算机系统的特点,给给定的数据库系统确定合理的存储结构和存取方法。我通过创建索引、存储过程、触发器等来实现物理结构的优化。
5.1数据库创建
老师表:
课程表:
成绩表:
1)创建各种约束条件,来保证数据库的完整性操作,下面是添加外键参照的语句
--外键参照,防止数据的非法操作 alter table chengji( 学号,primary key,
foreign key (学号) references Student(学号), )
2)创建索引,加快查询的速度
create unique index Student_学号 on Student(学号); create unique index 课程_课程号 on course(课程名); create unique index 成绩_学号 on chengji(学号);
3)创建触发器,通过触发器来实现相关的自动工作
--创建触发器,通过增加一个学生,生成默认密码--- CREATE TRIGGER AUTO_SET_PWD ON Student
FOR INSERT AS BEGIN
UPDATE Student
SET 登录密码=(SELECT 学号 FROM INSERTED) FROM Student,Inserted
WHERE Student.学号=Inserted.学号 END GO
---创建成绩表,不删除外键,执行修改删除学生信息,自定修改删除他的成绩信息
CREATE TABLE CHENGJI( 学号(char 10) 汇编语言(char10) 马克思主义(char10) 离散数学(char10) 数据库(char 10) 高等数学(char 10) 大学英语1(char 10) PRIMARY KEY(学号),
FOREIGN KEY(学号) REFERENCES STUDENT(学号) ON DELETE
CASCADE ON UPDATE CASCADE go
--------------------------------------------------------------------
4)创建视图,通过视图进行查找,提高数据库的安全性
----创建视图
create view Student_Sno_Query(学号,姓名,汇编语言,马克思主义,离散数学,数据库,高等数学,大学英语) as
select Student.学号,Student.姓名,chengji.汇编语言,chengji.马克思主义,chengji.离散数学,chengji.数据库,chengji.高等数学,chengji.大学英语 from chengji,Student
where Student.学号=chengji.学号
六、系统实现
6.1登陆界面
本窗口为登录窗口,对老师和学生身份进行判断,如果输入匹配登录成功后各自进入主界面,如果无法匹配会提示账号不存在或密码输入错误,重新输入即可。
6.2老师主界面
6.2.1老师登录首界面
老师管理窗口可以进行学生信息的增加、删除、查询和修改 6.2.2:查询各班成绩
6.2.3:查询各班学生信息
6.2.4:增删改学生信息,成绩
6.2.5 老师信息查询修改
6.3学生主界面
6.3.1学生信息查询:
6.3.2学生成绩查询:
6.3.3学生课程查询:
6.4学生老师修改密码界面
七、优缺点及自我评价
经过好几个星期的学习,我完成了基于java的学生成绩管理系统的课程设计。从开始的系统分析,到系统功能的逐一具体化和实现。最后整体完成了一个可以将就使用的学生成绩管理系统。在这段学习过程中,从开始的一无所知,到逐渐的掌握java swing的使用,进而实现对页面的设计、数据库的连接等知识的掌握。通过自己上网查资料和咨询有经验的同学,提高了自己的实践能力。我不但从这次课程设计中学到了技能上的能力,而且我也更加坚信自己的能力,只要敢于去尝试,付出了,就一定会有收获。下面对本次课程设计的优缺点进行总结。
优点:使用了数据库的触发器简化了用户添加的步骤、产生级联删除等;使用事务以及视图,提高了系统的完整性和安全性。系统采用父子窗体,整体使用比较的方便,界面较为美观。
缺点:时间比较紧,没有考虑太多的细节的方面,比如没有统计排名,等等,另外,由于目前的本人学到的知识有限,对学生成绩修改没有设置大于100分的提醒和小于0的提醒。
八、参考文献
1.《java程序设计》
2.《数据库系统概论第四版----王珊编》 3《java核心技术》