数据库课程设计报告.docx

上传人:b****4 文档编号:4709064 上传时间:2023-05-07 格式:DOCX 页数:19 大小:347.53KB
下载 相关 举报
数据库课程设计报告.docx_第1页
第1页 / 共19页
数据库课程设计报告.docx_第2页
第2页 / 共19页
数据库课程设计报告.docx_第3页
第3页 / 共19页
数据库课程设计报告.docx_第4页
第4页 / 共19页
数据库课程设计报告.docx_第5页
第5页 / 共19页
数据库课程设计报告.docx_第6页
第6页 / 共19页
数据库课程设计报告.docx_第7页
第7页 / 共19页
数据库课程设计报告.docx_第8页
第8页 / 共19页
数据库课程设计报告.docx_第9页
第9页 / 共19页
数据库课程设计报告.docx_第10页
第10页 / 共19页
数据库课程设计报告.docx_第11页
第11页 / 共19页
数据库课程设计报告.docx_第12页
第12页 / 共19页
数据库课程设计报告.docx_第13页
第13页 / 共19页
数据库课程设计报告.docx_第14页
第14页 / 共19页
数据库课程设计报告.docx_第15页
第15页 / 共19页
数据库课程设计报告.docx_第16页
第16页 / 共19页
数据库课程设计报告.docx_第17页
第17页 / 共19页
数据库课程设计报告.docx_第18页
第18页 / 共19页
数据库课程设计报告.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数据库课程设计报告.docx

《数据库课程设计报告.docx》由会员分享,可在线阅读,更多相关《数据库课程设计报告.docx(19页珍藏版)》请在冰点文库上搜索。

数据库课程设计报告.docx

数据库课程设计报告

 

目录

一、需求分析2

二、概念设计2

三、逻辑设计3

四、数据库设计4

五、程序设计7

六、注意事项18

七、结束语18

 

学生成绩管理系统

1、需求分析

学生成绩管理系统是用来管理每个学生的各科成绩。

每个学生每学期所学习的课程不同,当他学完一门课后,老师就要根据标准给他打分。

学生成绩管理系统能有效地输入输出每个学生各个课程的相关成绩,能灵活地查询,添加,修改,删除记录,是管理学生成绩的良好软件。

 

2、概念设计

学生基本信息:

学号,学生姓名,性别,出生日期,专业

课程信息:

课程号,所属专业,课程名,类型,开课学期,课时数,学分

学生课程成绩信息:

学号,课程号,成绩,学分

管理员信息:

管理员账号,管理员姓名,密码

学生成绩管理E-R图如下:

3、逻辑设计

将上述E_R图转换成二维表(设计字段,确定字段的取值范围,字段名字,主键,字段的长度,确定自定义完整性,确定参照完整性)。

学生基本信息表

序号

字段名称

数据类型

字段大小

小数位

字段含义

1

studentno

文本

255

学号

2

studentname

文本

255

姓名

3

sex

文本

255

性别

4

birthday

文本

255

出身日期

5

special

文本

255

专业

课程信息表

序号

字段名称

数据类型

字段大小

小数位

字段含义

1

courseno

文本

255

课程号

2

special

文本

255

所属专业

3

coursename

文本

255

课程名

4

coursetype

文本

255

课程类型

5

openterm

数字

整型

开课学期

6

hours

数字

整型

课时数

7

credit

数字

单精度

1

学分

学生课程成绩表

序号

字段名称

数据类型

字段大小

小数位

字段含义

1

studentno

文本

255

学号

2

course

文本

255

课程号

3

score

数字

单精度

1

成绩

4

credit

数字

单精度

1

学分

管理员信息表

序号

字段名称

数据类型

字段大小

小数位

字段含义

1

administrator

文本

255

管理员账号

2

administername

文本

255

管理员姓名

3

password

文本

255

密码

 

4、数据库设计

我首先用SQLserver2000软件创建了一个学生成绩管理系统的数据库,在该数据库中创建了四个表,分别名为学生基本信息表,课程信息表,学生课程成绩表,管理员信息表。

设计各

个数据表的字段属性,然后向各个数据表写入一些记录。

