学生信息管理系统实验报告原版文档.pdf
《学生信息管理系统实验报告原版文档.pdf》由会员分享,可在线阅读,更多相关《学生信息管理系统实验报告原版文档.pdf(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 数据库原理及其应用教程 课程设计 学生信息管理系统 学生姓名 学 号 所在专业 所在班级 指导教师 提交时间 评阅情况 成 绩 数据库课程设计 1 目录 摘 要第一章 绪论11 研究背景.12 需求分析.1.2.1 功能需求.1.2.2 数据需求.第二章 总体设计21 软件结构设计.2.2 系统模块设计.第三章 数据库设计31 概念结构设计.3.2 逻辑结构设计.3.3 SQL 语句实现.第四章 系统模块详细设计.4.1 登录界面.4.2 相关功能界面.4.2.1 学生基本信息编辑界面.4.2.2 学生信息查询界面统计.4.2.3 个人成绩查询界面设计.4.2.4 班级成绩查询界面设计.第五
2、章 课程设计总结.附录 摘 要 该课程设计是利用 NetBeans 和 SQL Server 等工具完成学生信息管理系统的开发,它主要包括学生基本信息管理、家庭信息管理、奖惩信息管理和成绩信息管理等模块,系统除了可以完成对相关信息的录入、修改及删除等操作之外,还数据库课程设计 2 能够对学生信息和成绩信息进行查询、统计,以便于管理人员一目了然地掌握学生基本情况。学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如
3、:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。作为计算机应用的一部分,使用计算机对学生信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生信息管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。第一章 绪论 1.1 研究背景 学生信息管理系统是学校管理的重要工具,是学校不可或缺的部分。随着在校大学生人数的不断增加,教务系统的数量也不断的上涨,。学校工作繁杂、资料众多,人工管理信息的难度也越来越大,显然是不能满足实际的需要,效率也是很低的。
4、并且这种传统的方式存在着很多的弊端,如:保密性差、查询不便、效率低,很难维护和更新等。然而,本系统针对以上缺点能够极大地提高学生信息管理的效率,也是科学化、正规化的管理,与世界接轨的重要条件。所以如何自动高效地管理信息是这些年来许多人所研究的。1.2 需求分析 需求分析的任务是通过详细调查用户的各种需求,在此基础之上确定新系统的功能。新系统还必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。数据库课程设计 3 1.2.1 功能需求 经过对用户实际管理工作的调研以及其对信息的关注度,最终确定本系统主要需要完成以下功能:1学生基本信息管理功能:完成对学生基本资料信息进行管理。2
5、学生家庭信息管理功能:完成对学生家庭信息进行管理。3学生奖惩信息管理功能:完成对学生每学期受到的奖励或惩罚信息进行管理。4学生成绩信息管理功能:完成对学生学习的课程以及其成绩进行管理。5信息查询统计:按姓名或学号对某个学生的基本信息进行查询;按学号或姓名、学期对某个学生在该学期所有成绩的查询;按班级、课程名对某个班级某门课程的查询;按班级、课程名和满足成绩条件对学生成绩进行筛选查询;按班级和课程名并且满足某个成绩条件的学生成绩进行统计,包括满足条件的学生人数,总分,平均分,最高分和最低分。1.2.2 数据需求 进行数据的需求分析时,不但要考虑到软件系统当前要实现的功能,更要注重软件的可维护性和
6、扩展性,即考虑到以后可能增长的需求。根据用户的需求以及用户对信息的关注程度,得到系统对数据的需求描述如下:1记录学生的基本信息,包括学号、姓名、班级、性别、年龄、民族、政治面貌、电话、E-mail、QQ 号码等。2记录学生家庭的基本信息,包括家庭编号、家庭住址、邮编、联系电话、家长姓名等。3记录学生的奖惩情况,包括奖惩编号、奖惩原因、奖惩内容、奖惩学期等。4记录学生选修的课程情况,包括课程号、课程名称、课程学分、授课学时等。5记录学生的成绩信息,包括学号、课程号、学期和成绩等。数据库课程设计 4 6记录用户的信息,包括用户编号,用户名,密码和用户权限等。第二章 总体设计 2.1 软件结构设计
7、本系统是对学生信息、家庭信息、奖惩信息、课程信息和成绩信息进行管理,主要包括添加、修改和删除学生的基本信息、家庭信息、奖惩信息、课程信息和成绩信息,对基本信息、成绩信息进行查询和统计操作,从而实现学生管理的自动化与计算机化。为了方便操作,我们将系统主要划分为四个模块:1系统管理模块:实现用户的登录及整个系统主窗体的管理。2基本信息管理模块:实现学生基本信息、家庭信息、奖惩信息的添加、修改、删除等操作。3成绩信息管理模块:实现课程信息和成绩信息的添加、修改、删除等操作。4查询统计模块:实现学生个人信息的查询及满足条件的班级的学生成绩的查询统计。2.2 系统模块设计 根据需求分析的结果,系统总体结
8、构图如图2-1 所示。数据库课程设计 5 图 2-1 系统类结构图 第三章 数据库设计 在信息系统中,后台数据存储的地位相当重要,数据库的设计是程序开发和设计的关键性工作。设计合理的数据库能提高数据存储的效率,降低程序开发的难度,减缩软件开发的周期。通过数据的需求分析得到的结果画出数据库 E-R 图,StuOneScoreQuery.java 个人成绩查询 学生信息管理系统 系统管理 学生信息管理 成绩管理 查询统计 StudentIMS.java 主窗体 DBClass.java 数据处理模块 UserLogin.java 用户登录 StudentEdit.java 学生基本信息编辑 Fam
9、ilyEdit.java 家庭信息编辑 RPEdit.java 奖惩信息编辑 StudentQuery.java 学生信息查询 ClassScoreQuery.java 班级成绩查询 CourseEdit.java 课程信息编辑 ScoreEdit.java 成绩信息编辑 数据库课程设计 6 接着根据 E-R 图创建数据表及其数据对象,最后向数据库中添加数据。这便是我们需要完成的数据库概念结构设计和数据库逻辑结构设计。3.1 概念结构设计 所谓的概念结构设计,即是将需求分析得到的用户需求抽象为信息结构即概念模型的过程。通过概念结构设计最终得到数据库的 E-R 模型,其主要步骤如下:1确定系统中
10、存在的有用实体 根据需求分析,在学生信息管理系统中,需要完成学生基本信息、家庭信息、奖惩信息和成绩信息的管理。我们可以很容易知道本系统中主要涉及学生、家庭、奖惩和课程等四个实体。2确定实体之间联系的类型 实体之间联系主要存在三种,分别是:一对一联系(1:1),一对多联系(1:N)和多对多联系(M:N)。根据需求分析,在学生信息管理系统中一个学生只能拥有一个家庭,一个家庭也只有一个孩子在班级中学习;一个学生可能有一条或多条奖惩信息;一个学生可以选修多门课程,一门课程也可以被多个不同的学生选修等。因此,以上各实体之间存在如下关系:学生:家庭 1:1 学生:奖惩 1:N 学生:课程 M:N 3将各个
11、实体通过联系连接起来,形成简单的E-R 图。在确定了实体及其关系之后,我们就可以将其组合起来形成一个简单的E-R图,如下图所示:图 2-2 简单 E-R 图 接受 学生 家庭 奖惩 课程 拥有 选修 1 1 M N 1 N 数据库课程设计 7 4确定实体与联系的属性及码 学生实体 E-R 图如图 2-3 所示,包括学号、姓名、班级、性别、年龄、民族、政治面貌、电话、E-mail、QQ 号等属性。图 2-3 学生实体 E-R 图 家庭实体 E-R 图如图 2-4 所示,包括家庭编号、家庭住址、邮编、联系电话、家长姓名等。图 2-4 家庭实体 E-R 图 奖惩实体 E-R 图如图 2-5 所示,包
12、括奖惩编号、奖惩原因、奖惩内容、奖惩学期等属性。图 2-5 奖惩实体 E-R 图 课程实体 E-R 图如图 2-6 所示,包括课程号、课程名称、课程学分、授课学姓名 性别 学生 学号 年龄 民族 政治面貌 班级 E-mail QQ 号 电话 奖惩 奖惩编号 奖惩原因 奖惩学期 奖惩内容 家庭 家庭编号 家庭住址 联系电话 家长姓名 邮编 数据库课程设计 8 时等属性。图 2-6 课程实体 E-R 图 作为例子,本章对所有的实体的属性都进行了简化,只有一些必要的属性,有兴趣的学员可以进行进一步丰富其描述。5把实体及联系的属性组合起来,形成完整E-R 图。在确定了实体及其联系的属性和码之后,我们就
13、可以将其组合起来形成一个完整的 E-R 图(为了节省篇幅,在这里只画出了选修联系的属性,其它实体的属性参考图 2-3 至 2-6 各实体的属性即可),如图 2-7 所示:图 2-7 完整 E-R 图 3.2 逻辑结构设计 E-R 图表示的是数据库的概念模型,它独立于任何一种数据模型,独立于任何一种具体的数据库管理系统,因此,需要把上述的概念模型转换为具体的被数据库管理系统所支持的数据模型,这就是数据库的逻辑结构设计。首先,根据完整的 E-R 图,将其转换为相应的关系模式。其基本转换规则如下:1每个实体转换为一个关系模式,实体的属性为关系模式的属性,实体的码为关系模式的码。课程 课程号 课程名称
14、 授课学时 课程学分 学生 家庭 奖惩 课程 拥有 接受 选修 1 1 M N 1 N 成绩 学期 数据库课程设计 9 学生(学号,姓名,班级,性别,年龄,民族,政治面貌,电话,E-mail,QQ 号)家庭(家庭编号,家庭住址,邮编,联系电话,家长姓名)奖惩(奖惩编号,奖惩原因,奖惩内容,奖惩学期)课程(课程号,课程名称,课程学分,授课学时)2一般情况下,1:1 和 1:N 的联系不需要单独转换为关系模式,只需要将 1对应的实体的码放入另一方即可。学生与家庭之间 1:1 的联系只需要将学生的码学号放入家庭即可描述,因此将上面的家庭关系模式修改为:家庭(家庭编号,学号,家庭住址,邮编,联系电话,
15、家长姓名)同样,学生与奖惩之间的 1:N 的联系也只需要将学生的码学号放入奖惩即可描述,因此将上面的奖惩关系模式修改为:奖惩(奖惩编号,学号,奖惩原因,奖惩内容,奖惩学期)3一般情况下,M:N 的联系需要单独转换为一个关系模式,联系的属性作为关系模式的属性,联系两端实体的码的组合作为关系模式的码。因为只有当学生选修了课程之后才可能出现成绩,所以学生与课程之间 M:N的联系就必须单独转换为一个关系模式,其描述如下:选修(学号,课程号,学期,成绩)然后,将转换得到的关系模式根据所使用的数据库管理系统进行具体的描述,包括其类型、大小、约束等信息。学生信息管理系统使用的是SQL Server2000数
16、据库。数据库中各个表的结构描述如表2-6 至 2-11 所示。表 2-6 学生信息表 StudentInfo 字段名 字段说明 数据类型 字段长度 必填字段 主(外)键 sno 学号 varchar 10 是 主键 sname 姓名 varchar 20 是 class 班级 varchar 30 否 sex 性别 char 2 否 age 年龄 smallint 2 否 数据库课程设计 10 nationality 民族 varchar 12 否 zzmm 政治面貌 char 4 否 stu_tel 电话 varchar 20 否 email 电子邮箱 varchar 30 否 qq QQ
17、号码 varchar 12 否 表 2-7 家庭信息表 FamilyInfo 字段名 字段说明 数据类型 字段长度 必填字段 主(外)键 sno 学号 varchar 10 是 主键,外键 homeaddress 家庭住址 varchar 50 否 postcode 邮编 char 6 否 family_tel 家庭电话 varchar 30 否 pname 家长姓名 varchar 20 否 表 2-8 奖惩信息表 RPInfo 字段名 字段说明 数据类型 字段长度 必填字段 主(外)键 rpno 奖惩编号 int 4 是 主键,自动增加 sno 学号 varchar 10 是 外键 rpr
18、eason 奖惩原因 varchar 50 否 rpcontent 奖惩内容 varchar 20 否 rpterm 奖惩学期 smallint 2 否 表 2-9 课程信息表 CourseInfo 字段名 字段说明 数据类型 字段长度 必填字段 主(外)键 cno 课程号 char 4 是 主键 数据库课程设计 11 cname 课程名 varchar 30 是 ccredit 课程学分 smallint 2 否 chours 授课学时 smallint 2 否 表 2-10 成绩信息表 ScoreInfo 字段名 字段说明 数据类型 字段长度 必填字段 主(外)键 sno 学号 varch
19、ar 10 是 外键 主键 cno 课程号 char 4 是 外键 sterm 学期 smallint 2 否 grade 成绩 float 8 否 表 2-11 用户登录信息表 UserInfo 字段名 字段说明 数据类型 字段长度 必填字段 主(外)键 userno 用户编号 char 4 是 主键 username 用户名 varchar 20 是 password 密码 varchar 20 否 usertype 用户类型 varchar 10 否 最后,在确定了各个数据表中字段的类型、大小及约束之后,即可在 SQL Server2000数据库管理系统中建立相关数据表结构及其相关的联系
20、。到此为止,数据库的设计就完成了,下面我们就可以直接进入应用程序的设计。3.3 SQL 语句实现 数据表的创建:(1)学生信息表创建:CREATE TABLE StudentInfo(sno VARCHAR(10)PRIMARY KEY,sname VARCHAR(20)NOT NULL,class VARCHAR(30),sex CHAR(2),数据库课程设计 12 age SMALLINT,nationality VARCHAR(12),zzmm CHAR(4),stu_tel VARCHAR(20),email VARCHAR(30),qq VARCHAR(12)(2)家庭信息表创建:C
21、REATE TABLE FamilyInfo(sno varchar(10)primary key,homeaddress varchar(50),postcode char(6),family_tel varchar(30),pname varchar(20),foreign key(sno)references StudentInfo(sno)数据库课程设计 13(3)奖惩信息表创建:CREATE TABLE RPInfo(rpno int identity(1,1)primary key,sno varchar(10)not null,rpreason varchar(50),rpcon
22、tent varchar(20),rpterm smallint,foreign key(sno)references StudentInfo(sno)(4)课程信息表创建:CREATE TABLE CourseInfo(cno char(4)primary key,cname varchar(30)not null,ccredit smallint,chours smallint)(5)成绩信息表创建:数据库课程设计 14 CREATE TABLE ScoreInfo(sno varchar(10),cno char(4),sterm smallint,grade float,primary
23、 key(sno,cno),foreign key(sno)references StudentInfo(sno),foreign key(cno)references CourseInfo(cno)(6)用户登录信息表创建:CREATE TABLE UserInfo(userno char(4)primary key,username varchar(20)not null,password varchar(20),usertype varchar(10)视图的创建:数据库课程设计 15(1)“stu_f”视图创建:create view stu_f as select StudentInf
24、o.*,homeaddress,postcode,family_tel,pname from StudentInfo,FamilyInfo where StudentInfo.sno=FamilyInfo.sno (太长未完全复制过来)(2)“s_sc_c”视图创建:create view s_sc_c as select ScoreIo,cname,grade,ccredit,StudentInfo.sno,sterm from ScoreInfo,CourseInfo,StudentInfo where StudentInfo.sno=ScoreInfo.sno and CourseIo=
25、ScoreIo (3)“stu_rp”视图创建:create view stu_rp 数据库课程设计 16 as select RPInfo.*,sname,class from StudentInfo,RPInfo where StudentInfo.sno=RPInfo.sno 第四章 系统模块详细设计 4.1 登陆界面。学生信息管理系统运行后先点“系统管理”中的“系统登录”即可看到此界面,输入用户名和密码,验证正确后就可查看“学生信息编辑”、“成绩管理”、“查询统计”权力。输入错误则会弹出提示!数据库课程设计 17 用户名、密码输入正确,登录成功!4.2 相关功能界面 登录成功后,可以对
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统 实验 报告 原版 文档
限制150内