学生成绩管理系统数据库设计.docx

上传人:b****7 文档编号:24957785 上传时间:2023-06-03 格式:DOCX 页数:21 大小:299.90KB
下载 相关 举报
学生成绩管理系统数据库设计.docx_第1页
第1页 / 共21页
学生成绩管理系统数据库设计.docx_第2页
第2页 / 共21页
学生成绩管理系统数据库设计.docx_第3页
第3页 / 共21页
学生成绩管理系统数据库设计.docx_第4页
第4页 / 共21页
学生成绩管理系统数据库设计.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

学生成绩管理系统数据库设计.docx

《学生成绩管理系统数据库设计.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统数据库设计.docx(21页珍藏版)》请在冰豆网上搜索。

学生成绩管理系统数据库设计.docx

学生成绩管理系统数据库设计

武汉理工大学华夏学院

课程设计报告书

课程名称:

《数据库系统原理》课程设计

 

题目:

学生成绩管理系统数据库设计

系名:

信息工程系

专业班级:

软件1111班

姓名:

学号:

指导教师:

张玉蓉

 

2013年12月27日

武汉理工大学华夏学院信息工程系

课程设计任务书

课程名称:

数据库课程设计指导教师:

张玉蓉

班级名称:

软件1111开课系、教研室:

软件与信息安全

一、课程设计目的与任务

数据库课程设计是《数据库原理与应用》课程的后续实践课程,旨在通过一周的实践训练,加深学生对理论课程中数据库的基础知识,原理和使用方法的理解,加强学生综合运用sql语言以及数据库设计进行实际应用,包括数据库设计,数据库实现,sql语言查询和sqlserver数据库应用及管理的能力,进一步提高学生进行数据库设计,分析问题和解决问题的能力。

学生将在指导老师的指导下,完成从需求分析,总体设计,实现到测试的全过程。

二、课程设计的内容与基本要求

本课程设计将设计和开发一个小型的数据库实用系统。

要求数据功能模块划分合理,数据库表设计合理,查询语句优化,数据处理正确。

根据所学的数据库原理与程序设计的知识,能够针对一个小型的图书管理系统,进行数据库系统的需求分析,概念结构设计、逻辑结构设计、物理结构设计,数据录入及测试等,完成题目要求的功能。

主要任务:

(1)需求分析根据设计任务书给出的背景资料,查找相关资料,结合自己的生活经验,对数据和处理过程进行分析,编写详细的数据词典(如数据项、记录的说明、它们的标识符、同义名及有关信息)。

写出需求分析说明,包括系统的功能分析、系统的功能模块设计、数据库的数据字典、数据流图等。

(2)概念结构设计

说明本数据库将反映的现实世界中的实体、属性和它们之间的关系等的原始数据形式,包括各数据项、记录、表的标识符、定义、类型、度量单位和值域,建立本数据库的每一幅用户视图和全局视图(E-R图,可以用基本E-R图或扩展E-R图),消除不必要的冗余。

(3)逻辑结构设计与物理结构设计

将概念结构映射为数据库全局逻辑结构(关系模型),包括所确定的关键字和属性、重新确定的记录结构和所建立的各个表文件之间的相互关系。

其中提请注意:

a.关系模式的优化

指出关系模式的范式级别及设计原则

  b.安全保密设计

说明在数据库的设计中,将如何通过区分不同的访问者、不同的访问类型和不同的数据对象,进行分别对待而获得的数据库安全保密的设计考虑。

c.物理结构设计

说明在数据库的设计中,是否需要索引及如何设置索引,设置索引的原则。

1.概述.......................................4

1.1设计题目....................................4

1.2可行性分析..................................4

2.需求分析...................................4

3.概念结构设计...............................4

3.1开发工具...................................4

3.2.1功能模块.................................4

3.2.2功能描述.................................4

3.2.3功能结构图................................5

4.逻辑结构设计...............................5

4.1数据分析...................................5

4.2数据库E-R图...............................5

5.物理结构设计...............................6

5.1数据库表设计...............................6

5.2数据库表...................................7

6.实现及测试.................................9

7.结论:

特点和不足...........................14

8.心得体会..................................15

9.参考文献..................................16

 

1.概述

1.1设计题目:

学生成绩管理系统数据库设计

