数据库课程设计学籍管理系统.docx

上传人:b****6 文档编号:8693680 上传时间:2023-02-01 格式:DOCX 页数:18 大小:168.63KB
下载 相关 举报
数据库课程设计学籍管理系统.docx_第1页
第1页 / 共18页
数据库课程设计学籍管理系统.docx_第2页
第2页 / 共18页
数据库课程设计学籍管理系统.docx_第3页
第3页 / 共18页
数据库课程设计学籍管理系统.docx_第4页
第4页 / 共18页
数据库课程设计学籍管理系统.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

数据库课程设计学籍管理系统.docx

《数据库课程设计学籍管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计学籍管理系统.docx(18页珍藏版)》请在冰豆网上搜索。

数据库课程设计学籍管理系统.docx

数据库课程设计学籍管理系统

 

摘要:

系统名为学生学籍管理系统。

根据开发要求,它主要应用于教育系统,完成对学生学籍信息的管理。

开发学生学籍管理系统可以让学校有效的管理学校内各学生的信息。

同时,也可以减少劳动力的使用、加快查询速度、加强管理。

目前,学校工作繁杂、资料重多……。

鉴于这些情况,学校很是需要这类的信息管理系统。

而对于学籍管理系统来说,目前还没有一套很完整的、很统一的系统。

因此,应该看到社会的真正需要,有意识的进行开发和研究。

开发一套适和大众的、兼容性好的系统是很有必要的。

由于多种原因,学籍管理系统只有一个主要的功能,就是管理学生的学籍信息,在其下面,还有增加记录、删除记录、修改记录、查询、显示全部记录等功能。

在开发过程中,使其符合操作的业务流程,并力求系统的全面性、通用性,使得本系统不只适用于一家教育机构。

在开发方法的选择上,选择了生命周期法与原型法相结合的方法。

而在具体的设计上,采取了演化式原型法。

在开发工具的选择上,主要利用VisualC++编程语言和SQLserver2005关系型数据库来进行开发。

本文讲述的是学籍管理系统的需求分析、数据库的概念设计、概念模型与关系模型的转换、应用程序设计以及编程实现。

 

关键字:

数据库,SQL语言,VisuralC++ 6.0,数据库组件,学籍管理 。

 

1需求分析

1.1系统目标:

实现一个通用学籍管理系统,完成对学生学籍信息的增加、删除、修改、查询、显示全部学生学籍信息等功能。

1.1系统功能需求:

本系统只在学校内部使用,故无需登录。

用户可直接进入到主界面,进行各种操作,诸如录入学生信息、删除已不在的学生的学籍信息、修改有错误信息的学生的学籍信息、查询所要找的学生的学籍信息以及查看所有学生的学籍信息。

(1)功能划分:

用户无需经过身份验证,直接进入到学籍管理系统的主界面。

主界面为用户提供了6个功能,即增加记录、删除记录、修改记录、查询记录、显示全部记录和退出。

(2)功能描述:

增加记录:

用户进入到主界面后,若想添加新的学生学籍信息,可点击增加记录按钮。

则会跳出一增加记录的对话框,用户可在各对应的框内填写所要填写的信息。

当然这些不能胡乱的填写,要根据日常情况来填写。

删除记录:

用户进入到主界面后,若想把那些已不在的学生删除掉,可点击删除记录按钮。

则会跳出一删除记录对话框,用户填写所要删除学生的学号,点击确定。

若该学生的学籍信息不在数据库中,则会出现提示信息“无此学生”。

若在数据库中有该学生的学籍信息,则会显示另一提示信息“确定删除吗?

”,点击确定,又会出现一提示信息“删除成功”。

虽然有些繁琐,但能确保不误删学生的学籍信息。

修改记录:

用户进入到主界面后,倘若想修改那些由于各种情况所造成的错误信息时,可点击主界面上的修改记录按钮。

点击后会跳出一修改记录的对话框,用户可以根据有错误信息的学生的学号,先进行查询,查询后会显示该学生的全部学籍信息,用于可将错误的信息纠正过来,然后点击修改。

返回主界面可点击退出按钮。

查询记录:

用户进入到主界面后,如果想要查看某个学生的学籍信息,可点击查询记录按钮。

则会跳出一查询记录的对话框,用户输入想要查询学生的学号就可以查看到该学生的全部学籍信息。

全部记录:

用户进入到主界面后,想要查看全部学生的学籍信息,可点击全部记录按钮。

则会在主界面的下部显示全部学生的学籍信息。

退出:

