数据库原理与技术课程设计学籍管理系统.docx

上传人:b****5 文档编号:3103780 上传时间:2022-11-17 格式:DOCX 页数:17 大小:165.57KB
下载 相关 举报
数据库原理与技术课程设计学籍管理系统.docx_第1页
第1页 / 共17页
数据库原理与技术课程设计学籍管理系统.docx_第2页
第2页 / 共17页
数据库原理与技术课程设计学籍管理系统.docx_第3页
第3页 / 共17页
数据库原理与技术课程设计学籍管理系统.docx_第4页
第4页 / 共17页
数据库原理与技术课程设计学籍管理系统.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

数据库原理与技术课程设计学籍管理系统.docx

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

数据库原理与技术课程设计学籍管理系统.docx

数据库原理与技术课程设计学籍管理系统

《数据库原理与技术课程设计》设计报告

课程设计题目:

学籍管理系统

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

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

当前位置:首页 > 法律文书 > 调解书

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

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