1.2可行性分析

整个项目开发过程中,主要从经济可行性和技术可行性来分析:

经济可行性:

系统开发过程中,所需要的工具如计算机等所有工具均有自己承担

技术可行性:

目前该小组已经掌握java语言,能熟练编写jsp,数据库的设计与维护,软件工程,在开发过程中对遇到未知的技术问题还将会进行深一步的学习与研究。

2.需求分析

能实现对数据库的增删查改操作,能登陆学生系统,完成对学生系统的操作,能实现数据库的调用和存储。

本需求分析包含了初步分析设计各功能模块、提供性能要求、对用户影响的信息、以及对各功能模块功能的描述;同时也是规范开发人员进行设计和部署实施的基础和依据,为整体工作组的工作流程做出明确指导,引导工作组员之间、工作组员与用户之间的沟通。

最终作为总体审核、验证、确认和结项验收的依据;为开发方与客户方提供合法的合同保障。

3.概念结构设计

3.1开发工具

Windows环境下使用Myeclipse和mysql

3.2.1功能模块

功能一:

管理员

1CRUD学生信息

2CRUD教师信息

3CRUD课程信息

4课程和老师分配

功能二:

老师

1添加/修改/删除/查询学生成绩

2查询学生

3查询所带课程

功能三:

学生

1查询成绩

2查询课程/选课

3个人信息管理

3.2.2功能描述

功能编号

1-1

功能名称

学生信息管理

功能描述:

管理员登录之后,添加学生信息,添加到系统的学生才能够进行使用此系统进行选课、查询成绩等功能

输入项

学号、姓名、性别、年龄、院系、专业

输出项

操作提示:

图1

3.2.3项目结构图

图2

4.逻辑结构设计

4.1数据分析

管理员(用户名,密码)

老师(工号,姓名,密码,性别,年龄,课程方向,备注信息)

学生(学号,姓名,密码,性别,年龄,院系,专业,备注信息)

课程(课程号,课程名,学分,课时)

成绩(课程号,学号,分数)

老师-课程(工号,课程号)

学生-课程(学号,课程号)

4.2数据库E-R图

图3

5.物理结构设计

5.1数据库表设计

表1:

tb_admin表

字段

类型

约束

说明

id

int

主键,自动增长

管理员信息主键

username

varchar

NOTNULL

管理员用户名

password

varchar

NOTNULL

管理员密码

表2:

tb_teacher表

字段

类型

约束

说明

id

char(7)

主键

老师工号,登录用户名

name

varchar(30)

NOTNULL

老师真实姓名

password

varchar(16)

NOTNULL

老师登录密码

sex

char

(2)

NOTNULL

性别

age

int

年龄

course_direction

varchar(30)

NOTNULL

课程方向

desc

varchar(200)

描述信息

表3:

tb_student表

字段

类型

约束

说明

snum

char(11)

主键

学号,登录用户名

name

varchar(30)

NOTNULL

真实姓名

password

varchar(16)

NOTNULL

登录密码

sex

char

(2)

NOTNULL

性别

age

int

年龄

department

varchar(30)

NOTNULL

学生所属的院系

major

varchar(30)

NOTNULL

学生所属的专业

desc

varchar(200)

描述信息

表4:

tb_course表

字段

类型

约束

说明

course_num

char(10)

主键

课程编号

course_name

varchar(50)

NOTNULL

课程名

course_xf

number

NOTNULL

学分

course_ks

int

NOTNULL

课时

表5:

tb_grade表

字段

类型

约束

说明

grade_course_num

char(10)

联合主键,

外键关联tb_course(course_num)

grade_student_num

char(11)

联合主键,

外键关联tb_student(snum)

grade_score

int

notnull

表6:

tb_teacher_course表

字段

类型

约束

说明

teacher_id

char(7)

老师工号

course_num

char(10)

课程号

表7:

tb_student_course表

字段

类型

约束

说明

student_num

char(11)

学生学号

course_num

char(10)

课程号

5.2数据库表

图4

图5

图6

图7

图8

6.实现及测试

6.1功能实现截图

第一步:

登陆学生管理系统

图9

第二步:

输入密码和学号

图10

第三步:

添加学生信息

图11

第四步:

填写学生信息

图12

第五步:

添加学生信息成功

