1、一 引言在中国,各大中小学校各类信息管理系统并非一个新课题,但也有学校根本就没有信息任何管理系统,全部工作几乎还是手工操作来完成。计算机技术在日新月异发展,不过有很多学校,尤其是在西部贫困地域,学校种类管理全部仍然由手工操作来完成,这十分落后,效率极低,成本很大,而且极异犯错。伴随社会发展,信息化是社会进程肯定趋势,学校管理只有只有快、准、精、才能发挥其价值。 所以机器替换人力是肯定历史发展趋势,只有领导重视和支持才能从人工操作改为计算机自动化系统。人工操作必将被计算机替换。 有些学校虽使用了计算机,甚至管理系统,不过仍然存在很多问题,问题一日不处理,效率就一日提不上去。 还有,有系统很不完善
2、四处是漏洞,能够说是千疮百孔,这么极不完善系统对管理来说是没有任何保障学校学生成绩管理系统是针对数据库课程设计所做一个小型数据库。它也是一个教育单位不可缺乏部分,它内容对于学校决议者和管理者说全部至关关键,它能够为用户提供充足信息和快捷查询手段。能有效帮助学校和老师和管理员能够打击查询、修改、删除学生成绩信息,能够方便了解学生总体情况。同时在做课程设计过程中,能够巩固数据库知识,加强学生实际动手能力和提升学生综合素质十分必需。经过本试验达成以下目标(1) 熟练掌握一个数据库系统SQL SERVER使用。(2) 经过设计实际数据库系统应用课题,深入熟悉数据库管理系统操作技术,提升动手能力,提升分
3、析问题和处理问题能力。二 总体设计1设计要求系统名称:学生成绩管理系统使用语言:C#程序设计语言使用软件:Microsoft SQL Server 、Microsoft Visual Studio 针对给定数据库应用问题-学生成绩管理系统,全方面利用数据库原理课程所学知识,从系统需求分析着手,进行数据库概念设计、逻辑设计、物理设计、系统总体设计和模块设计、编程、调试,并在各个步骤中提供相关文档。2 技术要求关键进行数据库设计,并能实现简单前后台连接,即能够经过前台界面查询、录入、删除、修改数据。 系统功效基础要求:学生信息,包含学号,姓名,民族,性别,年纪等;课程信息,包含课程号、课程名,学分
4、等;老师信息,包含老师编号、姓名,性别,民族,年纪,毕业院校,课程号等;成绩信息,包含学生学号,课程号,课程成绩等。3 关键功效关键提供管理员对学生信息、老师信息、课程信息及用户管理,图1所表示管理员登录学生管理老师管理课程管理用户管理学生信息添加学生信息修改学生信息删除学生信息搜索老师信息添加老师信息修改老师信息删除老师信息搜索课程信息添加课程信息修改课程信息删除课程信息搜索用户删除和注册 图1功效模块图管理员登陆:每个用户能够注册成为管理员,对学生、课程及成绩信息进行管理。学生管理:对学生信息进行添加,删除,修改,查询操作。老师管理:对老师信息进行添加,删除,修改,查询操作。课程管理:对课
5、程信息进行添加,删除,修改,查询操作。成绩管理:对学生成绩信息进行添加,删除,修改,查询操作。用户管理:对用户进行删除操作。4 可扩展性能够适应应用要求改变和修改,含有灵活可扩充性。5 安全性含有较高安全性。系统对不一样用户提供不一样功效模块,只有含有高级权限部门管理者或维护人员用户才能对用户和图书信息进行增加、修改和删除等管理,通常读者用户只能查看图书信息和借阅情况。还应含有一定保护机制,预防系统被恶意攻击,信息被恶意修改和窃取。有完善备份机制,假如系统被破坏应该能快速恢复。三 数据库设计1 四个表E-R实体模型图分析用E-R图总体描述实体,以下图2所表示 教授 老师信息表学生信息表有有学习
6、课程表学生成绩表mNN1NMM图2 E-R图在教学管理中,学校开设若干门学科,一门课程能够由多个老师来教,每个学生也需要学习其中几门课程,所以,教学管理中包含对象有学生,老师和课程。用E-R图描述她们之间联络。其中学生和课程之间是多对多关系,老师和课程是多对一相关系2 设计数据表经过E-R图分析,现在已经对数据库有一个很清梦认识,此学生成绩信息表中有5个表需要建立学生信息表(Student),包含学号(Sno)、姓名(Sname)、民族(Snation)、性别(Ssex)、年纪(Sage);老师信息表(Teacher),包含老师编号(Tno)、姓名(Tname)、性别(Tsex)、年纪(Tag
7、e)、毕业院校(Tcollege)、讲讲课程(Ton);课程信息表(Course), 包含课程编号(Cno)、课程名称(Cname),课程学分(Cgrade)学生成绩表(Grade)、 包含学生学号(Sno)、课程编号(Cno)、成绩(Ggrade)用户表(Users), 包含用户名(Uname)、密码(Umima)3 实际操作建立数据库US,建立以下各表(1)学生信息表包含学号、姓名、民族、性别、年纪等,用于存放学生关键信息,能够经过前台对学生表数据进行增加、删除、修改、查询操作。学生表主键是Sno(学生学号)。学生表是本数据库关键信息表。表1 学生表(2) 老师基础信息包含老师编号、姓名、
8、性别、年纪、毕业院校、讲讲课程等。用于存放老师关键信息,能够经过前台对课程表数据进行增加、删除、修改、查询操作。老师表主键是Tno(老师编号),外键是Ton(课程号)老师表是本数据库关键信息表。 表2 老师表(3) 课程基础信息包含课程编号、课程名称,课程学分等,用于存放课程关键信息,能够经过前台对课程表数据进行增加、删除、修改、查询操作。课程表主键是Cno(老师编号),外键是Ton(课程号),课程表是本数据库关键信息表。 表3 课程表(4) 学生成绩信息包含学生学号、课程编号、成绩等。用于存放学生成绩关键信息,能够经过前台对成绩表数据进行增加、删除、修改、查询操作。课程表主键是(Sno(学生
9、学号),Cno(课程编号),成绩表是本数据库关键信息表。表4 成绩表(5) 用户管理信息包含用户名、密码等,用于存放用户信息,在登录时进行验证。表5 用户表四 各功效模块设计1 建库代码-创建数据库SUcreate database SU;-连接数据库SUuse SU;-创建Student表create table Student( Sno char(10) primary key, Sname varchar(8) not null, Snation varchar(20) not null, Ssex char(2) check(Ssex in(男,女), Sage smallint ch
10、eck(Sage=5 and Sage=0 and Cgrade=25 and Tage=0 and Ggrade=100) primary key(Sno,Cno) foreign key(Sno) references Student(Sno) on delete cascade on update cascade, foreign key(Cno) references Course(Cno) on delete cascade on update cascade,)-创建用户表create table users( Uname varchar(8) primary key, Umima
11、 varchar(20)not null)2 C#后台关键代码(1)学生信息添加模块,输入要添加学生信息,点击添加键即可将学生信息添加到学生表中,具体效果图3所表示 图3 学生信息添加效果图 try conn.Open(); string sql = select * from Student where Sno= + this.studentID.Text + ; SqlCommand cmd = new SqlCommand(sql, conn); SqlDataReader sdr = cmd.ExecuteReader();if (sdr.Read() = true) Response
12、.Write(window.alert(该学生已经存在,请换名!);); conn.Close(); else conn.Close(); conn.Open(); cmd.CommandText = insert into Student(Sno,Sname,Snation,Ssex,Sage) values( + this.studentID.Text + , + this.studentName.Text + , + this.studentMZ.Text + , + this.DropDownList1.Text + , + this.studentAge.Text + ); cmd.
13、ExecuteNonQuery(); conn.Close(); Response.Write(window.alert(恭喜您,添加成功!);); catch (Exception ex) Response.Write(window.alert(添加失败!);); (2)学生信息删除模块,直接点击删除键,则将该学生信息从学生表中删除,具体效果图4所表示图4 学生信息删除效果图protected void shanchu(object sender, EventArgs e) conn.Open(); string sql = delete from Student where Sno= +
14、this.StudentID.Text + ; SqlCommand cmd = new SqlCommand(sql, conn); cmd.ExecuteNonQuery(); conn.Close(); Response.Write(window.alert(删除成功!););(3) 学生信息修改模块,修改学生信息,点击提交键,具体效果图5所表示图5 学生信息编辑效果图public partial class ST_studentmodify : System.Web.UI.Page SqlConnection conn = new SqlConnection(Configuration
15、Settings.AppSettingsconnString); protected void Page_Load(object sender, EventArgs e) if (!this.IsPostBack) string UserId = this.Request.QueryStringid.ToString(); SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettingsconnString); conn.Open(); string sql = select * from student wher
16、e Sno= + UserId + ; SqlCommand cmd = new SqlCommand(sql, conn); SqlDataReader sdr = cmd.ExecuteReader(); if (sdr.Read() this.StudentID.Text = sdrSno.ToString(); this.StudentName.Text = sdrSname.ToString(); this.StudentMZ.Text = sdrSnation.ToString(); this.DropDownList1.Text = sdrSsex.ToString(); thi
17、s.StudentAge.Text = sdrSage.ToString(); conn.Close(); protected void tijiao(object sender, EventArgs e) conn.Open(); string sql = update Student set Sno= + this.StudentID.Text + ,Sname= + this.StudentName.Text + ,Snation= + this.StudentMZ.Text + , Ssex= + this.DropDownList1.Text + ,Sage= + this.Stud
18、entAge.Text + where Sno= + this.StudentID.Text + ; SqlCommand cmd = new SqlCommand(sql, conn); cmd.ExecuteNonQuery(); conn.Close(); Response.Write(window.alert(修改成功!);); (4) 学生信息搜索模块,输入要查询学生学号,点出搜索即可,具体效果图6所表示图6 学生信息搜索效果图protected void ButtonSearch_Click(object sender, EventArgs e) SqlConnection con
19、 = new SqlConnection(ConfigurationSettings.AppSettingsconnString); string sql = ; if (this.studentID.Text = ) sql = select * from Student where Sno like %; else sql = select * from Student where Sno = + this.studentID.Text + ; DataSet ds = new DataSet(); con.Open(); SqlDataAdapter sda = new SqlDataA
20、dapter(sql, con); sda.Fill(ds); GridView1.DataSource = ds; GridView1.DataBind();(5) 登录后台代码,具体效果图7所表示图7 学生信息添加效果图Protected void LoginOK_Click(object sender, ImageClickEventArgs e) SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettingsconnString); conn.Open(); string sql = select * f
21、rom Users where Uname= + this.UsersName.Text + and Umima= + this.UsersPwd.Text + ; SqlCommand cmd = new SqlCommand(sql, conn); SqlDataReader sdr = cmd.ExecuteReader(); if (sdr.Read() = true) conn.Close(); Response.Redirect(Default.aspx); else Response.Write(window.alert(您输入用户密码有误!);); (6) 学生信息显示前台及后
22、台代码前台代码: 无标题页 学生信息显示: 学生学号: a href=ST_studentmodify.aspx?id= 删除/修改 学生添加 后台代码:using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebPart
23、s;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class ST_studest : System.Web.UI.Page DataView ddd; protected void Page_Load(object sender, EventArgs e) SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettingsconnString); conn.Open(); string sql = select
24、 * from Student ; SqlDataAdapter sda = new SqlDataAdapter(sql, conn); DataSet ds = new DataSet(); sda.Fill(ds); ddd = ds.Tables0.DefaultView; conn.Close(); this.GridView1.DataSource = ddd; this.GridView1.DataBind(); protected void ButtonSearch_Click(object sender, EventArgs e) SqlConnection con = ne
25、w SqlConnection(ConfigurationSettings.AppSettingsconnString); string sql = ; if (this.studentID.Text = ) sql = select * from Student where Sno like %; else sql = select * from Student where Sno = + this.studentID.Text + ; DataSet ds = new DataSet(); con.Open(); SqlDataAdapter sda = new SqlDataAdapte
26、r(sql, con); sda.Fill(ds); GridView1.DataSource = ds; GridView1.DataBind(); protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) 五 心得体会经过一周时间,在老师指导下和同学们帮助下成功做出了学生成绩管理数据库。经过在这个数据库中建立四个表,继而在这四个表基础上做出添加统计、用查询语句来查看统计,添加字段,创建自定义数据类型等操作来巩固了我们对数据库基础原理和基础理论了解,掌握数据库应用系统设计开发基础方法,深入,提升了我们利
27、用所学知识能力回顾此次学生管理数据库课程设计,至今仍感慨颇多,确实,从理论到实践,在这一周日子里,能够说是苦多于甜,不过能够学到很多东西,同时不仅能够巩固以前所学过知识,而且学到了书本上所没有学到知识。经过这次课程设计使我知道了理论和实践相结合是很关键,只有理论知识是远远不够,只有把所学到理论知识和实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提升自己实际动手能力和独立思索能力。在设计过程中碰到问题,这毕竟第一次做,难免会碰到多种多样问题,同时在设计过程中也发觉了自己不足之处,对以前所学过知识了解得不够深刻,掌握得不有够牢靠,比如主键约束,添加字段,创建自定义类型部分只看书认为没有问题,但一做具体操作就发觉了问题。知识取得是无止境,只要想学,只要行动,没有什么会难倒我们。回首这一周课程设计,尝尽酸甜苦辣同时也谢谢老师对我们不懈帮助,谢谢学校给了我们这一次实践机会,也谢谢同学们关心,这些美好回想将是我一生最在财富。六 参考文件1王珊,萨师煊数据库系统概论(第4版) M北京:高等教育出版社, 2苗雪兰数据库系统原理及应用教程M北京:机械工业出版社,3张海藩.软件工程M.北京:人民邮电出版社,4杨冬青,马秀莉,唐世渭,数据库系统概念,北京;机械工业出版社,
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100