您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 安徽工业大学--数据库课程设计--含代码
第1页共18页《数据库系统概论》课程设计实验报告书安徽工业大学计算机学院2011年12月25日姓名专业班级学号指导教师分数第2页共18页目录1、绪论*****************************************32、系统需求分析与设计***************************43、系统实施*************************************74、系统说明*************************************135、总结*****************************************13参考文献****************************************14附录代码****************************************14第3页共18页1绪论1.1概述1.1.1问题的提出高效率的完成学生成绩的管理,开发一个具有使用意义的学生成绩管理系统。1.1.2本课题的意义通过对学校日常教学管理中的课程、选课、学生、教师、成绩等相关内容进行分析,完成具有学生管理、成绩管理、课程管理等相关功能的小型数据库管理应用系统。1.2开发环境与工具介绍本系统采用MicrosoftVisualC++6.0作为开发工具,C++为开发语言,采用Oracle9i版本数据库管理系统建立数据库,先在Oracle中设计并制作各部分需要调用的数据库,并进行初始数据的输入,再进行界面的设计和事件代码的编写,在指导老师的帮助下,已经基本上成功地实现了设计要求。其中数据库设计和程序设计是系统的核心部分。通过对数据库的概念设计、逻辑设计、物理设计和系统的模块设计,使得系统界面简洁,功能明确,方便了工作人员的操作。1.2.1ODBC简介ODBC(OpenDatabaseConnectivity)是开放数据库互连的简称,是一种使用SQL的应用程序接口(API),是微软公司开放服务结构(WOSA,WindowsOpenServicesArchitecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。一个完整的ODBC由下列几个部件组成:应用程序、ODBC管理器、驱动程序管理器、ODBCAPI、ODBC驱动程序、数据源。1.2.2学生成绩管理系统研究状况学生成绩管理是各大学的主要日常管理工作之一,涉及到校、系、师、生的诸多方面,随着教学体制的不断改革,尤其是学分制、选课制的展开和深入,学生成绩日常管理工作及保存管理日趋繁重、复杂。迫切需要研制开发一款功能强大,操作简单,具有人性化的学生成绩管理系统。在国外高校,与国内不同,他们一般具有较大规模的稳定的技术队伍来提供服务与技术支持。而国内高校信息化建设相对起步较晚。在数字校园理论逐步应用的过程中,各高校一方面不断投资购建各种硬件、系统软件和网络,另一方面也不断开发实施了各类教学、科研、办公管理等应用系统,形成了一定规模的信息化建设体系。但是,由于整体信息化程度相对落后,经费短缺,理论体系不健全等原因,国内高校教务管理系统在机构设置、服务范围、服务质量及人员要求上与国外高校相比都有一定的差距。纵观目前国内研究现状,在安全性和信息更新化方面存在有一定的不足,各现有系统资料单独建立,共享性差;在以管理者为主体的方式中,信息取舍依赖管理者对于信息的认知与喜好,较不容易掌握用户真正的需求,也因此无法完全满足用户的需求。因此,教务管理软件应充分依托校园网,实现教务信息的集中管理、分散操作、信息共享,使传统的教务管理朝数字化、无纸化、智能第4页共18页化、综合化的方向发展,并为进一步实现完善的计算机教务管理系统和全校信息系统打下良好的基础。2系统需求分析与设计2.1用户需求分析2.1.1用户需求要求不同的实体(学生、教师和管理员)登录系统后,能够进行合理范围的内的对数据库中的数据进行操作。2.1.2系统功能需求1.学生:查询每一门课程的成绩;查询所有课程的平均成绩;查询所有选课信息;修改密码。2.教师:添加学生成绩;修改学生成绩;查询学生成绩(按条件查询);查询所有授课信息;修改密码。3:管理员:增删改查学生信息;增删改查教师信息;增删改查课程信息。2.1.3数据分析学生表:学号,姓名,性别,年龄,班级,电话,学院,登录初始密码;教师表:教师号,姓名,性别,年龄,职称,电话,所属学院,登录初始密码;课程表:课程号,课程名,课程类型,课时;学院信息表:学院名称,学院电话;教师授课表:教师号,课程号,上课教室,上课事件;学生选课表:学号,课程号,教师号,成绩;2.2系统功能模块图查询课程成绩查询所有课程平均成绩查询选课信息修改密码管理员教师学生登录添加学生信息修改学生信息查询学生信息查询授课信息修改密码增删改查学生信息增删改查教师信息增删改查课程信息第5页共18页2.3数据库设计2.3.1系统E-R图属于选修学生学院拥有成绩教师号课程教师讲授学期教室m11nnmnn学号班级性别年龄姓名电话学院密码学生教师号职称性别年龄姓名电话学院密码教师第6页共18页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);教室课程课程号课时课程名学院名电话学院第7页共18页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,第8页共18页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();//断开操作对象连接第9页共18页db.Close();//断开数据库的连接3.3主要模块实施3.3.1登录模块的开发见附加代码部分3.3.2学生成绩管理系统各界面系统登录界面:学生登录功能:教师登录功能:第10页共18页管理员登录功能:3.4系统测试3.4.1软件测试的对象利用不同的登录权限对学生表、教师表、课程表、授课表和成绩表进行不同的增删改查操作。3.4.2软件测试的结果学生部分功能实现结果:第11页共18页教师部分功能实现结果:管理员部分功能实现结果:查询学生信息:第12页共18页添加学生信息:修改教师信息:第13页共18页删除教师信息:(下图中已经删除教师号为0
本文标题:安徽工业大学--数据库课程设计--含代码
链接地址:https://www.777doc.com/doc-5521879 .html