图13

第六步;添加老师信息

图14

第七步:

分配教师信息成功

图15

分配教师课程可以选择课程编号和工号:

图16

添加学生信息列表

图17

删除其中一条信息,系统会提示是否删除

图13

7.结论:

特点和不足

7.1特点:

通过以下程序链接数据库

publicclassDBManager{

/*准备连接数据库的字符串*/

//数据库不同,那么数据库的DRIVER和URL也不相同

//数据库连接驱动(我们连接任何一种数据库都需要驱动jar包)

privatestaticfinalStringDRIVER="com.mysql.jdbc.Driver";

privatestaticfinalStringURL="jdbc:

mysql:

//localhost:

3306/db_sgms";

privatestaticfinalStringUSERNAME="root";

privatestaticfinalStringPASSWORD="123";

//①在静态块中通过反射机制加载驱动

static{

try{

Class.forName(DRIVER);

}catch(Exceptione){

}

}

//②通过驱动管理器获取数据库连接

publicstaticConnectiongetConn(){

Connectionconn=null;

try{

conn=DriverManager.getConnection(URL,USERNAME,PASSWORD);

}catch(Exceptione){

e.printStackTrace();

}

returnconn;

}

7.2不足之处:

还有一部分功能未能完成,例如,学生登陆界面么有做,老师登陆界面没有完成,另外许多界面没有优化,没有达到好的效果,不能给人以美感。

8.心得体会

总的来说这次计算机网络课程设计让我收获良多,这次又让我们重新认识了数据库,以前我们也做过数据库的实验,不过我都是零散的东西,但这次我们系统的完成了学生成绩管理系统的操作,学到了很多以前没学到的东西,同时也明白了我们真正要学的东西还很多,不要因为考试通过了就放松学习。

这次的实训同样是由外面的老师带领我们来做,因此我们更深层次的了解整个过程的操作流程,认识到了各个代码的作用,如何调用数据库,如何完整的将数据存储到数据库中来,同时让我们认识了这么新的课程,给了我们以后更大的发展空间,另外我也感觉这次的课程设计老师很负责,给我们很多自由练习的机会。

另外,我们常常因为一个小错误,吃了很多苦,常常是一个单词的错误而走了很多弯路,程序不能正常运行,搞得很窝火,但凡事有苦也会有甜,看着自己的写的程序能正常运行,在自己手里一点一点的写出来,并能展示出结果,我心里有说不出来的高兴,确实我也学到了很多,以前没学好的,现在得到了巩固,而且我发现我们也需要细心和耐性,我想这也是这次实训的目的,我也能体会到老师的用心良苦,数据库对我们来说也是一门基础,这样做也是为了让我们更好掌握它,也为了我们在以后的学习中更好的发挥。

最后,虽然程序大体运行的没有问题,但也存在很多实际问题没解决,如果真正要把它运用于实际还很难,毕竟我们学的知识还不够完善,不能将设计做的尽善尽美。

 

9.参考文献

10.1周绪•SQLServer2000入门与提高(中文版)•北京:

清华大学出版社,2004年2月

10.2于松涛•SQLServer2000数据库管理与开发技术大全•北京:

人民邮电出版社,2005年5月

10.3StevenFeuerstein •OraclePL/SQL最佳实践•北京:

机械工业出版社,2009年

10.4黄河 •racle9iForWindowsNT_2000数据库系统培训教程•北京:

清华大学出版社,2005年

 

设计过程及答辩回答问题记载:

(至少三个问题)

1.问:

数据库不同,那么数据库的DRIVER和URL也相同吗?

答:

不会相同

2问:

数据库连接驱动程序是?

答:

privatestaticfinalStringDRIVER="com.mysql.jdbc.Driver";

privatestaticfinalStringURL="jdbc:

mysql:

//localhost:

3306/db_sgms";

privatestaticfinalStringUSERNAME="root";

privatestaticfinalStringPASSWORD="123";

3问:

如何实现教师课程分配功能

答:

当打开教师课程分配按钮时,分别从教师表和课程表中提取数据,显示在界面中的下拉式对话框中,然后用户只进行选择就可以了。

 

指导教师评语:

 

签名:

2013年12月27日

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

当前位置:首页 > PPT模板 > 动态背景

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

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