用户进入到主界面后,进行了各种操作后,想要退出该学生学籍管理系统,可点击主界面上的退出按钮。

点击后,用户就可以退出本系统。

2数据库的概念设计

2.1系统的概念模型:

 

图2-1学生学籍管理系统概念模型的E/R图

 

图2-2学生学籍信息的属性E/R图

上面两张图是学生学籍管理系统的概念模型的E/R图,该系统所涉及的实体集有:

学生学籍信息实体集:

具体属性有学号、姓名、性别、政治面貌、出生年月、专业、系院、籍贯、家庭住址。

用户实体集:

具体属性有使用权限。

用户可以对多个学生的学籍信息进行管理,所以用户与学生学籍信息之间的关系为1:

N。

3将概念模型转换为改性模型

3.1将E-R模型转换为关系模式

(1)学生学籍信息转换为关系:

STUDENT(CODE,NAME,SEX,POLITICAL,NATIVE,BIRTH,DEPARMENT,MAJOR,ADDRESS)

CODEE表示学号,NAME表示姓名,SEX表示性别,POLITICAL表示政治面貌,NATIVE表示籍贯,BIRTH表示出生年月,DEPARMENT表示院系,MAJOR表示专业,ADDRESS表示家庭地址。

3.2数据库表结构设计:

把关系模型转化为表结构:

学生学籍信息表(student)所包含的学生学籍信息,定义如下:

表1学生学籍信息表

域名

含义

数据类型

例子

备注

code

学号

nvarchar(10)

1071301208

主键

name

姓名

nvarchar(30)

陈云龙

sex

性别

nvarchar

(2)

political

政治面貌

Nvarchar(16)

团员

native

籍贯

Nvarchar(8)

江苏

birth

出生年月

Nvarchar(10)

1989

deparment

院系

Nvarchar(30)

计算机工程

major

专业

Nvarchar(30)

科学与技术

address

家庭地址

Nvarchar(100)

启东

3.3实现数据完整性

通过各种约束,缺省,规则和触发器实现数据的完整性。

由于学生学籍管理系统的重要性,和各个数据之间的复杂相关性,保证数据的完整性显得更为重要。

不能让用户随意的删除,修改数据。

(1)CHECK约束保证查询时只能输入学号。

(2)PRIMARYKEY约束在表中定义了一个惟一标识每一列的主键,即code(学号)。

(3)使用默认值和规则。

(4)各种外键约束保证数据的完整性,不能随意删除。

(5)主键约束保证实体的完整性。

(6)创建规则保证学生的出生年月只能输入数字,不会输入错误数据。

(7)创建触发器,保证在添加学生信息的时候,自动将该班级的必修课添加到选课表中。

4应用程序设计

4.1学生学籍管理系统的处理流程图:

 

图5-1学生学籍管理系统的处理流程图

4.2总体结构和外部模块设计:

 

图4-2模块设计图

4.3主要功能的代码

(1)增加记录

voidCAddDlg:

:

OnButton1()

