ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:4.45MB ,
资源ID:12061098      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12061098.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库课设java学生选课管理系统.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库课设java学生选课管理系统.docx

1、数据库课设java学生选课管理系统数据库课程设计报告题目:学生选课管理系统 学院:信息科学与工程学院 指导老师: 刘嫔 姓名:马俊 学号:0909120716 班级:计科1202 摘要本系统是为了完成本学期的数据库课程设计而开发的基于MYSQL和JDBC的学生选课管理系统,数据库用MySQL建立,界面用Java语言开发,本系统基于C/S(客户端/服务器)而开发,主要目的是设计一套可是实现学生选课及其相关信息管理的选课MIS系统。本文是笔者经过研究自己的选课系统和其他相关信息,进行详细分析讨论后撰写的学生选课管理系统的数据库设计报告,全文从最初的系统规划,到需求分析、概念设计、逻辑设计、物理设计

2、。每一阶段都进行了详细的分析。接下来的实现、运行与维护阶段,还进行了对本系统的测试,最后是本次项目开发的心得和体会以及本文的参考文献。第一章 需求分析1.1系统需求用户的需求具体体现在选课信息和用户信息的提供、保存、更新和查询的方面。这就要求数据库的设计必须合理,使之能够充分满足各种信息的输入和输出,保证数据存储的可靠性,并且能够快速取出和存入。而前台显示部分,应具有人性化的界面,方便用户操作。因各个学校的实际情况不同,系统应该具有兼容性。例如:一些学校学生人数较多,同时登陆系统,系统承载的负荷就很大。系统需要同时处理很大的数据量,这时系统不会因此崩溃。此外,系统还应该具有较强的安全性,保证身

3、份不同的用户,不能越权操作。非合法用户不能对数据进行操作。1.2功能需求通过系统功能的分析,结合需求分析员在各大高校实地考查,调查的对象涵盖了,学校的教职工、在校师生。特别是对已经运行了与本系统同类产品的学校的师生使用选课管理系统心得体会进行了分析,总结出如下的需求信息: (1) 学生的需求:能进行选课,查看管理员发布的选课信息,自己的选课情况,本人的基本信息,课程的成绩; (2)教师的需求:能查看自己的个人信息,及所授课的班级的所有学生的本门课程的成绩信息,并能进行增加和修改; (3)管理员的需求:对学生选课情况进行管理,包括发布选课信息,对学生的选课情况进行查看。管理员还可以对授课老师的信

4、息进行管理。1.3数据流图1.3.1系统顶层图注: F1:用户登陆信息 F2:用户注册信息 F3:用户基本信息 F4:用户基本信息 F5:学生选课信息清单 F6:学生选课信息 F7:登陆错误信息 F8:系统反馈用户信息 F9:用户信息清单 F10:修改密码后的用户信息1.3.2数据流程图一层分解图(1)用户登陆管理。用户在登陆时,系统会进行判断。用户一共有三种类型,分别是学生,教师和管理员。在判定时需要查询用户信息库。用户信息库,包括学生注册信息,教师注册信息,管理员信息等。学生选课管理系统一层分解图登陆管理,如下图所示:图 2.2 学生选课管理系统一层分解图登陆管理 注:F2.1:学生登陆信

5、息 F2.2:教师登陆信息 F2.3:管理员登陆信息 F7.1:用户身份信息 F7.2:修改密码的错误信息(2)用户操作管理。在登陆管理进行判断后,发送学生登陆信息,教师登陆信息,管理员登陆信息的其中一种。根据用户身份信息的不同,进入不同的管理界面,相应的操作的功能,权限都有所不同。如下图所示:图 2.3.1 学生选课管理系统一层分解图学生管理注:F3.1:原始学生信息 F5.1:学生更新后的选课信 F6.1:学生查询的选课信息 F8.1:学生操作后返回的信息(教师管理,和管理员管理的分解图与学生管理类似)1.3.3数据流程图二层分解图(1)学生管理。将P2.1进行分解,学生管理包括,查看选课

6、信息和个人信息,进行选课、重新选课。学生选课管理系统二层分解图学生管理如下图所示:图 2.4 学生选课管理系统二层分解图学生管理注:F3.1:学生个人信息 F5.1.1:增加后的选课信息F5.1.2: 删除后的选课信息(2)教师管理。将P2.2进行分解,教师管理包括,查看选课信息和个人信息,填写学生的成绩。学生选课管理系统二层分解图学生管理如下图所示: 图 2.5 学生选课管理系统二层分解图教师管理注:F3.2.1:教师个人信息 F3.2.2:学生个人信息 F5.2.2:增加后的学生成绩信息 F5.2.3:修改后的学生成绩信息(3)管理员管理。将P2.3进行分解,管理员管理包括,1.管理学生信