一些数据表的视图如下:

 

 

 

 

 

5、VisualC++程序设计

我使用VisualC++平台设计学生成绩管理系统的主框架,用ODBC连接数据源。

下面简单介绍一下MFC的ODBC编程过程:

用MFCAppWizard使用ODBC数据库的一般过程是:

1.用SQL或其他数据库工具构造一个数据库;2.在Windows中为刚才构造的数据库定义一个ODBC数据源;3.在创建数据库处理的文档应用程序向导中选择数据源;4设计界面,并使控件与数据表字段关联。

学生成绩管理系统能有效地管理每个学生的各科成绩,还可以管理学生的基本信息以及课程信息。

该系统能简便地实行相关记录的查询,添加,修改,删除操作。

接下来,我详细介绍一下学生成绩表中记录的查询,添加,修改,删除功能,以及实现这些功能的相关代码。

学生基本信息表,课程信息表的功能和功能实现代码与此表类似。

(1).设计系统登入模块

在登入系统的界面中,只有当输入的用户名和密码都正确时,才能进入系统。

否则,就认为你是非法用户,不能进入系统。

登入系统模块的界面和相关代码如下:

 

 

设计对话框及其对话框类,设计相关控件及其控件变量,并使控件变量与数据表中的字段关联。

voidCStudentCourseScoreDlg:

:

OnOK()

