数据库课程设计报告书_第1页
数据库课程设计报告书_第2页
数据库课程设计报告书_第3页
数据库课程设计报告书_第4页
数据库课程设计报告书_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库系统概论课程设计实验报告书安徽工业大学计算机学院 学生管理系统姓 名*专 业软件工程班 级 软 104 班学 号 *指导教师 周兵分 数2012年 12 月 20 日目录1、绪论*32、系统需求分析与设计*43、系统实施*74、系统说明*145、总结*146、参考文献*147、附录代码*141 绪 论1.1 概述1.1.1 问题的提出高效率的完成学生成绩的管理,开发一个具有使用意义的学生成绩管理系统。1.1.2 本课题的意义通过对学校日常教学管理中的课程、选课、学生、教师、成绩等相关内容进行分析,完成具有学生管理、成绩管理、课程管理等相关功能的小型数据库管理应用系统。1.2 开发环境与工

2、具介绍本系统采用Microsoft Visual C+6.0作为开发工具,C+为开发语言,采用Oracle 9i版本数据库管理系统建立数据库,先在Oracle中设计并制作各部分需要调用的数据库,并进行初始数据的输入,再进行界面的设计和事件代码的编写,在指导老师的帮助下,已经基本上成功地实现了设计要求。其中数据库设计和程序设计是系统的核心部分。通过对数据库的概念设计、逻辑设计、物理设计和系统的模块设计,使得系统界面简洁,功能明确,方便了工作人员的操作。1.2.1 ODBC简介ODBC(OpenDatabaseConnectivity)是开放数据库互连的简称,是一种使用SQL的应用程序接口(API

3、),是微软公司开放服务结构(WOSA,WindowsOpenServicesArchitecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。一个完整的ODBC由下列几个部件组成:应用程序、ODBC管理器、驱动程序管理器、ODBCAPI、ODBC驱动程序、数据源。1.2.2 学生成绩管理系统研究状况学生成绩管理是各大学的主要日常管理工作之一,涉及到校、系、师、生的诸多方面,随着教学体制的不断改革,尤其是学分制、选课

4、制的展开和深入,学生成绩日常管理工作及保存管理日趋繁重、复杂。迫切需要研制开发一款功能强大,操作简单,具有人性化的学生成绩管理系统。 在国外高校,与国内不同,他们一般具有较大规模的稳定的技术队伍来提供服务与技术支持。而国内高校信息化建设相对起步较晚。在数字校园理论逐步应用的过程中,各高校一方面不断投资购建各种硬件、系统软件和网络,另一方面也不断开发实施了各类教学、科研、办公管理等应用系统,形成了一定规模的信息化建设体系。但是,由于整体信息化程度相对落后,经费短缺,理论体系不健全等原因,国内高校教务管理系统在机构设置、服务范围、服务质量及人员要求上与国外高校相比都有一定的差距。 纵观目前国内研究

5、现状,在安全性和信息更新化方面存在有一定的不足,各现有系统资料单独建立,共享性差;在以管理者为主体的方式中,信息取舍依赖管理者对于信息的认知与喜好,较不容易掌握用户真正的需求,也因此无法完全满足用户的需求。因此,教务管理软件应充分依托校园网,实现教务信息的集中管理、分散操作、信息共享,使传统的教务管理朝数字化、无纸化、智能化、综合化的方向发展,并为进一步实现完善的计算机教务管理系统和全校信息系统打下良好的基础。2 系统需求分析与设计2.1 用户需求分析 用户需求要求不同的实体(学生、教师和管理员)登录系统后,能够进行合理范围的内的对数据库中的数据进行操作。2.1.2 系统功能需求1学生:查询每

6、一门课程的成绩;查询所有课程的平均成绩;查询所有选课信息;修改密码。2教师:添加学生成绩;修改学生成绩;查询学生成绩(按条件查询);查询所有授课信息;修改密码。3:管理员:增删改查学生信息;增删改查教师信息;增删改查课程信息。2.1.3 数据分析学生表:学号,姓名,性别,年龄,班级,电话,学院,登录初始密码;教师表:教师号,姓名,性别,年龄,职称,电话,所属学院,登录初始密码;课程表:课程号,课程名,课程类型,课时;学院信息表:学院名称,学院电话;教师授课表:教师号,课程号,上课教室,上课事件;学生选课表:学号,课程号,教师号,成绩;2.2 系统功能模块图查询课程成绩查询所有课程平均成绩查询选

7、课信息修改密码管理员教师学生登录添加学生信息修改学生信息查询学生信息查询授课信息修改密码增删改查学生信息增删改查教师信息增删改查课程信息2.3 数据库设计2.3.1 系统E-R图属于选修学生学院拥有成绩教师号课程教师讲授学期教室m11nnmnn教师号职称性别年龄姓名电话学院密码教师学号班级性别年龄姓名电话学院密码学生教室课程课程号课时课程名学院名电话学院2.3.2 数据库逻辑结构设计学生表:学号,姓名,性别,年龄,班级,电话,学院,登录初始密码;Student(SNo,SName,SSex,SAge,SClass,SPhone,SDept,SCode);教师表:教师号,姓名,性别,年龄,职称,

8、电话,所属学院,登录初始密码;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表Create tab

9、le Student(SNo char(10),SName varchar2(10) not null,SSex varchar2(2) not null,SAge number(2),SClass varchar2(10) not null,SPhone varchar2(12),SDept varchar2(20) not null,SCode varchar2(20) not null,constraint student_pk PRIMARY KEY(SNo),constraint student_SSex CHECK(SSex in (男,女),constraint student_

10、SAge CHECK(SAge=15 and SAge=23 and TAge=5 and CTime=0 and Score=100),constraint score_SNo_fk FOREIGN KEY(SNo) References Student(SNo) on delete cascade,constraint score_CNo_fk FOREIGN KEY(CNo) References Course(CNo) on delete cascade,constraint score_TNo_fk FOREIGN KEY(TNo) References Teacher(TNo) o

11、n delete cascade);Dept表Create table Dept(DName varchar2(20) PRIMARY KEY,DPhone varchar2(12);3.2 数据库连接CDatabase db; /定义CDatabase对象,用来连接数据库操作CRecordset set(&db); /定义CRecordSet对象,用来操作数据库数据(增删改查)if(!db.OpenEx(DSN=StuScore;SERVER=FXC;UID=U74115;PWD=fxc123;,0) /连接数据库,参数一/是连接字符串MessageBox(数据库连接失败!,错误提示,MB_

12、OK|MB_ICONERROR);return;set.Close(); /断开操作对象连接db.Close(); /断开数据库的连接3.3 主要模块实施3.3.1 登录模块的开发见附加代码部分3.3.2 学生成绩管理系统各界面系统登录界面:学生登录功能:教师登录功能:管理员登录功能:3.4 系统测试3.4.1 软件测试的对象利用不同的登录权限对学生表、教师表、课程表、授课表和成绩表进行不同的增删改查操作。3.4.2 软件测试的结果学生部分功能实现结果:教师部分功能实现结果:管理员部分功能实现结果:查询学生信息:添加学生信息:修改教师信息:修改后的内容删除教师信息:(下图中已经删除教师号为00

13、1的教师信息)4 系统说明4.1 开发环境本系统的是在Micorsoft Visual C+6.0平台下开发的,系统的后台数据库为Oracle9i数据库;因此在使用本系统前,应先安装Micorsoft Visual C+和Oracle 9i数据库,否则该系统无法运行。4.2 系统安装、配置与发布应用程序的步骤将系统的原文件直接复制到机器上后,在数据库管理系统上建立一个名为FXC的数据库,在创建用户U74115/fxc123,建立表空间并添加必要的数据,最后再在ODBC中配置数据源,将数据源命名为StuScore后,系统便可以运行。5 总 结整个课程设计基本满足设计的要求,不过还存在许多不足的地

14、方。此次的课程设计,对自己的动手能力水平有了一定幅度的提高。本课程设计的完成还通过了同学之间的相互帮助才完成,在此表示感谢。参考文献1 郑莉,董渊,何江周.C+程序设计M. 北京:清华大学出版社,2010.2 陈根才,孙建伶,林怀忠,周波.数据库课程设计M. 浙江:浙江大学出版社,20073 戴小平,王丽,帅兵,张润梅.数据库系统及应用M. 合肥:中国科学技术大学出版社,2010 源代码:登录模块的开发void CStudentScoreManageDlg:OnOK() / TODO: Add extra validation hereGetDlgItemText(IDC_EDIT_USERN

15、AME,m_username);GetDlgItemText(IDC_EDIT_PASSWORD,m_password);int match_flag=0; /用户名匹配标志,0表示不匹配,即数据库中没有找到该用户名CString username; /接受数据库中的相关字段CString password;/连接数据库,查询用户名(SNo或TNo)和数据库表中的数据是否匹配CDatabase db;CRecordset set(&db);if(!db.OpenEx(DSN=StuScore;SERVER=FXC;UID=U74115;PWD=fxc123;,0)MessageBox(数据库连

16、接失败!,错误提示,MB_OK|MB_ICONERROR);return;/根据选择的登录身份来查找用户,从而和输入的用户名进行匹配if(1=m_id)set.Open(AFX_DB_USE_DEFAULT_TYPE,select rtrim(sno),scode from STUDENT);else if(2=m_id)set.Open(AFX_DB_USE_DEFAULT_TYPE,select rtrim(tno),tcode from TEACHER);else if(3=m_id)elseMessageBox(请选择登录身份!,提示,MB_OK);return;if(1=m_id |

17、 2=m_id)/set.MoveFirst();while(!set.IsEOF()set.GetFieldValue(short)0,username);if(m_username=username)set.GetFieldValue(short)1,password); match_flag=1; /是否匹配反映在标志变量match_flag上break;else set.MoveNext();if(0=match_flag & 3!=m_id) MessageBox(没有找到该用户!,MB_OK);return;/根据m_id登录不同界面if(1=m_id)if(m_password=

18、password)/MessageBox(学生登录);CStudentDlg StuDlg;StuDlg.m_sno=m_username; /传递用户名和密码StuDlg.m_scode=m_password;StuDlg.DoModal();elseMessageBox(密码不正确!,提示,MB_OK);return;else if(2=m_id)if(m_password=password)/MessageBox(教师登录);CTeacherDlg TeaDlg;TeaDlg.m_tno=m_username;TeaDlg.m_tcode=m_password;TeaDlg.DoModa

19、l();elseMessageBox(密码不正确!,提示,MB_OK);return; else if(Manager=m_username)if(temp=m_password)/MessageBox(管理员登录);CManagerDlg ManagerDlg;ManagerDlg.DoModal();elseMessageBox(管理员名称或密码输入不正确!,提示,MB_OK);return;else MessageBox(该用户不存在或不是管理员!,提示,MB_OK);return; set.Close();db.Close();CDialog:OnOK();教师添加学生成绩模块的开发:

20、void CTeacherDlg:OnAddSocre() /添加成绩/ TODO: Add your control notification handler code hereGetDlgItemText(IDC_EDIT_SNO,m_sno);GetDlgItemText(IDC_EDIT_CNO,m_cno);GetDlgItemText(IDC_EDIT_SCORE,m_score);/先判断课程号是否正确,即该教师是否教授该门课程CDatabase db;db.OpenEx(DSN=StuScore;Server=FXC;UID=U74115;PWD=fxc123;,0);CRec

21、ordset set(&db);CString ptno=m_tno;ptno+=;set.m_strFilter=tno=+ptno;/MessageBox(set.m_strFilter); /测试查询条件set.Open(AFX_DB_USE_DEFAULT_TYPE,select rtrim(cno) from teach); /选出教师号为m_tno的教师所教课程的课程号int match_flag=0; /课程号是否匹配标志CString cno; /用来访问结果集中的记录set.MoveFirst();while(!set.IsEOF()set.GetFieldValue(short)0,cno);if(cno=m_cno)match_flag=1;/MessageBox(该课程号满足要求,MB_OK);break;elseset.MoveNext();set.Close(); /关闭此结果集if(0=match_flag) /输入课程号不正确,则退出m_list.DeleteAllItems();MessageBox(您输入的课程号不满足要求,即您没有教授此门课程!故不能添加此门课程的学生成绩信息!,提示,MB_OK);return;/课程号满足过后,则根据输入的学号和成绩来添加记录到Score表中if(m_sno.IsEmpty()Mess

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论