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

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

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

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

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

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

1、系统概述

学生成绩管理是高校内每一个系部或院部都必须切实面对的工作,但一直以来人们使用传统的人工方式管理学生成绩管理。

这种方式存在着许多缺点,如效率低、失误高且较为繁琐。

另外,随着学生人数的增加,其工作量也将大大增加,这必将增加学生成绩管理者的工作量和劳动强度,这将给学生成绩信息的查找、更新和维护都带来了很多困难。

经过详细的调查,目前我国各类高等学校中有相当一部分单位学生成绩管理还停留在人工管理的基础上。

这样的管理机制已经不能适应时代的发展,其管理方法将浪费许多人力和物力。

随着科学技术的不断提高,这种传统的手工管理方法必然被以计算机为基础的信息管理方法所取代。

学生成绩管理作为计算机应用的一个分支,有着手工管理无法比拟的优点,如检索迅速、查找方便、可靠性高、存储量大、寿命长、成本低等。

这些优点能够极大地提高学生成绩管理的效率。

因此,开发一套能够为用户提供充足的信息和快捷的查询手段的学生成绩管理系统,将是非常必要的,也是十分及时的。

2、需求分析

学生成绩管理是一件非常繁琐但又及其重要的工作,因此有必要开发一个数据库管理系统,用来管理这些信息。

系统的具体要求如下所述:

(1)学生成绩的录入:

要求能够将学生成绩录入到数据库中。

(2)学生成绩的修改:

根据需要,修改、删除学生成绩。

(3)学生成绩的查询:

可以查询任意学生的基本信息及其所选课程和成绩。

(4)学生成绩的统计:

可以对任意教师所教学生的成绩进行查询并统计。

3、数据库设计

数据库设计主要在SQLServer服务器端建立数据库和数据表,并实现数据处理功能。

本文所设计的数据库中要记录学生的成绩情况、学生成绩被查询的情况以及学生、成绩的基本情况。

下面对学生成绩管理系统所需的数据结构进行分析并创建数据库。

3.1概念结构设计

现在对所设计系统的需求作进一步的分析,产生概念结构设计的E-R模型。

由于这个系统并不复杂,因此可采用自顶向下的设计方法。

自顶向下设计的关键是确定系统的核心活动。

所谓核心活动就是系统中的其他活动都要围绕这个活动展开,或与此活动密切相关。

确定了核心活动之后,系统就有了可扩展的余地。

对于这个学生成绩管理系统,其核心活动是查询,学生与成绩之间是通过查询发生联系的。

因此,此系统包含的实体有:

课程、学生、教师、成绩、班级。

E-R图如下:

学生信息E-R图

课程信息E-R图

教师信息表E-R图

学生成绩E-R图

班级信息E-R图

3.2逻辑结构设计

有了基本的E-R模型就可以进行逻辑结构设计,也就是设计基本的关系模式。

设计基本的关系模式主要从E-R模型出发,将其直接转换为关系模式。

根据转换规则,这个E-R转换的关系模式为:

设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系,其关系模式中对每个实体定义的属性如下:

(1)课程信息表

Class:

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

(2)学生信息表

Student1:

(学号,姓名,性别,年龄,专业,系别)

(3)学生成绩表

Score:

(学号,课程名,成绩)

(4)教师信息表

Teacher:

(教师年龄,教师姓名,教师性别,教师系别)

现在分析一下这些关系模式。

由于在设计关系模式时是以现实存在的实体为依据,而且遵守一个基本表只描述现实世界的一个主题的原则,每个关系模式中的每个非主码属性都完全由主码唯一确定,因此上述所有这些关系模式都是第三范式的关系模式。

在设计好关系模式并确定好每个关系模式的主码后,接着根据这些关系模式之间的关联关系确定关系模式的外码。

系统数据库的名称为Data,数据库中包括:

(1)课程信息表(class);

(2)学生信息表(student);

(3)教师表(teacher);

(4)成绩表(score);

课程信息表(class)

字段名

描述

数据类型

字段限制

cname

课程名

char(10)

Notnull

teano

教师姓名

char(10)

Notnull

credit

学分

char(4)

Notnull

ctime

学时

char(50)

Notnull

 

学生信息表(student1)

字段名

描述

数据类型

字段权限

sno

学号

char(10)

Primarykey

sname

姓名

char(10)

Notnull

ssex

性别

char

(2)

Notnull

sage

年龄

char

(2)

Notnull

major

专业

char(10)

Notnull

depart

系别

char(10)

Notnull

 

教师表(teacher)

字段名

属性

数据类型

字段权限

Tage

教师年龄

char(10)

Primarykey

tname

教师姓名

char(10)

Notnull

Tsex

教师性别

char

(2)

Notnull

Tdepart

教室系别

char(10)

Notnull

 

字段名

属性

数据类型

字段权限

sno

学号

char(10)

Primarykey

cno

课程名

char(10)

Notnull

degree

成绩

char(10)

Notnull

成绩表

 

有了数据库的基本表之后,需要看一下这些基本表能否满足产生报表的需求。

在数据库应用系统中,用户需要产生大量的报表,而报表的内容来自数据库中的基本表。

因此在设计好数据库的基本表之后,要看一下这些基本表的内容是否全部包含了要产生的报表的内容。

