学生信息管理系统数据库课程设计报告Word文件下载.docx
- 文档编号:22246080
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:25
- 大小:271.48KB
学生信息管理系统数据库课程设计报告Word文件下载.docx
《学生信息管理系统数据库课程设计报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统数据库课程设计报告Word文件下载.docx(25页珍藏版)》请在冰豆网上搜索。
因此,教务管理软件应充分依托校园网,实现教务信息的集中管理、分散操作、信息共享,使传统的教务管理朝数字化、无纸化、智能化、综合化的方向发展,并为进一步实现完善的计算机教务管理系统和全校信息系统打下良好的基础。
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
20
姓名
Ssex
2
性别
Snation
8
民族
Sclass
4
班级
Sage
smallint
年龄
Entrance_date
smalldatetime
入学时间
specialty
所学专业
表2-1学生信息表
2.2.2学生课程表
Course表
课程管理模块进行录入
Cno
Char
P
课程号
Cname
课程名
Techer
任课教师
Ccredit
Smallint
学分
表2-2学生课程表
2.2.3学生成绩表
SC表
Pf
Grade
成绩
SC_semester
学期
表2-3学生成绩表
2.2.4用户表
Syuser表
权限管理模块进行录入
User_id
用户编号
User_role
10
用户角色
Password
密码
表2-4用户表
2.3数据存储分析:
实体联系图
1.数据模型设计。
首先来做出学生成绩管理模块的E-R图,分析这个问题的实体,从系统分析可以知道,学生的成绩是由任课教师按照课程给出的,学生、课程、教师组成了这个系统的三个实体。
2.再分析三个实体之间的联系。
首先,这三个实体不是一个统一体,学生成绩与教师没有内在联系,教师必须通过课程实体才能与学生建立联系,因而先不考虑。
课程与学生这两个实体是多对多联系;
一位学生要学习多门课程,一门课程有多位学生共同学习。
而学习成绩是这两个实体“学生”和“成绩”共有的属性,应填在二者的联系“学习”边。
因为成绩既不是学生独有的,也不是课程独有的;
“学生甲80分”或“英语80分”是不完全的,说“学生甲英语80分”才是正确的,因为80分是学生甲和英语课二者共有的。
这个E-R图可画成下图。
教师,学生与课程的E-R图组合到一起,得到最后的E-R图,有了E-R图,就可以设计数据库。
下图为数据模型图。
学生
课程
教师
学习
实体模型
数据模型
数据库
n
m
1
图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)
)
图4-2用户表建立
(2)学生信息表程序语句:
CREATETABLEStudent
(SnoCHAR(13)PRIMARYKEY,
SnameCHAR(20)UNIQUE,
SsexCHAR
(2),
SageSMALLINT,
SnationCHAR(8),
SclassCHAR(20),
Entrance_dateSMALLDATETIME,
SpecialtyCHAR(20)
图4-3学生信息表建立
(3)选课表程序语句:
CREATETABLECourse
(CnoCHAR(4)PRIMARYKEY,
CnameCHAR(40),
TecherCHAR(20),
CcreditSMALLINT,
图4-4学生选课表的建立
(4)学生成绩表程序语句:
CREATETABLESC
(SnoCHAR(13),
CnoCHAR(4),
GradeSMALLINT,
SC_semesterSMALLINT,
PRIMARYKEY(Sno,Cno),
图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.将学号为21的数学成绩改为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
附程序代码
(User_idCHAR(13)PRIMARYKEY,
(SnoCHAR(13)PRIMARYKEY,
(CnoCHAR(4)PRIMARYKEY,
(SnoCHAR(13),
Useyk
INSERT
INTOSyuser(User_id,Password,User_role)
VALUES(21,010231,'
学生'
)
VALUES(22,010202,'
VALUES(20113050122,050122,'
教师'
VALUES(20113050108,050108,'
INTOStudent(Sno,Sname,Ssex,Sclass,Snation,Entrance_date,Specialty,Sage)
VALUES('
21'
'
杨凯'
男'
管理'
汉族'
2011.09.01'
计算机'
21)
INTOStudent(Sno,Sname,Ssex,Sclass,Snation,Entrance_date,Specialty,Sage)
22'
曹微'
女'
19)
20'
杨凡'
信管'
20)
29'
玄博弈'
朝鲜族'
18)
INTOCourse(Cno,Cname,Techer,Ccredit)
1001'
数据库'
张老师'
4)
1002'
数学'
刘老师'
2)
1003'
信息系统'
1004'
操作系统'
王老师'
3)
INTOSC(Sno,Cno,Grade,SC_semester)
93'
01)
59'
78'
85,01)
95'
88'
58'
NULL,01)
99'
学生操作
1.查询自己信息
SELECT*
FROMstudent
WHEREsno='
2.查询自己的成绩
SELECTstudent.sno,sname,o,cname,grade,SC_semester
FROMSC,student,course
WHEREstudent.sno='
andstudent.sno=SC.snoando=o
3.查询本学期平均成绩
SELECTstudent.sno,sname,AVG(grade)average,SC_semester
FROMstudent,sc
WHEREstudent.sno=21andSC.SC_semester='
01'
andstudent.sno=SC.sno
GROUPBYstudent.sno,student.sname,SC.SC_semester
教师操作
1.查询学生信息并按学号升序
ORDERBYsnoASC
2.查询不及格学生
SELECTstudent.sno,sname,cname,grade
FROMstudent,course,sc
WHEREgrade<
60andstudent.sno=sc.snoando=o
3.修改成绩
UPDATEsc
SETgrade=60
andcno='
视图创建和查询
CREATEVIEWJSJ_student
AS
WHERESpecialty='
FROMJSJ_Student
WHERESsex='
内部资料
仅供参考
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统 数据库 课程设计 报告