学生信息管理系统数据库课程设计报告 精品.docx
- 文档编号:5907527
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:26
- 大小:283.91KB
学生信息管理系统数据库课程设计报告 精品.docx
《学生信息管理系统数据库课程设计报告 精品.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统数据库课程设计报告 精品.docx(26页珍藏版)》请在冰点文库上搜索。
学生信息管理系统数据库课程设计报告精品
课程设计报告
学生姓名:
学号:
学院:
班级:
题目:
学生信息管理系统
指导教师:
职称:
2013年7月5日
目录
1概述2
1.1课题研究的背景及意义2
1.2国内外研究现状2
2系统分析4
2.1系统功能描述4
2.1.1课程管理模块4
2.1.2学生信息管理模块5
2.1.3学生成绩管理模块5
2.1.4用户登录管理模块6
2.2表结构实现6
2.2.1学生信息表7
2.2.2学生课程表7
2.2.3学生成绩表7
2.2.4用户表8
2.3数据存储分析:
实体联系图8
3数据库逻辑设计10
4数据库实现11
4.1程序设计11
4.1.1程序设计原则11
4.1.2程序语句的数据库实现11
4.2系统运行操作13
4.2.1学生对系统的运行操作13
4.2.2教师对系统运行操作14
4.2.3建立视图15
5课设总结17
参考文献18
附程序代码19
1概述
1.1课题研究的背景及意义
该项目开发的软件为学校学生信息管理系统软件,是鉴于目前学校学生人数剧增,学生信息呈爆炸性增长的前提下,学校对学生信息管理的自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计完成后可用于所有教育单位(包括学校,学院等等)的学生信息的管理.
目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生信息管理软件也不少.但本系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作
学生信息管理系统是一个教育单位不可缺少的部分。
一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。
所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:
效率低、保密性差,人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用。
作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理所无法比拟的优点.例如:
检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。
1.2国内外研究现状
学生成绩管理是各大学的主要日常管理工作之一,涉及到校、系、师、生的诸多方面,随着教学体制的不断改革,尤其是学分制、选课制的展开和深入,学生成绩日常管理工作及保存管理日趋繁重、复杂。
迫切需要研制开发一款功能强大,操作简单,具有人性化的学生成绩管理系统。
在国外高校,与国内不同,他们一般具有较大规模的稳定的技术队伍来提供服务与技术支持。
而国内高校信息化建设相对起步较晚。
在数字校园理论逐步应用的过程中,各高校一方面不断投资购建各种硬件、系统软件和网络,另一方面也不断开发实施了各类教学、科研、办公管理等应用系统,形成了一定规模的信息化建设体系。
但是,由于整体信息化程度相对落后,经费短缺,理论体系不健全等原因,国内高校教务管理系统在机构设置、服务范围、服务质量及人员要求上与国外高校相比都有一定的差距。
纵观目前国内研究现状,在安全性和信息更新化方面存在有一定的不足,各现有系统资料单独建立,共享性差;在以管理者为主体的方式中,信息取舍依赖管理者对于信息的认知与喜好,较不容易掌握用户真正的需求,也因此无法完全满足用户的需求。
因此,教务管理软件应充分依托校园网,实现教务信息的集中管理、分散操作、信息共享,使传统的教务管理朝数字化、无纸化、智能化、综合化的方向发展,并为进一步实现完善的计算机教务管理系统和全校信息系统打下良好的基础。
2系统分析
学生信息管理系统主要模块包括学生基本信息管理,学生选课管理,学生成绩管理和系统服务模块。
下面对系统模块和功能进行概述:
2.1系统功能描述
学生信息系统主要有4个功能模块,下图为系统总功能层次图
图2-1系统功能图
2.1.1课程管理模块
该模块对各个班级各个学期的课程进行设置,方便了学校教务处的教学管理人员的工作。
该模块包括课程的增加和课程信息的浏览,其中课程信息浏览窗体中包括课程的修改,删除,打印功能。
图2-2课程管理功能图
2.1.2学生信息管理模块
该模块对全体学生信息进行管理,包括学生信息的添加和学生信息的浏览,其中学生信息浏览窗体中包括课程的修改,删除,打印,查询功能。
图2-3学生信息管理功能图
2.1.3学生成绩管理模块
该模块主要是实现对学生成绩的录入查询工作,包括:
学生成绩的录入,学期成绩浏览,学生成绩查询,班级成绩查询,违规信息的增加及浏览。
图2-4学生成绩管理功能图
2.1.4用户登录管理模块
此模块包括学生登录和教师登录,其功能主要是学生对自己信息和成绩的查询,教师对学生信息和成绩的管理。
图2-5用户登陆管理
2.2表结构实现
根据系统功能设计的要求以及功能模块的划分,对于系统用户信息数据库,可以列出以下数据项和数据结构:
2.2.1学生信息表
表名称标识:
Student_course表
数据来源:
学生成绩录入模块进行录入。
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
Sno
char
13
P
Notnull
学号
Sname
char
20
Notnull
姓名
Ssex
char
2
Notnull
性别
Snation
char
8
Notnull
民族
Sclass
char
4
Notnull
班级
Sage
smallint
Notnull
年龄
Entrance_date
smalldatetime
Notnull
入学时间
specialty
char
20
Notnull
所学专业
表2-1学生信息表
2.2.2学生课程表
表名称标识:
Course表
数据来源:
课程管理模块进行录入
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
Cno
Char
4
P
Notnull
课程号
Cname
Char
20
Notnull
课程名
Techer
Char
20
Notnull
任课教师
Ccredit
Smallint
Notnull
学分
表2-2学生课程表
2.2.3学生成绩表
表名称标识:
SC表
数据来源:
学生成绩录入模块进行录入。
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
Cno
char
4
Pf
Notnull
课程号
Sno
char
13
Pf
Notnull
学号
Grade
Smallint
成绩
SC_semester
Smallint
Notnull
学期
表2-3学生成绩表
2.2.4用户表
表名称标识:
Syuser表
数据来源:
权限管理模块进行录入
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
User_id
char
13
P
Notnull
用户编号
User_role
char
10
Notnull
用户角色
Password
char
8
Notnull
密码
表2-4用户表
2.3数据存储分析:
实体联系图
1.数据模型设计。
首先来做出学生成绩管理模块的E-R图,分析这个问题的实体,从系统分析可以知道,学生的成绩是由任课教师按照课程给出的,学生、课程、教师组成了这个系统的三个实体。
2.再分析三个实体之间的联系。
首先,这三个实体不是一个统一体,学生成绩与教师没有内在联系,教师必须通过课程实体才能与学生建立联系,因而先不考虑。
课程与学生这两个实体是多对多联系;一位学生要学习多门课程,一门课程有多位学生共同学习。
而学习成绩是这两个实体“学生”和“成绩”共有的属性,应填在二者的联系“学习”边。
因为成绩既不是学生独有的,也不是课程独有的;“学生甲80分”或“英语80分”是不完全的,说“学生甲英语80分”才是正确的,因为80分是学生甲和英语课二者共有的。
这个E-R图可画成下图。
教师,学生与课程的E-R图组合到一起,得到最后的E-R图,有了E-R图,就可以设计数据库。
下图为数据模型图。
图2-8系统E-R图
3数据库逻辑设计
关系模型的逻辑结构是一组关系模式的集合。
E-R图则由实体、实体的属性和实体之间的联系三个要素组成的。
所以将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转换为关系模式,如下:
1.用户表:
用户编号,用户角色,用户密码。
2.学生信息表:
学号,姓名,性别,民族,班级,年龄,入学时间,所学专业。
3.学生课程表:
课程号,课程名,任课教师,学分。
4.学生成绩表:
课程号,学号,成绩,学期。
图3-1关系模型
4数据库实现
4.1程序设计
4.1.1程序设计原则
程序设计采用自顶向下的原则,先把程序高度概括,看作是一个简单的控制结构,即功能结构。
把模块进一步分解成若干个较低一层的模块,对扩展出来的每一个下层模块进一步分解,直到最低一层的每一个模块都非常简单、功能很小,能够很容易地用程序语句实现为止。
在设计中还要遵循一致性、可重用性、可维护性,本系统的程序变量和程序对象以及数据库表等在各个模块中具有一致的命名规则。
为系统的快速开发及以后的维护都带来方便。
程序设计中的可重用性可大大提高程序开发和维护的效率。
通过对控件和函数的调用,对象的继承封装,减少了代码的重复书写,并减少了数据冗余。
在程序设计中,考虑到程序的修改及以后的维护,尽量在代码中使用注释,对部分程序尽量使用函数和控件,这样就只需要维护很少的代码且具简单性,可提高维护效率。
4.1.2程序语句的数据库实现
1.数据库建立
程序语句:
CREATEDATABASEyk
Go
图4-1数据库建立
2.表的建立
(1)用户表程序语句:
Useyk
go
CREATETABLESyuser
(User_idCHAR(13)PRIMARYKEY,
PasswordCHAR(8),
User_roleCHAR(10)
)
Go
图4-2用户表建立
(2)学生信息表程序语句:
CREATETABLEStudent
(SnoCHAR(13)PRIMARYKEY,
SnameCHAR(20)UNIQUE,
SsexCHAR
(2),
SageSMALLINT,
SnationCHAR(8),
SclassCHAR(20),
Entrance_dateSMALLDATETIME,
SpecialtyCHAR(20)
)
Go
图4-3学生信息表建立
(3)选课表程序语句:
CREATETABLECourse
(CnoCHAR(4)PRIMARYKEY,
CnameCHAR(40),
TecherCHAR(20),
CcreditSMALLINT,
)
Go
图4-4学生选课表的建立
(4)学生成绩表程序语句:
CREATETABLESC
(SnoCHAR(13),
CnoCHAR(4),
GradeSMALLINT,
SC_semesterSMALLINT,
PRIMARYKEY(Sno,Cno),
Go
图4-5学生成绩表建立
4.2系统运行操作
4.2.1学生对系统的运行操作
1.查询自己的信息
图4-6查询自己信息截图
2.查询自己所有课程的成绩
图4-7查询自己所有课程成绩截图
3.查询第一学期自己平均成绩
图4-8查询第一学期平均成绩
4.2.2教师对系统运行操作
1.查询所有学生信息
图4-9查询全体学生信息
2.查询考试不及格的学生
图4-10查询不及格学生
3.将学号为2011305010231的数学成绩改为60分
图4-11修改成绩
4.2.3视图的创建和查询
1.建立计算机专业学生信息视图
图4-12创建视图
2.视图查询
图4-12视图查询
5课设总结
在本系统的开发过程中,由于本人是初次数据库系统,在知识、经验方面都存在着不足。
另外,在整个开发的过程中,时间也比较仓促。
因此,该系统必然会存在一些缺陷和不足。
因为对学生信息管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。
在整个设计阶段感受最为深刻的是掌握学习的方式和解决问题的方法。
首先是解决问题的方式,虽然面临的信息很多,但是如何从大量的信息中筛选出所需的信息,有用的信息,才是解决问题的关键,另外一个就是解决问题的方法,就像我在解决设计中的很多问题一样,一开始总是在看书,和树上的进行比对,虽然书本上的只是大部分都是有价值,正确的,但实际上每个人编程的思路和对数据处理的方法、思想都是不同的,这就要求我们一定要通过实践才能找到解决问题的方案。
在整个毕业设计的过程中,我深刻的体会到了这一点的重要性,也牢记主了这一点,在今后的学习和研究中我也会继续将这种方法延续下去。
尽管本管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。
通过开发这个系统,我掌握了的项目基本开发过程,用到的知识巩固了我对数据库的学习,但在这次设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法,以及与同学们之间相互帮助的精神。
参考文献
[1]史济明等编著,软件工程-原理、方法与应用,高等教育出版社,2002
[2]汪孝宜等,信息系统开发实例精粹(C#版),电子工业出版社,2006
[3]张立,C#2.0宝典,电子工业出版社,2007
[4]李兰友等编著,VisualC#.Net程序设计,清华大学出版社,2003
[5]何玉洁编著,数据库原理与应用,机械工业出版社,2006
[6]王珊等编著,数据库系统概论,高等教育出版社,2006
附程序代码
CREATEDATABASEyk
Go
Useyk
Go
CREATETABLESyuser
(User_idCHAR(13)PRIMARYKEY,
PasswordCHAR(8),
User_roleCHAR(10)
)
Go
CREATETABLEStudent
(SnoCHAR(13)PRIMARYKEY,
SnameCHAR(20)UNIQUE,
SsexCHAR
(2),
SageSMALLINT,
SnationCHAR(8),
SclassCHAR(20),
Entrance_dateSMALLDATETIME,
SpecialtyCHAR(20)
)
Go
CREATETABLECourse
(CnoCHAR(4)PRIMARYKEY,
CnameCHAR(40),
TecherCHAR(20),
CcreditSMALLINT,
)
Go
CREATETABLESC
(SnoCHAR(13),
CnoCHAR(4),
GradeSMALLINT,
SC_semesterSMALLINT,
PRIMARYKEY(Sno,Cno),
)
Go
Useyk
INSERT
INTOSyuser(User_id,Password,User_role)
VALUES(2011305010231,010231,'学生')
Go
INSERT
INTOSyuser(User_id,Password,User_role)
VALUES(2011305010202,010202,'学生')
Go
INSERT
INTOSyuser(User_id,Password,User_role)
VALUES(20113050122,050122,'教师')
Go
INSERT
INTOSyuser(User_id,Password,User_role)
VALUES(20113050108,050108,'教师')
Go
INSERT
INTOStudent(Sno,Sname,Ssex,Sclass,Snation,Entrance_date,Specialty,Sage)
VALUES('2011305010231','杨凯','男','管理','汉族','2011.09.01','计算机',21)
Go
INSERT
INTOStudent(Sno,Sname,Ssex,Sclass,Snation,Entrance_date,Specialty,Sage)
VALUES('2011305010202','曹微','女','管理','汉族','2011.09.01','计算机',19)
Go
INSERT
INTOStudent(Sno,Sname,Ssex,Sclass,Snation,Entrance_date,Specialty,Sage)
VALUES('2011305010230','杨凡','男','管理','汉族','2011.09.01','信管',20)
Go
INSERT
INTOStudent(Sno,Sname,Ssex,Sclass,Snation,Entrance_date,Specialty,Sage)
VALUES('2011305010229','玄博弈','男','管理','朝鲜族','2011.09.01','信管',18)
Go
INSERT
INTOCourse(Cno,Cname,Techer,Ccredit)
VALUES('1001','数据库','张老师',4)
Go
INSERT
INTOCourse(Cno,Cname,Techer,Ccredit)
VALUES('1002','数学','刘老师',2)
Go
INSERT
INTOCourse(Cno,Cname,Techer,Ccredit)
VALUES('1003','信息系统','张老师',4)
Go
INSERT
INTOCourse(Cno,Cname,Techer,Ccredit)
VALUES('1004','操作系统','王老师',3)
Go
INSERT
INTOSC(Sno,Cno,Grade,SC_semester)
VALUES('2011305010231','1001','93',01)
Go
INSERT
INTOSC(Sno,Cno,Grade,SC_semester)
VALUES('2011305010231','1002','59',01)
Go
INSERT
INTOSC(Sno,Cno,Grade,SC_semester)
VALUES('2011305010231','1003','78',01)
Go
INSERT
INTOSC(Sno,Cno,Grade,SC_semester)
VALUES('2011305010231','1004',85,01)
Go
INSERT
INTOSC(Sno,Cno,Grade,SC_semester)
VALUES('2011305010230','1001','95',01)
Go
INSERT
INTOSC(Sno,Cno,Grade,SC_semester)
VALUES('2011305010230','1003','88',01)
Go
INSERT
INTOSC(Sno,Cno,Grade,SC_semester)
VALUES('2011305010229','1003','88',01)
Go
INSERT
INTOSC(Sno,Cno,Grade,SC_semester)
VALUES('2011305010229','1002','58',01)
Go
INSERT
INTOSC(Sno,Cno,Grade,SC_semester)
VALUES('2011305010202','1003',NULL,01)
Go
INSERT
INTOSC(Sno,Cno,Grade,SC_semester)
VALUES('2011305010202','1004','99',01)
Go
学生操作
1.查询自己信息
SELECT*
FROMstudent
WHEREsno='2011305010231'
Go
2.查询自己的成绩
SELECTstudent.sno,sname,o,cname,grade,SC_semester
FROMSC,student,course
WHEREstudent.sno='2011305010231'andstudent.sno=SC.snoando=o
Go
3.查询本学期平均成绩
SELECTstudent.sno,sname,AVG(grade)average,SC_semester
FROMstudent,sc
WHEREstudent.sno=2011305010231andSC.SC_semester='01'andstudent.sno=SC.sno
GROUPBYstudent.sno,student.sname,SC.SC_semester
Go
教师操作
1.查询学生信息并按学号升序
SELECT*
FROMstudent
ORDERBYsnoASC
Go
2.查询不及格学生
SELECTstudent.sno,sname,cname,grade
FROMstudent,course,sc
WHEREgrade<60andstudent.sno=sc.snoando=o
Go
3.修改成绩
UPDATEsc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生信息管理系统数据库课程设计报告 精品 学生 信息管理 系统 数据库 课程设计 报告
![提示](https://static.bingdoc.com/images/bang_tan.gif)