7、息,包括对学生信息的查询、增加,修改,删除;2.管理教师信息,包括对教师信息的查询、增加,修改,删除;3.选课信息管理,包括发布选课信息,增加,修改,删除选课课程等。学生管理系统二层分解图学生管理如下图所示:图 2.6 学生选课管理系统二层分解图管理员管理注:F3.3.1:原始学生信息 F3.3.2:原始教师信息 F3.3.3:原始课程信息 F3.3.4:原始教室信息 F9.1.1:修改后学生信息 F9.1.2:修改后的教师信息 F9.1.3:修改后的课程信息 F9.1.3:修改后的班级信息第二章概念设计2.1实体之间的联系根据需求分析,归结出合适的联系: 1、一个学生可以选择多门课程,一门课

8、可以被多个学生选; 2、一个老师最多能教一门课,一门课可以被多个老师教授;3、管理员与所有老师是独立的;2.2 E-R图及局部E-R图(1)学生课程联系E-R图(2)教师课程关系E-R图(3)全局E-R图第三章逻辑设计3.1概念模型想关系模型的转换根据需求分析中的E-R图,通过对实体的属性和之间的联系的分析,我们将其由概念模型向关系模型转化,并且根据范式化理论进行优化3.1.1 1:N联系的转化的关系模式 (1)教师课程联系概念模型向关系模型的转化 教师表(教师号,教师名,性别,年龄,教授课程,密码,职称)课程表(课程号,课程名,上课时间,教师编号,上课时间) 3.1.2 M:N联系的转化的关

9、系模式 (1)学生选课联系概念模型向关系模型的转化 学生表(学号,姓名,性别,年龄,系部,密码,籍贯) 课程表(课程号,课程名,上课时间,教师编号,上课时间)选课表(学号,课程号,成绩)3.2 概念模型的优化3.2.1 确定范式级别 根据上述分析所归结出来的数据依赖的种类和在本系统实际的开发过程中,需要涉及多表的查询及表的修改和删除,且存在多值依赖的实际情况下,其关系模式应达到BCNF。第四章物理设计4.1数据库存储结构通过需求分析,概要设计和逻辑设计流程得到本系统的数据库结构。4.1.1数据库表的设计进一步确定上一章逻辑设计中设计好的关系模式中各个数据项的类型和长度,将每个关系转换为数据库中

10、的二维表格,并确定了各个表的主键和外键,得到以下表结构: 表4.1学生表名类型长度小数点允许空值StuIDchar300stuNamechar500stuSexchar10stuAgechar110stuDeptchar300stuJiguanchar300stuPasswordchar100 表4.2老师表 表4.3管理员表 表4.4课程表表4.5成绩表表4.6选课表4.1.2数据的存放设置的设计根据本系统的数据库的使用情况,主数据文件信息量大且使用频繁将其存储在高速存储器(硬盘)上。将表和表上的索引存储在不同的磁盘上以便提高查询效率,同时这样可以提高物理I/O读写效率。数据库备份文件和日志

11、文件等文件因为使用频率小而且数据量非常大,存放在低速存储设备上。4.1.3关系模式的存取方法关系模式采用索引存取方法与聚簇存取方法共用。4.1.4数据库安全性在数据库中,由于用户的身份不同,对数据库的访问权限也就不同。管理员几乎能够对所有的用户自定义表进行操作(包括增、删、改、查)。但根据实际情况,学生一旦选课成功,管理员是无法对其选课信息进行修改。同样,学生与教师对数据库的访问权限就更加小了。这样也就保证了数据库安全性。 另外一方面,数据库表中,各表之间根据实体完整性、参照完整性、域完整性设置了各种约束。一旦一张表被非法操作,如删除,修改。也会影响其它的表。所以这就要求DBA定时进行备份,防

12、止当数据丢失时,引起不可估量的损失。第五章实现、运行与维护5.1实现根据概要设计和逻辑设计的结果,在计算机上建立实际的数据库结构,导入数据进行程序调试。5.1.1数据库的实现(1)创建数据库Student create database Student on ( name=学生选课管理库, filename=E:db学生选课管理库.mdf, size=5, maxsize=15, filegrowth=2 )5.1.2视图的实现(1)创建查询可供选择课程的视图 create view cinfo as select ame,course.ccredit,class.address,course

