资源预览内容
第1页 / 共30页
第2页 / 共30页
第3页 / 共30页
第4页 / 共30页
第5页 / 共30页
第6页 / 共30页
第7页 / 共30页
第8页 / 共30页
第9页 / 共30页
第10页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
实用标准数据库课程设计报告题目:学生选课管理系统 学院:信息科学与工程学院 指导老师: 刘嫔 姓名:马俊 学号:0909120716 班级:计科1202 目录数据库课程设计报告1摘要2第一章需求分析21.1系统需求21.2功能需求31.3数据流图4第二章概念设计82.1实体之间的联系82.2 E-R图及局部E-R图9第三章逻辑设计103.1概念模型想关系模型的转换103.2 概念模型的优化11第四章物理设计114.1数据库存储结构11第五章实现、运行与维护145.1实现145.2人机交互界面的设计155.3系统测试185.4运行维护25总结26参考文献26摘要本系统是为了完成本学期的数据库课程设计而开发的基于MYSQL和JDBC的学生选课管理系统,数据库用MySQL建立,界面用Java语言开发,本系统基于C/S(客户端/服务器)而开发,主要目的是设计一套可是实现学生选课及其相关信息管理的选课MIS系统。本文是笔者经过研究自己的选课系统和其他相关信息,进行详细分析讨论后撰写的学生选课管理系统的数据库设计报告,全文从最初的系统规划,到需求分析、概念设计、逻辑设计、物理设计。每一阶段都进行了详细的分析。接下来的实现、运行与维护阶段,还进行了对本系统的测试,最后是本次项目开发的心得和体会以及本文的参考文献。第一章 需求分析1.1系统需求用户的需求具体体现在选课信息和用户信息的提供、保存、更新和查询的方面。这就要求数据库的设计必须合理,使之能够充分满足各种信息的输入和输出,保证数据存储的可靠性,并且能够快速取出和存入。而前台显示部分,应具有人性化的界面,方便用户操作。因各个学校的实际情况不同,系统应该具有兼容性。例如:一些学校学生人数较多,同时登陆系统,系统承载的负荷就很大。系统需要同时处理很大的数据量,这时系统不会因此崩溃。此外,系统还应该具有较强的安全性,保证身份不同的用户,不能越权操作。非合法用户不能对数据进行操作。1.2功能需求通过系统功能的分析,结合需求分析员在各大高校实地考查,调查的对象涵盖了,学校的教职工、在校师生。特别是对已经运行了与本系统同类产品的学校的师生使用选课管理系统心得体会进行了分析,总结出如下的需求信息: (1) 学生的需求:能进行选课,查看管理员发布的选课信息,自己的选课情况,本人的基本信息,课程的成绩; (2)教师的需求:能查看自己的个人信息,及所授课的班级的所有学生的本门课程的成绩信息,并能进行增加和修改; (3)管理员的需求:对学生选课情况进行管理,包括发布选课信息,对学生的选课情况进行查看。管理员还可以对授课老师的信息进行管理。1.3数据流图1.3.1系统顶层图注: F1:用户登陆信息 F2:用户注册信息 F3:用户基本信息 F4:用户基本信息 F5:学生选课信息清单 F6:学生选课信息 F7:登陆错误信息 F8:系统反馈用户信息 F9:用户信息清单 F10:修改密码后的用户信息1.3.2数据流程图一层分解图(1)用户登陆管理。用户在登陆时,系统会进行判断。用户一共有三种类型,分别是学生,教师和管理员。在判定时需要查询用户信息库。用户信息库,包括学生注册信息,教师注册信息,管理员信息等。学生选课管理系统一层分解图登陆管理,如下图所示:图 2.2 学生选课管理系统一层分解图登陆管理 注:F2.1:学生登陆信息 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进行分解,学生管理包括,查看选课信息和个人信息,进行选课、重新选课。学生选课管理系统二层分解图学生管理如下图所示:图 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.管理学生信息,包括对学生信息的查询、增加,修改,删除;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、一个学生可以选择多门课程,一门课可以被多个学生选; 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联系的转化的关系模式 (1)学生选课联系概念模型向关系模型的转化 学生表(学号,姓名,性别,年龄,系部,密码,籍贯) 课程表(课程号,课程名,上课时间,教师编号,上课时间)选课表(学号,课程号,成绩)3.2 概念模型的优化3.2.1 确定范式级别 根据上述分析所归结出来的数据依赖的种类和在本系统实际的开发过程中,需要涉及多表的查询及表的修改和删除,且存在多值依赖的实际情况下,其关系模式应达到BCNF。第四章物理设计4.1数据库存储结构通过需求分析,概要设计和逻辑设计流程得到本系统的数据库结构。4.1.1数据库表的设计进一步确定上一章逻辑设计中设计好的关系模式中各个数据项的类型和长度,将每个关系转换为数据库中的二维表格,并确定了各个表的主键和外键,得到以下表结构: 表4.1学生表名类型长度小数点允许空值StuIDchar300stuNamechar500stuSexchar10stuAgechar110stuDeptchar300stuJiguanchar300stuPasswordchar100 表4.2老师表 表4.3管理员表 表4.4课程表表4.5成绩表表4.6选课表4.1.2数据的存放设置的设计根据本系统的数据库的使用情况,主数据文件信息量大且使用频繁将其存储在高速存储器(硬盘)上。将表和表上的索引存储在不同的磁盘上以便提高查询效率,同时这样可以提高物理I/O读写效率。数据库备份文件和日志文件等文件因为使用频率小而且数据量非常大,存放在低速存储设备上。4.1.3关系模式的存取方法关系模式采用索引存取方法与聚簇存取方法共用。4.1.4数据库安全性在数据库中,由于用户的身份不同,对数据库的访问权限也就不同。管理员几乎能够对所有的用户自定义表进行操作(包括增、删、改、查)。但根据实际情况,学生一旦选课成功,管理员是无法对其选课信息进行修改。同样,学生与教师对数据库的访问权限就更加小了。这样也就保证了数据库安全性。 另外一方面,数据库表中,各表之间根据实体完整性、参照完整性、域完整性设置了各种约束。一旦一张表被非法操作,如删除,修改。也会影响其它的表。所以这就要求DBA定时进行备份,防止当数据丢失时,引起不可估量的损失。第五章实现、运行与维护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 course.cname,course.ccredit,class.address,course.ctime,course.cbegintime,course.cendtime,class.number,course.cno,class.csname,class.csno from course,tc,class,cc where course.cno=tc.cno and course.cno=cc.cno and class.csno=cc.csno (2)创建教师信息视图 create view tinfo as select teacher.tno,teacher.tname,teacher.tsex,teacher.tage,status,course.cname from teacher,course,tc where teacher.tno=tc.tno and tc.cno=course.cno; (3)创建教师教师授课视图 create view tcinfo asselect teacher.tno,teacher.tname,course.cno,course.cname from teacher,course,tc where teacher.tno=tc.tno and tc.cno=course.cno (4)学生的选课信息视图 create view scinfo as select student.sname,course.cname,course.
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号