{

UpdateData(true);//把编辑框里的东西放到相关变量

CAddm_set;

m_set.Open();

m_set.MoveFirst();

do

{

if(m_set.m_code==m_code)

{

MessageBox("学号已存在,请重新输入!

!

","增加记录");

m_set.Close();

return;

}

m_set.MoveNext();

}while(!

m_set.IsEOF());

m_set.AddNew();//

m_set.m_code=m_code;

m_set.m_name=m_name;

m_set.m_sex=m_sex;

m_set.m_political=m_political;

m_set.m_native=m_native;

m_set.m_borth=m_borth;

m_set.m_department=m_department;

m_set.m_major=m_major;

m_set.m_address=m_address;

m_set.Update();//更新

m_set.Close();

MessageBox("录入成功!

","增加成功");

}

voidCAddDlg:

:

OnButton2()

{

OnOK();

}

(2)删除记录

voidCDelDlg:

:

OnButton1()

{

UpdateData(true);

CAdddat;

dat.Open();

dat.MoveFirst();

do

{

if(dat.m_code==m_code)

{

if(MessageBox("确定删除吗?

","学生信息管理",MB_YESNO)==IDNO)

{

dat.Close();

return;

}

dat.Delete();

MessageBox("删除成功!

","学生信息管理");

dat.Close();

return;

}

dat.MoveNext();

}while(!

dat.IsEOF());

MessageBox("无此学生","学生信息管理");

}

(3)修改记录

voidCChangDlg:

:

OnButton1()

{

UpdateData(true);

CAdddat;

dat.Open();

dat.MoveFirst();

do

{

if(dat.m_code==m_code)

{

dat.Edit();

dat.m_code=m_code;

dat.m_name=m_name;

dat.m_sex=m_sex;

dat.m_political=m_political;

dat.m_native=m_native;

dat.m_borth=m_borth;

dat.m_department=m_department;

dat.m_major=m_major;

dat.m_address=m_address;

dat.Update();

MessageBox("修改成功!

","修改记录");

dat.Close();

return;

}

dat.MoveNext();

}while(!

dat.IsEOF());

dat.Close();

MessageBox("无此学生!

","修改记录");

}

(4)查询记录

voidCScanDlg:

:

OnButton1()

{

UpdateData(true);

intflag=0;

m_list.DeleteAllItems();

CStrings;

CAddm_set;

if(m_code=="")

{

MessageBox("请输入要查的学号!

","学生信息查询");

return;

}

m_set.Open();

m_set.MoveFirst();

intj=0;

do

{

if(m_set.m_code==m_code)

{

flag=1;

break;

}

m_set.MoveNext();

}while(!

m_set.IsEOF());

if(flag==0)

MessageBox("不存在该学号!

","错误");

else

{

m_list.InsertItem(0,m_set.m_code,0);

m_list.SetItemText(0,1,m_set.m_name);

m_list.SetItemText(0,2,m_set.m_sex);

m_list.SetItemText(0,3,m_set.m_political);

m_list.SetItemText(0,4,m_set.m_native);

m_list.SetItemText(0,5,m_set.m_borth);

m_list.SetItemText(0,6,m_set.m_department);

m_list.SetItemText(0,7,m_set.m_major);

m_list.SetItemText(0,8,m_set.m_address);

}

m_set.Close();

UpdateData(false);

}

(5)全部记录

voidCMyDlg:

:

OnAll()

{

UpdateData(true);

CAddm_set;//调用数据库

m_set.Open();//打开数据库

m_set.MoveFirst();

intj=0;

m_list.DeleteAllItems();

do

{

m_list.InsertItem(j,m_set.m_code,0);//

m_list.SetItemText(j,1,m_set.m_name);

m_list.SetItemText(j,2,m_set.m_sex);

m_list.SetItemText(j,3,m_set.m_political);

m_list.SetItemText(j,4,m_set.m_native);

m_list.SetItemText(j,5,m_set.m_borth);

m_list.SetItemText(j,6,m_set.m_department);

m_list.SetItemText(j,7,m_set.m_major);

m_list.SetItemText(j,8,m_set.m_address);

j++;

m_set.MoveNext();

}while(!

m_set.IsEOF());

m_set.Close();

UpdateData(false);

}

(6)退出

voidCMyDlg:

:

OnCancel()

{

OnOK();

}

5编程实现

下面给出学生学籍管理系统的主要用户界面:

5.1学生学籍管理系统的主界面

5-1学生学籍管理系统的主界面

图5-1是学生学籍管理系统的主界面,用户可以在主界面上选择增加记录、删除记录、修改记录、查询记录、显示全部记录、退出6个操作。

5.2学生学籍管理系统的增加记录界面

5-2学生学籍管理系统的增加记录界面

图5-3图5-4

图5-2是学生学籍管理系统的增加记录界面,用户可以在这里面填写所要添加的学生学籍信息。

填写好所有信息后,用户可点击确定按钮,就把该学生的学籍信息录入到数据库中。

若该学生的信息以录入到数据库中,则出现如图5-3的画面。

若还没录入到是数据库中,则出现如图5-4的画面。

点击退出,则返回主界面。

5.3学生学籍管理系统的删除记录界面

5-5学生学籍管理系统的删除记录界面

图5-6图5-7图5-8

图5-5学生学籍管理系统的删除记录界面,用户可以输入要删除学生学籍信息的学号,若该学生是存在的,则点击确定,会跳出一对话框,提示用户到底要不要删,具体如图5-6所示,点击确定,显示删除成功,如图5-7所以。

若该学生是不存在的,则会跳出一提示信息,具体如图5-8所示。

5.4学生学籍管理系统的修改记录界面

5-9学生学籍管理系统的修改记录界面

图5-10

图5-9是学生学籍管理系统的修改记录界面,用户若想修改有错误的学生学籍信息,可进入此界面。

用户必须先输入该学生的学号,然后点击查询,就可以看到该学生的全部的学籍信息。

用户若想修改,可修改编辑框中的信息,全部改好后,点击修改。

若填写的格式,规范都符合要求,就能修改成功,出现如图5-10所示的提示信息。

5.5学生学籍管理系统的查询记录界面

5-11学生学籍管理系统的查询记录界面

图5-12

图5-11是学生学籍管理系统的查询记录界面,用户若想要查看某同学的学籍信息,可以进入到此界面中。

输入想要查询学生的学号,点击确定,就可以查询了。

若是该学号不存在,则出现如图5-12所示。

若存在,就可以看到该学生的的全部学籍信息。

 

5.6学生学籍管理系统的显示全部信息界面

5-13学生学籍管理系统的显示全部信息界面

图5-13是学生学籍管理系统的显示全部信息界面,也就是在主界面上。

用户想要查看全部学生的学籍信息,可点击主界面上的全部记录按钮,则可以在主界面的下方显示出数据库全部学生的学籍信息。

5.7学生学籍管理系统的退出界面

此界面就是主界面,退出只是上面的一个功能按钮。

用户进行各种操作后,若想退出学生学籍管理系统,可点击主界面上的退出按钮,就能推出本系统。

 

总结

通过一个星期的数据库课程设计实习,我从中受益匪浅,并且对数据库这一门课程有了更深一步的认识。

在实习的过程中,我把这学期所学的理论知识和实践联系起来,在所要开发的程序中渐渐融会贯通。

虽然我们对这些知识还运用得还不是很熟练,但是相信在现在和今后的学习中会得到更加深刻的掌握。

在课程设计中,设计了一个学生学籍管理系统,对学生学籍信息进行管理。

基本上包含了学籍管理所要求的信息,能够完成一定的数据管理功能。

但是这是一个完全不能真正用与实际的系统,它没有登陆注册界面,一点都不安全。

也没有完善的数据完整性的约束。

具体说来就是不具有可靠的安全性。

但总之在设计当中我学习到了许多东西,用到了很多的数据库的理论知识,增强了一定的实践能里。

这学期也做过蛮多的实验,但那是有步骤的,可以照着做就可以了。

然而,课程设计就给了我一个课题,什么都没有,都要自己去想,去查资料,去做。

对自己的能力有很大的提高。

特别是以前数据库中没搞清楚的弄懂了,不熟练的变得熟练了,让我对数据库的理论知识有了一个更加深的认识。

在一个系统开发的过程中编码不是重要的,我感觉重要的是分析系统、建立起系统模型和对数据的处理。

在分析一个系统前,分析人员必须要对将要开发的系统所涉及到的各方面知识有一个认识,然后将系统的模型建立起来。

这是要考虑到很多数据的特性及其关联。

总结这次课程设计给我感受最深的至少有四点:

1.进行软件开发这样的工作,要有恒心,要能静下新来做,而不能浮躁。

2.要遵循软件开发本身的规律和善于吸收已有的经验。

3.要善于同别人交流与合作,善于获取有用的各种资源。

4.要真真实实的多查资料,多问,多看。

 

参考文献

[1]刘金岭,冯万利,张有东.数据库原理及应用.第1版.北京:

清华大学出版社,2009

[2]丁宝康,董健全.数据库实用教程.北京:

清华大学出版社,2001

[3]萨师煊,王珊.数据库系统概论.第二版.北京:

高等教育出版社,2000

[4]抖斗书屋编著.VisualBasic6.0常用编程技巧:

清华大学出版社,1999年8月

[5](美)DavidJungPierreBoutquinJohnD.Conley等编著.VisualBasic6.0开发人员参考手册,2000年1月

[6]袁鹏飞,孙军安编著.中文版SQLServer2000数据库系统管理:

人民邮电出版社,2001年5月

[7]李真文编著.VisualBasic6.0全实例教程,:

北京希望电子出版社,2002年6月

[8]张海藩编著.软件工程导论:

清华大学出版社,2002年1月

[9]贾讽波,杨树青,杨玉顺.数据库应用实例.北京:

人民邮电出版社,2006

[10]周桓,徐薇.数据库系统开发.北京:

人民邮电出版社,2006

 

指导教师评语

学号

1071301208

姓名

陈云龙

班级

计1072

选题

名称

学籍管理系统

序号

评价内容

权重(%)

得分

1

考勤记录、学习态度、工作作风与表现。

10

2

是否完成设计任务;能否运行、可操作性如何等。

30

3

报告的格式规范程度、是否图文并茂、语言规范及流畅程度;主题是否鲜明、重心是否突出、论述是否充分、结论是否正确;是否提出了自己的独到见解。

30

4

自我陈述、回答问题的正确性、用语准确性、逻辑思维、是否具有独到见解等。

30

合计

指导教师(签章):

年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1