13、.ctime,course.cbegintime,course.cendtime,class.number,o,class.csname,class.csno from course,tc,class,cc where o=o and o=o and class.csno=cc.csno (2)创建教师信息视图 create view tinfo as select teacher.tno,teacher.tname,teacher.tsex,teacher.tage,status,ame from teacher,course,tc where teacher.tno=tc.tno and

14、o=o; (3)创建教师教师授课视图 create view tcinfo asselect teacher.tno,teacher.tname,o,ame from teacher,course,tc where teacher.tno=tc.tno and o=o (4)学生的选课信息视图 create view scinfo as select student.sname,ame,course.ccredit,course.ctime,course.cbegintime,course.cendtime,student.sno from student,course,sc where st

15、udent.sno=sc.sno and o=o (5)学生的已选课程的成绩 create view scgrade as select scc.csno,class.csname,scc.sno,student.sname,o,ame,student.sclass,sc.grade from scc,course,class,student,sc where o=o and scc.csno=class.csno and scc.sno=student.sno and scc.sno=sc.sno and o=o(6)创建查询可供选择课程的视图 create view cinfo as se

16、lect course.Cname, course.Ccredit, class.address,course.CTime,course.Cbegintime,course.Cendtime,class.number,course.Cno,class.CSname,class.CSno,teacher.Tname from tcs,teacher,class,course where tcs.tno=teacher.tno and class.csno=tcs.csno and o=o 5.2人机交互界面的设计5.2.1用户登录界面用户登陆界面是每一个用户,在登陆本系统时出现的界面,如要用户输

17、入用户名、密码和验证码,以及确定用户身份。其界面如下图: 5.2.2学生选课管理界面学生登陆成功后,进入学生管理模块,其界面如下: 5.2.3教师管理界面5.2.4管理员管理界面5.3系统测试5.3.1用户登录测试5.3.2学生选课管理测试学生选课功能:正选结果:学生退课功能:5.3.3教师管理测试5.3.4管理员管理测试管理员查询功能:管理员添加功能:管理员删除学生信息:管理员修改信息功能:管理员查询选课信息表:5.4运行维护经过实际的测试和运行,已经可以满足高校公开课学生选课该,系统运行稳定,日后的使用和维护中DBA应该注意进行定期备份数据库,以免丢失数据库。定期清理数据库中的无效数据,以

18、提高运行效率。对软件及运行环境进行日常维护。总结刚刚抽到自己的题目时,学生选课管理系统,先是比较庆幸,因为之前的数据库课程设计课程就是围绕着学生选课系统建数据库来授课的,因此想到自己心里比较有底,并且也比较明确的心里有了要建几张表以及表的内容的计划,因此自我感觉会比较顺利,于是,我决定用MySql来建数据库,用Java写界面的用户接口,并且做了初步的计划,从可行性分析开始,经过需求分析、逻辑设计和物理设计,最后打得出了一份比较明确的需求分析,这样按照需求分析来编程,一切就变得顺利起来,因为之前所有的课设均未曾用过JDBC来连接数据库,因此刚开始便遇到不少困难,但是查阅了相关资料之后,知道了相关

19、JDBC驱动和数据库连接的方法之后一切便顺利起来,独自完成一个这样的小系统,为了考虑各种异常,因此需要不断地测试,然后捕获异常,因此在这个过程中,自己确实学到了很多东西,不光是锻炼了自己的编程能力,更是提高了自己发现问题,解决问题的能力,作为一名程序员,不仅要有高超的编程能力,更是要勇于挑战自我,发现问题,从而使自己的能力更加完善。这次课程设计,确实获益匪浅,并且也锻炼了以后的自己项目开发能力,对自己以后的程序员成长之路起到了很大的作用。参考文献1 明日科技.Java经典编程300例M.长沙:清华大学护板社,2012 2 王克宏.JAVA语言SQL接口:JDBC编程技术 M.北京:清华大学出版社,2003 3 王小玲,刘卫国.数据库应用基础教程M.北京:中国铁道出版社,2008 4 李刚.Java数据库技术详解M.北京:化学工业出版社,20105 程云志,张帆,崔翔.数据库原理与SQL Server2005应用教程 M.北京:机械工业出版社,2006 6 苗雪兰,刘瑞新,宋会群.数据库技术与应用M.北京:机械工业出版社,2006 7 何玉洁.数据库基础及应用技术M.第二版.北京:清华大学出版8周华清,李卫民,张昌龙.Java典型模块与项目实践大全M北京:清华大学出版社,2012

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

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