{

//TODO:

Addextravalidationhere

UpdateData();

m_UserName.TrimLeft();//清空空格

m_Password.TrimLeft();

if(m_UserName.IsEmpty())

MessageBox("用户名不能为空!

");

else

if(m_Password.IsEmpty())

MessageBox("密码不能为空!

");

else{

if(m_userrset.IsOpen())

m_userrset.Close();//如果记录集打开,则先关闭

m_userrset.m_strFilter.Format("administrator='%s'",m_UserName);

//administrator是user表的字段名,用来指定查询条件

m_userrset.m_strFilter.Format("password='%s'",m_Password);

//password是score表的字段名,用来指定查询条件

m_userrset.Open();//打开记录集

if(!

m_userrset.IsEOF())//如果打开记录集有记录

{/*进入下一个窗口*/

CS_C_Sdlg1;

dlg1.DoModal();

CDialog:

:

OnOK();

}

else

{

MessageBox("用户名或密码不对!

");

}

}

}

登入成功后,进入的窗口如下:

(2).查询模块

单击学生成绩表按钮,进入学生成绩表的界面,结果如下:

当我们需要查询某个学生的某门课程的成绩时,在编辑框中输入要查询的学生学号,要查询的课程号,就会在名为学生成绩的静态文本框中的控件中显示记录。

查询模块的相关代码如下:

设计相关控件及其控件变量,并使控件变量与数据表中的字段关联。

voidCScore:

:

OnBUTTONScoQuery()

{

UpdateData();

m_ScoQuery.TrimLeft();

m_ScoCouQuery.TrimLeft();

if(m_ScoQuery.IsEmpty())

{

MessageBox("要查询的学号不能为空!

");

return;

}

else

if(m_ScoCouQuery.IsEmpty())

{

MessageBox("要查询的学号不能为空!

");

return;

}

else{

if(m_scorerset.IsOpen())

m_scorerset.Close();//如果记录集打开,则先关闭

m_scorerset.m_strFilter.Format("studentno='%s'",m_ScoQuery);

//studentno是score表的字段名,用来指定查询条件

m_scorerset.m_strSort="course";

//course是score表的字段名,用来按course字段从小到大排序

m_scorerset.m_strFilter.Format("course='%s'",m_ScoCouQuery);

//course是score表的字段名,用来指定查询条件

m_scorerset.Open();//打开记录集

if(!

m_scorerset.IsEOF())//如果打开记录集有记录

//自动更新表单中控件显示的内容

{m_ScoStuNumber=m_scorerset.m_studentno;//将数据表中的记录值赋给控件变量,在控件中显示出来

m_ScoCouNumber=m_scorerset.m_course;

m_Score=m_scorerset.m_score;

m_ScoCredit=m_scorerset.m_credit;

UpdateData(0);

}

else

MessageBox("没有查到你要找的成绩记录!

");

}

}

查询成功后的界面如下:

(3).添加模块

当我们需要向数据表添加某个记录时,单击添加按钮,就会弹出一个对话框,在该对话框中输入记录的相关信息,点击确定,就添加成功,点击取消,就不添加该记录。

添加模块的界面和相关代码如下:

设计对话框及其对话框类,设计相关控件及其控件变量,并使控件变量与数据表中的字段关联。

voidCScore:

:

OnBUTTONScoAdd()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

CScoreEditdlg;

if(dlg.DoModal()==IDOK){

if(!

m_scorerset.IsOpen())

m_scorerset.Open();

m_scorerset.AddNew();

m_scorerset.m_studentno=dlg.m_editScoStuNumber;

m_scorerset.m_course=dlg.m_editScoCouNumber;

m_scorerset.m_score=dlg.m_editScore;

m_scorerset.m_credit=dlg.m_editScocredit;

m_scorerset.Update();

m_scorerset.Requery();

}

}

添加某个记录成功后,数据表中就会出现该记录。

 

(4).修改模块

当我们需要修改数据表中的某个记录时,单击修改按钮,就会弹出一个对话框,在该对话框中对该记录进行修改,单击确定,就修改成功,否则,就没做修改。

修改模块的界面和相关代码如下:

 

设计对话框及其对话框类,设计相关控件及其控件变量,并使控件变量与数据表中的字段关联。

voidCScore:

:

OnBUTTONScoEdit()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

CScoreEditdlg;

dlg.m_editScoStuNumber=m_scorerset.m_studentno;

dlg.m_editScoCouNumber=m_scorerset.m_course;

dlg.m_editScore=m_scorerset.m_score;

dlg.m_editScocredit=m_scorerset.m_credit;

if(dlg.DoModal()==IDOK){

if(!

m_scorerset.IsOpen())

m_scorerset.Open();

m_scorerset.Edit();//编辑数据表中的记录

m_scorerset.m_studentno=dlg.m_editScoStuNumber;

m_scorerset.m_course=dlg.m_editScoCouNumber;

m_scorerset.m_score=dlg.m_editScore;

m_scorerset.m_credit=dlg.m_editScocredit;

m_scorerset.Update();

UpdateData(FALSE);

}

}

修改某个记录成功后,数据表中的该记录就被修改了。

(5).删除模块

当我们需要删除某个记录时,先查询该记录,再点击删除按钮,就删除了此记录。

由于记录一旦被删除,就消失了,所以删除记录时要格外小心。

删除模块的界面和相关代码如下:

设计相关控件及其控件变量,并使控件变量与数据表中的字段关联。

voidCScore:

:

OnBUTTONScoDel()

{CRecordsetStatusstatus;

m_scorerset.GetStatus(status);

m_scorerset.Delete();

if(status.m_lCurrentRecord==0)

m_scorerset.MoveNext();

else

m_scorerset.MoveFirst();

UpdateData(FALSE);

}

删除某个记录成功后,数据表中的该记录就消失了。

 

6、注意事项

我对名为学生基本信息表,课程信息表,学生成绩表的三个对话框使用了初始化,所以,一进入这三个对话框就会显示初始化的记录。

需要注意的是:

我们在进行修改,删除记录时,一定要先进行查询操作,找到需要的记录后,再进行修改,删除操作。

否则,系统会报错。

七、结束语

在本次数据库的课程设计中,我制作出了学生成绩管理系统。

我在学生成绩管理系统的制作过程中,学到了很多数据库编程和VisualC++的知识,提高了动手编程的能力。

在此期间,我遇到了很多困难,但通过请教老师和同学把困难解决了。

我意识到我在数据库编程方面还有不少缺陷,因此,我要再接再厉,努力学习编程的相关知识,进一步提高自己的能力。

在这里,我要感谢那些帮助过我的老师和同学。

参考文献

1、数据库系统概论(第四版)王珊萨师煊高等教育出版社2006-5

2.数据库基础与应用王珊李盛恩人民邮电出版社2002-8-1

 

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2