《数据库概论》课程设计实验报告书.docx
- 文档编号:4944517
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:18
- 大小:404.17KB
《数据库概论》课程设计实验报告书.docx
《《数据库概论》课程设计实验报告书.docx》由会员分享,可在线阅读,更多相关《《数据库概论》课程设计实验报告书.docx(18页珍藏版)》请在冰豆网上搜索。
《数据库概论》课程设计实验报告书
《数据库系统概论》课程设计
实验报告书
安徽工业大学计算机学院
姓名
赵后伟
专业
信息与计算科学
班级
信112班
学号
119084207
指导教师
申元霞
分数
2011年12月19日
摘要
摘要内容:
学生成绩管理系统主要提供成绩查询,方便管理的网上的信息查阅平台,学生可以通过该系统查阅与自己相关信息,查看留言、提交留言。
教师可以通过成绩管理系统查阅学生成绩信息,教师信息,查看教师留言、学生留言、提交留言、留言的管理等相关操作。
系统管理员可以实现以上的所有功能,还有对学生的添加、删除、修改、教师的添加、删除、修改,数据库的备份、数据库的还原等相关操作。
开发一个学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高了办学效益和现代化水平。
为教师和学生提高工作效率,实现学生成绩信息管理工作流程的系统化,规范化和自动化。
在今天信息时代传统的管理方法必然会被计算机为基础的信息管理系统所代替,一个高效的学生成绩管理系统可以存储历届的学生成绩档案,不需要大量的人力,只需要几名专门录入员即可操作系统,节省大量人力,可以迅速查到所需信息、高效、安全、学生在能方便的查看自己的成绩。
关键词:
学生成绩管理系统,数据库,查阅,操作。
1绪论
1.1概述
1.1.1问题的提出
高效率的完成学生成绩的管理,开发一个具有使用意义的学生成绩管理系统。
1.1.2本课题的意义
通过对学校日常教学管理中的课程、选课、学生、教师、成绩等相关内容进行分析,完成具有学生管理、成绩管理、课程管理等相关功能的小型数据库管理应用系统。
1.2开发环境与工具介绍
本系统采用Microsoft Visual C++6.0作为开发工具,C++为开发语言,采用Oracle 9i版本数据库管理系统建立数据库,先在Oracle中设计并制作各部分需要调用的数据库,并进行初始数据的输入,再进行界面的设计和事件代码的编写,在指导老师的帮助下,已经基本上成功地实现了设计要求。
其中数据库设计和程序设计是系统的核心部分。
通过对数据库的概念设计、逻辑设计、物理设计和系统的模块设计,使得系统界面简洁,功能明确,方便了工作人员的操作。
1.2.1ODBC简介
ODBC(Open Database Connectivity) 是"开放数据库互连"的简称,是一种使用SQL的应用程序接口(API),是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。
这些API利用SQL来完成其大部分任务。
ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。
一个完整的ODBC由下列几个部件组成:
应用程序、 ODBC管理器、 驱动程序管理器、 ODBC API、
ODBC 驱动程序、数据源。
1.2.2学生成绩管理系统研究状况
学生成绩管理是各大学的主要日常管理工作之一,涉及到校、系、师、生的诸多方面,随着教学体制的不断改革,尤其是学分制、选课制的展开和深入,学生成绩日常管理工作及保存管理日趋繁重、复杂。
迫切需要研制开发一款功能强大,操作简单,具有人性化的学生成绩管理系统。
在国外高校,与国内不同,他们一般具有较大规模的稳定的技术队伍来提供服务与技术支持。
而国内高校信息化建设相对起步较晚。
在数字校园理论逐步应用的过程中,各高校一方面不断投资购建各种硬件、系统软件和网络,另一方面也不断开发实施了各类教学、科研、办公管理等应用系统,形成了一定规模的信息化建设体系。
但是,由于整体信息化程度相对落后,经费短缺,理论体系不健全等原因,国内高校教务管理系统在机构设置、服务范围、服务质量及人员要求上与国外高校相比都有一定的差距。
纵观目前国内研究现状,在安全性和信息更新化方面存在有一定的不足,各现有系统资料单独建立,共享性差;在以管理者为主体的方式中,信息取舍依赖管理者对于信息的认知与喜好,较不容易掌握用户真正的需求,也因此无法完全满足用户的需求。
因此,教务管理软件应充分依托校园网,实现教务信息的集中管理、分散操作、信息共享,使传统的教务管理朝数字化、无纸化、智能化、综合化的方向发展,并为进一步实现完善的计算机教务管理系统和全校信息系统打下良好的基础。
2系统需求分析与设计
2.1用户需求分析
2.1.1用户需求
学生成绩管理系统主要应用于教育系统,完成对日常的教学、教务、教师以及学生的计算机化的管理。
开发学生成绩管理系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。
目前,学校工作繁杂、资料重多。
目前,管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。
因此,开发一套适和大众的、兼容性好的系统是很有必要的。
2.1.2系统功能需求
“学生成绩管理系统”包括九个模块:
输入学生资料,输出学生资料,学生姓名按顺
序排列,添加学生资料,按姓名查找,删除该学生资料,查找并显示学生资料,按姓名查找,修改该学生资料,从文件中读入数据,储存学生资料并退出系统。
这九个模块既相互联系又相互独立。
本系统根据学生成绩管理的需要,而建立一个“学生成绩管理系统”,以方便对成绩的各项管理操作。
本系统能对成绩进行输入和输出;能按姓名对学生进行排序,并显示学生资料、成绩等,不过得以系统输入学生资料、成绩为前提;能添加学生成绩资料;能根据学生的姓名来查询该学生的成绩资料,并修改或是删除该学生信息;能够从文件中读取学生信息,并且添加到系统中;能把对系统所进行的操作进行保存,以及时更新系统中的数据。
2.1.3系统性能需求
学生成绩管理系统主要提供成绩查询,方便管理的网上的信息查阅平台,学生可以通过该系统查阅与自己相关信息,查看留言、提交留言。
教师可以通过成绩管理系统查阅学生成绩信息,教师信息,查看教师留言、学生留言、提交留言、留言的管理等相关操作。
系统管理员可以实现以上的所有功能,还有对学生的添加、删除、修改、教师的添加、删除、修改,数据库的备份、数据库的还原等相关操作。
2.1.4数据分析
学生表:
学号,姓名,性别,年龄,班级,电话,学院,登录初始密码;
教师表:
教师号,姓名,性别,年龄,职称,电话,所属学院,登录初始密码; 课程表:
课程号,课程名,课程类型,课时; 学院信息表:
学院名称,学院电话;
教师授课表:
教师号,课程号,上课教室,上课事件;
学生选课表:
学号,课程号,教师号,成绩;
2.2功能模块图及分模块功能描述
2.2.1系统的功能模块图
2.2.2系统功能模块简介
该系统首先由学生,教师,管理员某一种身份登陆,再针对不同身份管理或查阅数据库中的相关数据。
2.3数据库设计
2.3.1系统E-R图
2.3.2数据库逻辑结构设计
学生表:
学号,姓名,性别,年龄,班级,电话,学院,登录初始密码;
Student(SNo,SName,SSex,SAge,SClass,SPhone,SDept,SCode);
教师表:
教师号,姓名,性别,年龄,职称,电话,所属学院,登录初始密码;
Teacher(TNo,TName,TSex,TAge,TPosition,TPhone,TDept,TCode);
课程表:
课程号,课程名,课程类型,课时;
Course(CNo,CName,CType,CTime);
学院信息表:
学院名称,学院电话;
Dept(DName,DPhone);
教师授课表:
教师号,课程号,上课教室,上课事件;
Teach(TNo,CNo,TRoom,TTime);
学生选课表:
学号,课程号,教师号,成绩;
Score(SNo,CNo,TNo,Score);
3系统实施
3.1建立数据库
创建数据库表的SQL语句
Student表
CreatetableStudent(
SNochar(10),
SNamevarchar2(10)notnull,
SSexvarchar2
(2)notnull,
SAgenumber
(2),
SClassvarchar2(10)notnull,
SPhonevarchar2(12),
SDeptvarchar2(20)notnull,
SCodevarchar2(20)notnull,
constraintstudent_pkPRIMARYKEY(SNo),
constraintstudent_SSexCHECK(SSexin('男','女')),
constraintstudent_SAgeCHECK(SAge>=15andSAge<=30),
constraintstudent_SDept_fkFOREIGNKEY(SDept)ReferencesDept(DName)ondeletecascade);
Teacher表
CreatetableTeacher(
TNochar(5),
TNamevarchar2(10)notnull,
TSexvarchar2
(2)notnull,
TAgenumber
(2),
TPositionvarchar2(10),
TPhonevarchar2(12),
TDeptvarchar2(20)notnull,
TCodevarchar2(20)notnull,
constraintteacher_pkPRIMARYKEY(TNo),
constraintteacher_TSexCHECK(TSexin('男','女')),
constraintteacher_TAgeCHECK(TAge>=23andTAge<=70),
constraintteacher_TDept_fkFOREIGNKEY(TDept)ReferencesDept(DName)ondeletecascade);
Course表
CreatetableCourse(
CNochar(10),
CNamevarchar2(40)notnull,
CTypevarchar2(4)notnull,
CTimenumber
(2)notnull,
constraintcourse_pkPRIMARYKEY(CNo),
constraintcourse_CTypeCHECK(CTypein('PUBB','PUBO','PROB','PROO')),
constraintcourse_CTimeCHECK(CTime>=5andCTime<=18));
Teach表
CreatetableTeach(
TNochar(5),
CNochar(10),
TClassRoomvarchar2(12)notnull,
TTimevarchar2(12)notnull,
constraintteach_pkPRIMARYKEY(TNo,CNo),
constraintteach_TNo_fkFOREIGNKEY(TNo)ReferencesTeacher(TNo)ondeletecascade,
constraintteach_CNo_fkFOREIGNKEY(CNo)ReferencesCourse(CNo)ondeletecascade);
Score表
CreatetableScore(
SNochar(10),
CNochar(10),
TNochar(5),
Scorenumber(5,2),
constraintscore_pkPRIMARYKEY(SNo,CNo),
constraintscore_ScoreCHECK(Score>=0andScore<=100),
constraintscore_SNo_fkFOREIGNKEY(SNo)ReferencesStudent(SNo)ondeletecascade,
constraintscore_CNo_fkFOREIGNKEY(CNo)ReferencesCourse(CNo)ondeletecascade,
constraintscore_TNo_fkFOREIGNKEY(TNo)ReferencesTeacher(TNo)ondeletecascade);
Dept表
CreatetableDept(
DNamevarchar2(20)PRIMARYKEY,
DPhonevarchar2(12));
3.2数据库连接
CDatabasedb;//定义CDatabase对象,用来连接数据库操作
CRecordsetset(&db);//定义CRecordSet对象,用来操作数据库数据(增删改查)
if(!
db.OpenEx("DSN=StuScore;SERVER=FXC;UID=U74115;PWD=fxc123;",0))//连接数据库,参数一 //是连接字符串
{
MessageBox("数据库连接失败!
","错误提示",MB_OK|MB_ICONERROR);
return;
}
…………
…………
set.Close();//断开操作对象连接
db.Close();//断开数据库的连接
3.3主要模块实施
3.3.1登录模块的开发
见附加代码部分
3.3.2学生成绩管理系统各界面
系统登录界面:
学生登录功能:
教师登录功能:
管理员登录功能:
3.4系统测试
3.4.1软件测试的对象
利用不同的登录权限对学生表、教师表、课程表、授课表和成绩表进行不同的增删改查操作。
3.4.2软件测试的结果
学生部分功能实现结果:
教师部分功能实现结果:
管理员部分功能实现结果:
查询学生信息:
添加学生信息:
修改教师信息:
删除教师信息:
(下图中已经删除教师号为001的教师信息)
4系统说明
4.1开发环境
本系统的是在MicorsoftVisualC++6.0平台下开发的,系统的后台数据库为Oracle9i数据库;因此在使用本系统前,应先安装MicorsoftVisualC++和Oracle9i数据库,否则该系统无法运行。
4.2系统安装、配置与发布应用程序的步骤
将系统的原文件直接复制到机器上后,在数据库管理系统上建立一个名为FXC的数据库,在创建用户U74115/fxc123,建立表空间并添加必要的数据,最后再在ODBC中配置数据源,将数据源命名为StuScore后,系统便可以运行。
总结
通过这次的课程设计,使我了解了更多数据库原理与应用这门课程,对以前不太理解和熟悉的内容有更多的掌握,在我设计的学生成绩管理系统中,虽然一开始我对这个系统怎样设计完完全全没有概念。
但是如果仔细的想一下,还是可以找到出发点的。
首先要建立一个完整的管理系统,就必须明白这个系统所包含的基本内容、处理一些怎样的信息等。
最主要的是画出他们的E—R图,便可直观的看出他们关系。
在设计的时候,有时候也会感到没有思路了,或许是只有一点点的头绪,可经过对图的分析和认真观察他们的关系后,便有了新的思路和闪光点。
最后根据自己的整理资料将每一步都运用SQL语言执行出来,并且看以下是否符合结果要求。
我想经过这次课程设计可以更好的将所学知识运用到实际中去。
也让我加深了对数据库知识的认识和了解。
在这次实践设计过程中,我懂得了如何将所学的理论知识运用到实际中去,使得所学的知识能够融会贯通。
同时,在课程设计过程中,我懂得了许多知识,增加了我对数据库的兴趣 ,今后一定努力的学习,在实践中增加自己的学习乐趣,让自己更加充实。
参考文献
[1]郑莉,董渊,何江周.C++程序设计[M].北京:
清华大学出版社,2010.
[2]陈根才,孙建伶,林怀忠,周波.数据库课程设计[M].浙江:
浙江大学出版社,2007
[3]戴小平,王丽,帅兵,张润梅.数据库系统及应用[M].合肥:
中国科学技术大学出版社,2010
附录:
部分源代码
登录模块的开发
voidCStudentScoreManageDlg:
:
OnOK()
{
//TODO:
Addextravalidationhere
GetDlgItemText(IDC_EDIT_USERNAME,m_username);
GetDlgItemText(IDC_EDIT_PASSWORD,m_password);
intmatch_flag=0;//用户名匹配标志,0表示不匹配,即数据库中没有找到该用户名
CStringusername;//接受数据库中的相关字段
CStringpassword;
//连接数据库,查询用户名(SNo或TNo)和数据库表中的数据是否匹配
CDatabasedb;
CRecordsetset(&db);
if(!
db.OpenEx("DSN=StuScore;SERVER=FXC;UID=U74115;PWD=fxc123;",0))
{
MessageBox("数据库连接失败!
","错误提示",MB_OK|MB_ICONERROR);
return;
}
//根据选择的登录身份来查找用户,从而和输入的用户名进行匹配
if(1==m_id)
{
set.Open(AFX_DB_USE_DEFAULT_TYPE,"selectrtrim(sno),scodefromSTUDENT");
}
elseif(2==m_id)
{
set.Open(AFX_DB_USE_DEFAULT_TYPE,"selectrtrim(tno),tcodefromTEACHER");
}
elseif(3==m_id)
{
}
else
{
MessageBox("请选择登录身份!
","提示",MB_OK);
return;
}
if(1==m_id||2==m_id)
{
//set.MoveFirst();
while(!
set.IsEOF())
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库概论 数据库 概论 课程设计 实验 报告书