如果满足,则说明所设计的基本表在满足报表方面是完善的;若不能满足,则看一下报表中的哪些项没有被包含在基本表中,并将它们加到合适的基本表中。

需注意的是,在基本表中添加了新属性后,要判断被修改的表是否还满足第三范式的要求,如果不满足,还要进行关系的规范化。

比如若此学生成绩管理系统要求生成学生查询情况表,内容包括学生证编号、学生姓名、查询科目,其中的“学生证编号”、“学生姓名”可由学生信息表得到,“查询科目”可由课程信息表得到,因此我知道所设计的基本表能够满足报表的要求。

这可以通过定义视图实现,也可以在生成报表时通过查询语句实现。

4、数据库行为设计

对于数据库应用系统来说,最常用的功能就是安全控制、对数据的增、删、改、查及生成报表。

本例也应包含这些基本的操作。

4.1安全控制

任何数据库应用系统都需要安全控制功能,这个学生成绩管理系统也不例外。

假设将系统的用户分为如下几类:

(1)系统管理员:

有系统的全部权限。

(2)成绩管理员:

具有对学生成绩基本数据的维护权。

(3)学生:

具有对学生基本数据的维护权。

(4)普通用户:

具有对数据的查询权。

在实现时,将每一类用户定义为一个角色,这样在授权时只需对角色授权,而无需对每个具体的用户授权。

4.2数据操作功能

数据操作功能包括对这些数据的录入、删除、修改功能。

具体如下:

(1)数据录入包括对这4张表的数据的录入。

只有具有相应权限的用户才能录入相应表中的数据。

(2)数据删除包括对这4张表的数据的删除。

只有具有相应权限的用户才能删除相应表中的数据。

数据的删除要注意表之间的关联关系,比如当某个学生退学时,在删除“学生信息表”中的数据之前,应先删除此学生的全部成绩情况,然后再在信息表表中删除此学生。

此外,在实际删除操作之前应该提醒用户是否真的要删除数据。

(3)数据修改当某些数据发生变化或某些数据录入不正确时,应该允许用户对数据库中的数据进行修改。

修改数据的操作一般先根据一定的条件查询出要修改的记录,然后再对其中的某些记录进行修改,修改完成后再写回到数据库中。

同数据的录入与删除一样,只有具有相应权限的用户才能修改相应表中的数据。

(4)数据查询在数据库应用系统中,数据查询是最常用的功能。

数据查询应根据用户提出的查询条件查询,在设计系统时应首先征求用户的查询需求,然后根据这些查询需求整理出系统应具有的查询功能。

一般允许所有使用数据库的人都具有查询数据的权限。

本系统应具有的查询要求有:

(1)根据身份证号,班级,学生证等信息查询学生的基本信息。

(2)根据学生查询他的的成绩信息。

(3)根据成绩查询学生的情况。

(4)统计查询成绩总次数情况。

(5)统计每个学生成绩的被查询次数(6)统计每位学生的每次成绩。

4.3生成报表

生成报表是数据库应用中不可缺少的一个功能,也是比较麻烦的工作。

所幸的是,常见的许多数据库开发工具(如VisualBasic、Delphi、PowerBuilder等)都提供了报表生成工具,用户可以直接使用这些工具来生成符合实际工作要求的报表。

这里需要生成读者借书情况表,这张表所包含的内容为:

学生查询成绩情况表(学生证号,学生姓名,查询科目,查询日期日期)。

由于这张表的内容不能与某个关系模式完全对应,因此可以采用定义视图的方法来解决。

由于数据库中对视图的操作与对数据库基本表的操作是一样的,因此对用户来说感觉不到用于生成报表的数据库表是基本表还是视图表。

在实际的数据库应用系统中,用于生成报表的表经常用视图表来实现。

为了灵活起见,可以对数据库的基本表进行任意的组合来生成复杂的报表。

而在设计数据库时不必受生成的报表的内容的影响,从而设计出最合适的数据库表结构。

6、总结

这次的课程设计是用数据库来做的,以前只是做些语言类的课程设计,做出来的课程设计自己看着都不怎么好,但是这次实验缺与以前的大不相同,因为生活中大部分的数据都是在数据库中完成的,所以做这次课程设计感觉与现实生活接触最近,做起来也比较有兴趣,但是面临的问题可想而知。

通过这次课程设计使我对软件的界面设计有了一个比较深刻的了解,对各种系统软件的性能有了清晰的认识。

一个好的课程设计应该具有人性化的界面,协调的布局,合理的结构,良好的性能和一定的容错性。

本次课程设计并不是十分完美,由于时间仓促以及本人所学知识有限等方面原因,最终在同学的帮助下还是艰难的完成了。

参考文献:

[1]何玉洁.《数据库原理与应用教程》.机械工业出版社.2007.

[2]刘亚军高莉莎.《数据库设计与应用》.清华大学出版社.2007.

[3]明日科技杨湖李凤蕾王斌.《SQLServer2005数据库系统开发案例精选》.人民邮电出版社.2007.

[4]王珊萨师煊.《数据库系统概论》.高等教育出版社.2006.

 

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

当前位置:首页 > 经管营销 > 经济市场

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

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