SQL课程设计报告学生管理系统.docx
《SQL课程设计报告学生管理系统.docx》由会员分享,可在线阅读,更多相关《SQL课程设计报告学生管理系统.docx(24页珍藏版)》请在冰豆网上搜索。
SQL课程设计报告学生管理系统
六安职业技术学院
SQLServer课程设计报告
(2010学年)
学生管理系统
专业班级系统维护
学生姓名
指导教师王红
完成日期2010年12月
二○一○年十二月
前言
对当今大学的学生的管理,由于数据的庞大,各种信息的管理包括学生的成绩的管理学籍的管理等等,查询和管理学生的信息将是一件很辛苦的事,如果还按照原来的管理模式将会浪费很大的人力物力,这种管理学生信息的方法存在着缺点,和当今快节奏的社会,使得效率不高,另外一方面,随着时间的增长,大量数据的增多,这会给查找学生信息带来很大的不便,而且还很容易出现差错,所以在当今需要一个管理学生的软件是一件很重要的。
以前,各个学校的学生管理基本上是靠人工来完成的,由于各个学校规模和人数的增大,有关学生数据量越来越大,有的学校不得不靠增加人力、物力来进行学生成绩管理。
但用这些管理的方法效率低,易出错,还浪费大量的人力物力。
选择学校的学生管理系统的设计主要有这些原因
一:
熟悉学校的一些基本情况这样对系统的设计有很多的方便
二:
因为是对自己本校的系统设计所以在遇到一些不懂和不会的地方可以随时的向老师请教这会使得系统的设计更好。
总之,本系统使用的SQLServer2005的企业管理器和VisualBasic的开发语言。
详细介绍了学生管理系统从技术及运行环境、系统分析、数据库设计、总体设计和详细设计的全部过程。
对其中的问题,产生的原因进行了分析,对开发过程中的感受、进一步得出结论并提出具有现实意义的意见和建议。
实现一个管理信息系统的方法。
第一章相关开发软件的简介
SQLserver2005技术的简介:
随着科学技术河经济的飞速发展,人们掌握的信息量急剧增加,更充分地开发和利用这些信息资源,就必须有一种新技术能对大量的信息进行识别,存储,处理与传播。
SQLserver2005是单一进程,多线程的关系型数据库,是一个全面的,集成的,端到端的数据解决方案,为企业的用户提供了一个安全的,可靠的河高效的平台,是用于企业数据管理和商业智能平台的构建。
SQLserver2005数据库是所涉及的对象以及数据的集合。
不仅反映数据本身的内容,而且反映对象以及数据之间的联系。
在MircrosoftSQLServer2000系统中,数据库的管理采取了先进的动态管理机制,数据库的大小可以随着数据量的变化而缩小或者扩大。
另外,用户数据都是非常重要的和保密的,这些数据存储在MircrosoftSQLServer2000系统中有绝对的安全性保障,有完善的用户帐户策略和许可机制,只有经过授权的用户才能访问系统,并且执行相应的操作和访问允许访问的数据。
XX的用户既不能执行相应的操作,也不能访问数据库中的相应数据。
SQL语言具有许多特点:
ØSQL是一种一体化的语言。
它包括了数据定义语言(DLL)、数据操作语言(DML)和数据控制语言(DCL),可以完成数据库活动的全部工作。
SQL为许多任务提供了命令,包括:
查询数据,数据更新,在表中插入记录,在表中修改记录,在表中删除记录,建立,修改和删除数据对象,控制对数据和数据对象的存取,保证数据库一致性和完整性,以前的数据库管理系统为上述各类操作提供单独的语言,而SQL将全部任务统一在一种语言中。
ØSQL语言是一种非过程化的语言。
使用SQL语言的时候,用户只需告诉系统要干什么就可以了,至于怎样去干,处理时候的具体细节不需用户去考虑。
第二章系统的分析
系统开发的背景:
随着经济和科技的快速发展,现代化水平的不断提高,人们的生活节奏也发生了很大的变化,如果还按照原来的管理模式,不仅会浪费大量的人力物力而且使得效率也大大的降低。
对于我们这些学习信息技术的同学来说,如何最大限度的利用所学的知识去设计系统如图书管理系统、学生管理系统等。
把所花的大力气搜集来的数据变成对学校未来发展有价值的信息。
我想这是我们每个同学都应该有的想法。
这一星期的实训给我们提供了一个很好的实践机会。
现在很多全国的大学校园对学生的管理都采用了现代化的管理计算机统一管理。
这就需要一个适合管理学生信息的管理软件,我想这回给学校的管理带来很大的方便。
在这种情况下,用各种开发工具开发出来的学生学生智能管理系统应运而生,并且蓬勃的发展起来。
这为学校的学生信息的管理带来了很大的方便,最重要的是给学校节省了大量的人力、物力。
在这样的情况下我们组设计了学生信息管理的系统,希望我们的设计没有白费,能有一个很好的成果。
开发目标
在系统需求分析的基础上,建立宿舍卫生检查管理信息系统,采用计算机对宿舍卫生检查进行管理,进一步提高学校的现代化管理水平。
本系统的目标是要将传统的宿舍卫生检查管理转换为数字信息化的宿舍卫生检查管理,实现宿舍卫生检查管理工作流程的系统化、规范化和自动化。
根据需求分析及用户需求,该系统应达到以下目标:
Ø界面设计友好、美观
Ø数据存储安全、可靠
Ø信息分类清晰、准确
Ø保证数据查询的灵活性
Ø操作简单易用、易维护性
Ø占用资源少、对硬件要求低
第三章系统总体设计
功能的概述:
学生管理信息系统能够完成对学生成绩,学籍等等的管理,对学生的相关信息都有一个很好的管理。
所以系统的组成有以下几个模块构成:
(1)学生信息管理系统
(2)添加学生信息(3)添加课程信息(4)添加教师信息(5)修改学生信息(6)修改课程信息
(7)修改教师信息(8)学生成绩查询(9)学生专业查询(10)添加管理员
2.系统功能结构图
对上述各项功能进行集中、分块、结构后,得到系统功能结构图。
学生管理系统的系统功能结构如图1-1所示
图1-1学生管理系统功能结构图
3.系统流程图分析
根据宿舍卫生检查管理信息系统的功能和用户的需求,绘制出了学生管理系统的流程图如图1-2所示
图1-2学生管理系统的流程图
4.文件架构图
为了使用户理解本程序,这里给出了文件架构图,用来表明VisualBasic程序中各个窗体的作用及其相互之间的关系。
主文件架构图如图1-3所示。
各个模块的文件架构图如图1-4所示。
图1-3主文件架构图
图1-4各个功能模块的文件架构图
第四章数据库设计
1数据库概要说明
用户的需求具体体现在各种信息的提供修改、查询、添加和退出,这就要求数据库结构能充分满足各种信息的输入和输出。
实现有组织地、动态地存储大量关联数据,方便用户访问系统中的数据。
本系统采用的是SQLserver2005数据库,系统数据库命名为“xsgl”,数据库用来存储宿舍信息、宿舍检查信息、用户信息以及奖罚信息等,在该数据库中包含4张表,下面给出数据表的概要说明和主要数据表的结构定义。
为了使读者更好地了解系统后台数据库中的数据表,本人设计了一个对照表。
数据表的对照表如图1-5表所示
表1-5数据表的对照表
表名
说明
教师表
用来显示教师的信息
课程表
用来显示学生所学的课程
系表
用来显示学生所在的系部
学籍表
用来显示学生的学籍
学生表
用来显示学生的信息
学生成绩表
用来显示学生的考试成绩
用户表
用来保存用户和密码
专业表
用来保存专业信息
2数据库概念设计
在本系统中我采用“实体联系模型”(ER模型)来描述数据库的结构与语义,以对现实世界进行第一次抽象。
ER模型直接从现实世界抽象出实体类型及实体间联系,然后用ER图来表示数据模型。
它有两个明显的优点:
接近于人的思维,容易理解;与计算机无关,用户容易接受。
但ER模型只能说明实体间语义的联系,不能进一步说明详细的数据结构,它只是数据库设计的第一步。
根据以上对系统所作的需求分析,系统设计,规划出本系统中使用的数据实体。
那么本系统的E-R图如下:
(1)用户表
本系统中该实体包括用户名、密码属性,实体的E-R图如图1-6所示
图1-6用户表实体的E-R图
(2)学生表
本系统中该实体包括sno、sname、sex、native、birthday、dno、spno、classno、entime、home、tel属性,实体的E-R图如图1-7所示
图1-7学生表实体的E-R图
(3)学生成绩表
本系统中该实体包括score、sno、tcid属性,实体的E-R图如图1-8所示
图1-8学生表实体的E-R图
(4)课程表
本系统中该实体包括cno、spno、cname、experiment、lecture、semester、credit、year属性,实体的E-R图如图1-9所示
图1-9课程表实体的E-R图
(5)教师表
本系统中该实体包括tno、tname、sex、birthday、dno、home、zipcode、tel、email属性,实体的E-R图如图1-10所示
图1-10学籍表实体的E-R图
(6)专业表
本系统中该实体包括spno、zname、dno属性
(7)系表:
本系统中该实体包括dno、dname属性
第五章系统详细设计
1登录与主程序界面的设计
登录代码:
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;
publicpartialclass_Default:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
}
protectedvoidButton1_Click(objectsender,EventArgse)
{
stringyhm=this.TextBox1.Text;
stringmm=this.TextBox2.Text.ToString().Trim();
//建立并打开连接
SqlConnectioncon=newSqlConnection();
con.ConnectionString="datasource=.;initialcatalog=xsgl;userid=sa;pwd=123456";
con.Open();
DataTabletable=newDataTable();
//获取数据
SqlCommandcom=newSqlCommand();
com.Connection=con;
com.CommandText="select*from用户表where用户名='"+yhm+"'and密码='"+mm+"'";
com.ExecuteNonQuery();
SqlDataAdapterda=newSqlDataAdapter();
da.SelectCommand=com;
da.Fill(table);
if(table.Rows.Count>0)
{
HttpContext.Current.Response.Write("alert('你输入的用户名和密码正确!
')");
Response.Redirect("Default2.aspx");
}
else
HttpContext.Current.Response.Write("alert('你输入的用户名或密码不正确!
')");
}
}
2.基础数据管理
(1)添加数据信息
添加教师信息
提交代码:
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;
publicpartialclasstjjs:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
}
protectedvoidButton1_Click(objectsender,EventArgse)
{
stringtno=this.TextBox1.Text.ToString().Trim();
stringtname=this.TextBox2.Text.ToString().Trim();
stringsex=this.TextBox3.Text.ToString().Trim();
stringbirthday=this.TextBox4.Text.ToString().Trim();
stringtel=this.TextBox5.Text.ToString().Trim();
stringemail=this.TextBox6.Text.ToString().Trim();
SqlConnectioncon=newSqlConnection();
con.ConnectionString="datasource=.;initialcatalog=xsgl;userid=sa;pwd=123456";
con.Open();
DataTabletable=newDataTable();
//获取数据
SqlCommandcom=newSqlCommand();
com.Connection=con;
com.CommandText="insertinto教师表(tno,tname,sex,birthday,tel,email)values('"+tno+"','"+tname+"','"+sex+"','"+birthday+"','"+tel+"','"+email+"')";
com.ExecuteNonQuery();
HttpContext.Current.Response.Write("alert('添加成功!
')");
}
}
(1)删除课程信息
代码如下:
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;
publicpartialclassDefault3:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
}
protectedvoidButton1_Click(objectsender,EventArgse)
{
stringcno=this.TextBox1.Text.ToString().Trim();
stringspno=this.TextBox2.Text.ToString().Trim();
stringcname=this.TextBox3.Text.ToString().Trim();
stringexperiment=this.TextBox4.Text.ToString().Trim();
SqlConnectioncon=newSqlConnection();
con.ConnectionString="datasource=.;initialcatalog=xsgl;userid=sa;pwd=123456";
con.Open();
DataTabletable=newDataTable();
//获取数据
SqlCommandcom=newSqlCommand();
com.Connection=con;
com.CommandText="update课程表setspno='"+spno+"',cname='"+cname+"'wherecno='"+cno+"'";
com.ExecuteNonQuery();
HttpContext.Current.Response.Write("alert('修改成功!
')");
}
protectedvoidButton3_Click(objectsender,EventArgse)
{
if(TextBox1.Text=="")
HttpContext.Current.Response.Write("alert('请输入要查询的课程的课程号!
')");
else
{
//建立连接
SqlConnectioncon=newSqlConnection();
con.ConnectionString="datasource=.;initialcatalog=xsgl;userid=sa;pwd=123456";
con.Open();
//获取数据
SqlCommandcom=newSqlCommand();
com.Connection=con;
com.CommandText="select*from课程表wherecno='"+TextBox1.Text.ToString().Trim()+"'";
com.ExecuteNonQuery();
DataTabletable=newDataTable();
SqlDataAdapterda=newSqlDataAdapter();
da.SelectCommand=com;
da.Fill(table);
if(table.Rows.Count>0)
{
this.TextBox2.Text=table.Rows[0][1].ToString();
this.TextBox3.Text=table.Rows[0][2].ToString();
this.TextBox4.Text=table.Rows[0][3].ToString();
}
else
HttpContext.Current.Response.Write("alert('你输入的学生的学号不存在!
^_^')");
}
}
protectedvoidButton2_Click(objectsender,EventArgse)
{
stringcno=this.TextBox1.Text.ToString().Trim();
SqlConnectioncon=newSqlConnection();
con.ConnectionString="datasource=.;initialcatalog=xsgl;userid=sa;pwd=123456";
con.Open();
DataTabletable=newDataTable();
//获取数据
SqlCommandcom=newSqlCommand();
com.Connection=con;
com.CommandText="delete课程表wherecno='"+cno+"'";
com.ExecuteNonQuery();
HttpContext.Current.Response.Write("alert('删除成功!
')");
}
}
(2)修改信息
修改课程信息
代码如下:
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;
publicpartialclassDefault3:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
}
protec