数据库课程设计学生选课管理系统.docx
- 文档编号:12413674
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:23
- 大小:259.63KB
数据库课程设计学生选课管理系统.docx
《数据库课程设计学生选课管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计学生选课管理系统.docx(23页珍藏版)》请在冰豆网上搜索。
数据库课程设计学生选课管理系统
数据库课程设计
题目:
学生选课管理系统
2014年6月20日
摘要
随着无纸化办公的普遍实现,信息化管理已经成为管理个人、教育、企业等必不可少的工具,而学生选课信息系统则是教学管理的重要组成部分。
而作为一名大学生,我们的活动基本限于校园之内,而接触最多的就是学生管理系统。
学生选课信息系统是高校教务管理工作的一部分,学生选课管理信息化是现代学校人力资源开发与管理的手段,是一个学校不可或缺的部分,学生选课系统就是为了管理好选课信息而设计的。
学生选课系统使选课管理工作规范化、系统化、程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够准确、及时、有效的查询和修改学生选课情况。
数据库对于一个应用系统的意义是相当重要的,一个设计良好的数据库系统一方面,能够给开发者带来便捷,更轻松的进行系统设计与编码;另一方面,对于系统的后期维护也非常重要,一个良好的数据库系统能够保证系统的可扩充性,以及系统的移植性等问题。
关键词:
学生选课信息系统,数据库,信息管理
ABSTRACT
With theuniversalrealizationofthepaperlessoffice, informationmanagementbecomea necessary management person, education, business andothertools, andthe studentinformationsystem isanimportant partofteachingmanagement. As acollegestudent, ouractivity waslimitedto withinthecampus, and isthemostcontactwith thestudentmanagementsystem.
Studentinformationsystem isapartof educational management, studentmanagement informationisthemodern schoolhuman resourcesdevelopmentand managementtools, isanindispensable partoftheschool,studentelective systemistomanagethe informationcoursedesign. Studentcourseselectionsystem sothatselection managementstandardization,systematization, program, toavoidarbitrarinessinelectivemanagement,improve thespeedandaccuracyofinformationprocessing, accurate, timely,efficientquery andmodifythestudent courseselection.
Thedatabaseis veryimportantfor anapplicationsystem, awell-designeddatabase systemontheonehand, abletogive developerstobringconvenient, easy todesignand codingsystem; ontheotherhand, isalsoveryimportantfor thesystemmaintenance, agood databasesystemcan ensurethe extensibilityof, and theportabilityofthesystem etc..
Keyword:
studentinformationsystem, database, informationmanagement
学生选课管理系统
1.系统概述
学生选课系统是一个学校不可缺少的部分,它的主要内容是对学校的教师信息、学生信息、专业信息、学校开设的所有课程信息、学生选修课程的信息进行增删改查,作为计算机应用的一部分,使用计算机对选课信息进行管理,有着手工管理所无法比拟的优点这些优点能够极大地提高人事劳资管理的效率,也是企业的 科学化、正规化管理,与世界接轨的重要条件。
本学生管理系统可实现学生基本信息、教师基本信息、成绩信息、课程信息、选课信息等的录入、修改、查询、更新和删除。
2.系统需求分析
该系统应该能管理学校的教师信息、学生信息、专业信息、学校开设的所有课程信息、学生选修课程的信息等。
选课系统主要满足三类用户的要求,这三类用户分别是教务处的系统管理员、教师和学生。
他们所具有的操作权限以及操作内容是不同的。
2.1系统功能要求设计
该系统相关功能情况如下:
(1)当用户登录时,根据用户类型不同而权限不同,学生,教师,管理员都有各自的权限。
(2)通过用户名和密码登录系统,学生可以进行选课操作也可查询学生基本信息、课程基本信息,学生所选课程等;教师查询学生相关信息也可以进行学生成绩录入,修改,删除等;管理员则可以对学生和教师进行查询,修改,删除等,权限最大。
(3)系统运行在Windows窗体上,有一个较好的图形用户界面,操作简单,功能安排合理,并且进一步考虑系统在安全性,完整性,并发控制等方面的功能要求。
2.2数据需求
本系统对数据的需求如下:
(1)学生表
包括:
学号、姓名、性别、年龄、所在系。
(2)教师表
包括:
教师号、姓名、所在系、授课名称。
(3)课程表
包括:
课程号、课程名称,学分。
(4)选课表
包括:
学号,课程号,成绩。
2.3数据流图
数据流图是描述系统内部处理的过程,图中矩形表示源点和终点,椭圆表示数据加工,箭头表示数据流。
本次学生选课管理系统数据流图如下:
3.数据库设计
3.1概念结构设计
概念结构设计就是从现实概念中抽象出的概念模型,概念模型的表示方法最著名的是实体—联系方法,在图中实体型用矩形表示;属性用椭圆表示,并用无向边与相应的实体连接起来;联系用菱形表示,同时在无向边旁表上联系的类型(1:
1,1:
n或n:
m)。
(1)学生实体属性图
(2)教师实体属性图
图3教师实体属性图
(3)课程实体属性图
(4)选课实体属性图
(5)总体E-R图
图6总体E-R图
3.2逻辑结构设计
系统用户表(用户名、用户密码、权限),其中(用户名,用户密码)为主键。
学生表(学号、姓名、性别、年龄、所在系),其中学号为主键。
教师表(教师号、姓名、所在系、教授课程),其中教师号为主键。
课程表(课程号、课程名称、学分),其中课程号为主键。
选课表(学号、课程号、成绩),其中(学号,课程号)为主键。
3.3
物理结构设计及实施
(1)新建学生选课系统数据库
图7学生选课系统数据库
(2)新建学生表,表中包含的信息有:
学号、姓名、性别、年龄、所在系。
设置性别的Check约束,限定取值为“男”、“女”。
图8学生表
(3)新建教师表,表中包含的信息有:
教师号、教师名、所在系、授课名称。
图9教师表
(4)新建课程表,表中包含的信息有:
课程号、课程名、学分。
图10课程表
(5)新建选课表,表中包含的信息有:
学号、课程号、成绩。
图11选课表
(6)创建学生表、课程表、选课表的关系图。
图12关系图
4.
界面设计与实现
4.1选择子系统界面
图13选择子系统界面
本界面是一个选择子系统的界面,单击不同的按钮,可以进行不同信息的管理,比如点击学生信息管理,会进入到学生信息管理界面。
privatevoidbtnKecheng_Click(objectsender,EventArgse)
{
frmkechengob_kecheng=newfrmkecheng();
ob_kecheng.Show();
}
privatevoidbtnXuanke_Click(objectsender,EventArgse)
{
frmxuankeob_xuanke=newfrmxuanke();
ob_xuanke.Show();
}
privatevoidbtnJiaoshi_Click(objectsender,EventArgse)
{
frmjiaoshiob_jiaoshi=newfrmjiaoshi();
ob_jiaoshi.Show();
}
privatevoidbtnTuichu_Click(objectsender,EventArgse)
{
Application.Exit();
}
privatevoidfrmXuanze_FormClosed(objectsender,FormClosedEventArgse)
{
Application.Exit();
}
privatevoidbtnXuesheng_Click(objectsender,EventArgse)
{
frmXueshengob_xuesheng=newfrmXuesheng();
ob_xuesheng.Show();
}
4.2学生信息管理界面
图14学生信息管理界面
本界面的作用是对学生信息管理进行添加、修改和删除的,按照要求输入信息,点击对应的功能按钮即可。
privatevoidfrmxuesheng_Load(objectsender,EventArgse)
{
try
{
ObjClose();
stringSqlStr;
//CDatabasedb=newCDatabase();
DataSetds=newDataSet();
SqlStr="select*from学生表";
ds=CDatabase.GetDataFromDB(SqlStr);
if(ds==null)
{
MessageBox.Show("没有任何学生记录");
}
else
{
dgrdvXuesheng.DataSource=ds.Tables[0];
dgrdvXuesheng_RowHeaderMouseClick(null,null);
}
}
catch(Exceptionex)
{
MessageBox.Show(ex.Message);
}
}
privatevoiddgrdvXuesheng_RowHeaderMouseClick(objectsender,DataGridViewCellEventArgse)
{
intn=this.dgrdvXuesheng.CurrentCell.RowIndex;
txtXuehao.Text=this.dgrdvXuesheng.Rows[0].Cells[n].Value.ToString();
txtXuehao.Text=this.dgrdvXuesheng[0,n].Value.ToString();
txtXingming.Text=this.dgrdvXuesheng[1,n].Value.ToString();
cmbXingbie.SelectedItem=this.dgrdvXuesheng[2,n].Value.ToString();
txtNianling.Text=this.dgrdvXuesheng[3,n].Value.ToString();
txtSuozaixi.Text=this.dgrdvXuesheng[0,n].Value.ToString();
}
privatevoidbtnTianjia_Click(objectsender,EventArgse)
{
try
{
if(btnTianjia.Text.Trim()=="添加")
{
btnTianjia.Text="确定";
ObjOpen();
Clear();
btnXiugai.Enabled=false;
btnShanchu.Enabled=false;
btnTuichu.Enabled=false;
dgrdvXuesheng.Enabled=false;
}
else
{
btnTianjia.Text="添加";
if(txtXuehao.Text.Trim()!
=null&&txtXingming.Text.Trim()!
=null)
{
stringsqlStr;
sqlStr="insertinto学生表values('"+txtXuehao.Text.Trim()+"','"+txtXingming.Text.Trim()+"','"+cmbXingbie.Text.Trim()+"','"+txtNianling.Text.Trim()+"','"+txtSuozaixi.Text.Trim()+")";
//CDatabasedb=newCDatabase();
boolb;
b=CDatabase.UpdataDB(sqlStr);
if(b==true)
{
if(MessageBox.Show("添加成功!
继续添加吗?
","添加学生",MessageBoxButtons.YesNo,MessageBoxIcon.Question,MessageBoxDefaultButton.Button1)==DialogResult.Yes)
{
Clear();
ObjOpen();
btnTianjia.Text="确定";
}
else
{
ObjClose();
btnXiugai.Enabled=true;
btnShanchu.Enabled=true;
btnTuichu.Enabled=true;
dgrdvXuesheng.Enabled=true;
}
}
else
{
gotoexit;
}
}
else
{
MessageBox.Show("学号与姓名不能为空!
");
txtXuehao.Focus();
btnTianjia.Text="确定";
}
RefreshData();
txtXuehao.SelectAll();
}
}
catch(Exceptionex)
{
MessageBox.Show(ex.Message);
Clear();
ObjClose();
dgrdvXuesheng.Enabled=false;
}
exit:
;
}
privatevoidbtnXiugai_Click(objectsender,EventArgse)
{
try
{
if(btnXiugai.Text.Trim()=="修改")
{
btnXiugai.Text="确定";
btnTianjia.Enabled=false;
btnShanchu.Enabled=false;
btnTuichu.Enabled=false;
txtXingming.Enabled=true;
txtNianling.Enabled=true;
cmbXingbie.Enabled=true;
txtSuozaixi.Enabled=true;
txtXingming.Focus();
}
else
{
btnXiugai.Text="修改";
btnTianjia.Enabled=true;
btnShanchu.Enabled=true;
btnTuichu.Enabled=true;
ObjClose();
stringsqlStr;
sqlStr="updata学生表set姓名='"+txtXingming.Text.Trim()+"'性别='"+cmbXingbie.Text.Trim()+"'年龄='"+txtNianling.Text.Trim()+"',所在系='"+txtSuozaixi.Text.Trim()+"'where学号='"+txtXuehao.Text.Trim()+"'";
//CDatabasedb=newCDatabase();
CDatabase.UpdataDB(sqlStr);
RefreshData();
}
}
catch(Exceptionex)
{
MessageBox.Show(ex.Message);
}
}
privatevoidbtnShanchu_Click(objectsender,EventArgse)
{
try
{
if(txtXuehao.Text.Trim()!
="")
{
if(MessageBox.Show("确定要删除该学生吗?
","删除学生",MessageBoxButtons.YesNo,MessageBoxIcon.Question,MessageBoxDefaultButton.Button2)==DialogResult.Yes)
{
stringsqlStr;
sqlStr="deletefrom学生表Àwhere学号='"+txtXuehao.Text.Trim()+"'";
//CDatabasedb=newCDatabase();
CDatabase.UpdataDB(sqlStr);
}
}
else
{
MessageBox.Show("没有可删除的记录!
","提示");
}
}
catch(Exceptionex)
{
MessageBox.Show(ex.Message);
}
}
privatevoidbtnTuichu_Click(objectsender,EventArgse)
{
this.Hide();
}
4.3
教师信息管理界面
图15教师信息管理界面
教师信息管理界面可以对教师的信息进行添加、修改和删除,按要求输入信息,点击对应的功能就可以了。
privatevoidfrmjiaoshi_Load(objectsender,EventArgse)
{
try
{
ObjClose();
stringSqlStr;
DataSetds=newDataSet();
SqlStr="select*from教师表À";
ds=CDatabase.GetDataFromDB(SqlStr);
if(ds==null)
{
MessageBox.Show("没有任何教师记录!
");
}
else
{
dgrdvJiaoshi.DataSource=ds.Tables[0];
dgrdvXuesheng_RowHeaderMouseClick(null,null);
}
}
catch(Exceptionex)
{
MessageBox.Show(ex.Message);
}
}
4.4课程信息管理界面
图16课程信息管理界面
课程信息管理界面可以对课程的信息进行添加、修改和删除,按要求输入信息,点击对应的功能就可以了。
privatevoidfrmkecheng_Load(objectsender,EventArgse)
{
try
{
ObjClose();
stringSqlStr;
//CDatabasedb=newCDatabase();
DataSetds=newDataSet();
SqlStr="select*from课程表";
ds=CDatabase.GetDataFromDB(SqlStr);
if(ds==null)
{
MessageBox.Show("没有任何课程记录!
");
}
else
{
dgrdvKecheng.DataSource=ds.Tables[0];
dgrdvKecheng_RowHeaderMouseClick(null,null);
}
}
catch(Exceptionex)
{
MessageBox.Show(ex.Message);
}
}
4.5选课信息管理界面
图17选课信息管理界面
选课信息管理界面可以让学生进行选课,和对选课的内容进行查询,先选择学生,然后选择要选的课程,点击选课即可成功。
选择查询内容,并且输入查询值就可以查询想要的信息。
privatevoidfrmxuanke_Load(objectsender,EventArgse)
{
try
{
connection.ConnectionString=connStr;
sqlStr="select学号姓名from学生表";
adapter=newSqlDataAdapter(sqlStr,connection);
DataSetdataSetStudent=newDataSet();
adapter.Fill(dataSetStudent);
if(dataSetStudent.Tables[0].Rows.Count>0)
{
cmbXuesheng.Items.Clear();
for(i=0;i { cmbXuesheng.Items.Add (dataSetStudent.Tables[0].Rows[i].ItemArray[0].ToString()+"--"+dataSetStudent.Tables[0].Rows[i].Ite
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 学生 选课 管理 系统