数据库课程设计-学生成绩管理系统_第1页
数据库课程设计-学生成绩管理系统_第2页
数据库课程设计-学生成绩管理系统_第3页
数据库课程设计-学生成绩管理系统_第4页
数据库课程设计-学生成绩管理系统_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

数据库应用课程设计说明书班级软件工程1404姓名学号设计题目学生成绩管理系统(数据库)设计时间2017625至201776指导教师学生成绩管理系统(数据库)设计总说明考虑到高校学生的成绩管理工作量大、繁杂,人工处理非常困难,出现了学生成绩管理系统。它借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理也更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。本系统根据我校的一些实际情况开发,用于对学校教师、学生、课程信息的管理,主要用于管理学生成绩。登录系统时需要访问数据库中的用户信息,确定登录身份。系统完成了日常的教育工作中对学生成绩档案的数字化管理,并且较为系统地对学生信息、成绩信息和课程信息进行管理。查询、增添、修改、删除都变的非常简便,减少了管理的工作量。基于学校学生众多,为了数据的安全性,系统将学生数据保存在数据库中,以VISUALC设计前台对系统进行设计。因为成绩管理系统是一项很实用的系统,所面对的数据量很大,所以我们要求系统能够高效快速的处理这些数据,并且要保证数据的正确性、相容性和安全性。C作为前台是将数据库中的数据读取出来,有助于用户对这些数据进行相应的操作,使操作更方便,更符合用户的要求。所以该系统应该要有一个良好的界面,使用户感觉很直观,使用快捷,这就是用C所要实现的功能。关键词VISUALC60;SQLSERVER;MFC;学生成绩管理前言本课程设计是在学习了数据库系统和C语言等有关课程后,通过实际的操作来熟悉数据库和相关软件的应用,培养独立的完成对相关课题或者项目的分析能力、设计能力和调试能力。成绩管理系统登录须有数据库中的账号信息,如无用户可及时注册。系统可以对不同的项目进行查询、添加、修改、删除等操作,方便学校的成绩管理。课程设计,着重培养的是学生的自学能力,以及独立分析互联网上和图书馆里的各种资料,用来丰富自己的知识并且提高对SQL、VC等软件的实际操作能力。通过这次的课程设计,使我们对已经学习过的数据库课程的进一步的掌握,对知识进行最大程度的消化融汇。因此这次的课程设计对我们来说具有非常重要的作用为以后学习工作做必要的准备和实践,提高自身对数据库开发的能力。第1章数据库总体设计与实施1数据库设计11概念分析概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。设计成绩管理数据库包括系别、教研室、班级、教师、学生、课程、成绩七个关系。ER图211和图212所示。图211实体及其属性图图212完整的实体联系图12逻辑设计逻辑结构是独立于任何一种数据模型的信息结构。逻辑结构的任务是把概念结构设计阶段设计好的基本ER图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。设计学生成绩管理数据库,包括系别、教研室、班级、教师、学生、课程、成绩七个关系,考虑到数据库完整性,其关系模式中对每个实体定义的属性如下系别表系别(系号,系名)教研室表教研室(教研室号,教研室名)班级表班级(班号,班名,系号)教师表教师(教师号,姓名,教研室号)学生表学生学号,姓名,性别,班号课程表课程(课程号,课程名,教师号,学时,学分)成绩表成绩(学号,课程号,成绩)为了存放前台用户信息再添加一用户表用户表用户(用户名,密码)13物理设计定义每个表的数据类型以及字段限制,使数据库达到一定的完整性。每个表的物理设计如下表211系别表字段名数据类型字段限制系号CHAR2PRIMARYKEY系名CHAR20NOTNULL表211教研室表字段名数据类型字段限制教研室号CHAR10PRIMARYKEY教研室名CHAR20NOTNULL系号CHAR10NOTNULL表213班级表字段名数据类型字段限制班号CHAR10PRIMARYKEY班名CHAR14NOTNULL系号CHAR10NOTNULL表214教师表字段名数据类型字段限制教师号CHAR5PRIMARYKEY教师姓名CHAR6NOTNULL教研室号CHAR10NOTNULL表215学生信息表字段名数据类型字段权限学号CHAR14PRIMARYKEY姓名CHAR6NOTNULL性别CHAR2NOTNULL班号CHAR10NOTNULL表216课程表字段名数据类型字段权限课程号CHAR5PRIMARYKEY课程名CHAR20NOTNULL教师号CHAR5NOTNULL学时INTNOTNULL学分CHAR3NOTNULL表217成绩表字段名数据类型字段权限学号CHAR14PRIMARYKEY课程号CHAR5PRIMARYKEY成绩CHAR3NOTNULL表218用户表字段名数据类型字段权限用户名CHAR20PRIMARYKEY密码CHAR20NOTNULL第2章数据库的实施21创建数据库在SQL2000中的企业管理器中,新建一个数据库,名为“STUDENT1”,在查询分析器中新建数据表。22创建表同样在查询分析器中键入如下代码完成表的创建。CREATETABLE学生学号CHAR14NOTNULLPRIMARYKEY,姓名CHAR6NOTNULL,性别CHAR2NOTNULL,班号CHAR10NOTNULLCREATETABLE教师教师号CHAR5NOTNULLPRIMARYKEY,姓名CHAR6NOTNULL,教研室号CHAR4NOTNULLCREATETABLE课程课程号CHAR5NOTNULLPRIMARYKEY,课程名CHAR20NOTNULL,教师号CHAR5NOTNULL,学时INTNOTNULL,学分CHAR3NOTNULLCREATETABLE成绩学号CHAR14NOTNULL,课程号CHAR5NOTNULL,成绩CHAR3NOTNULLPRIMARYKEY学号,课程号CREATETABLE用户用户名CHAR20NOTNULLPRIMARYKEY,密码CHAR20NOTNULL第3章前台设计与实现3导入数据库数据并链接BOOLCMYDLGONINITDIALOG/CDIALOGONINITDIALOG/ADD“ABOUT“MENUITEMTOSYSTEMMENUM_DBOPEN_T“ODBCDSNSTUDENT1“M_USERRSM_PDATABASE/IDM_ABOUTBOXMUSTBEINTHESYSTEMCOMMANDRANGEASSERTIDM_ABOUTBOXASSERTIDM_ABOUTBOXAPPENDMENUMF_SEPARATORPSYSMENUAPPENDMENUMF_STRING,IDM_ABOUTBOX,STRABOUTMENU/SETTHEICONFORTHISDIALOGTHEFRAMEWORKDOESTHISAUTOMATICALLY/WHENTHEAPPLICATIONSMAINWINDOWISNOTADIALOGSETICONM_HICON,TRUE/SETBIGICONSETICONM_HICON,FALSE/SETSMALLICONRETURNTRUE/RETURNTRUEUNLESSYOUSETTHEFOCUSTOACONTROL31登录模块311登录运行程序首先要通过登录,登录的用户名和密码存于数据库中用户表中。输入用户名和密码还有用户的类型从而进入程序。当用户名与密码不匹配时提示错误。VOIDCMYDLGONOK/TODOADDEXTRAVALIDATIONHEREUPDATEDATATRUEIFM_USERRSISOPENM_USERRSOPENM_USERRSM_STRFILTERFORMAT“用户名SAND密码S“,M_USERNAME,M_PASSM_USERRSREQUERYTRYIFM_USERNAME“AFXMESSAGEBOX“请输入用户名“RETURNIFM_USERRSISEOFAFXMESSAGEBOX“密码错误“RETURNELSECDIALOGONOKCMAIN1DLGMAIN1DLGMAIN1DLGDOMODALCATCHCEXCEPTIONEEREPORTERRORRETURN312为了使系统美观,可通过设置背景图片来改变系统样式。(1)实现方法如下引入一张要加入的图片,在要添加图片的对话框类向导中MESSAGES中选择WM_PAINT对其编辑,在ONPAINT函数中加入如下代码CPAINTDCDCTHISCRECTRECTGETCLIENTRECTCDCDCMEMDCMEMCREATECOMPATIBLEDCCBITMAPBMPBACKGROUNDBMPBACKGROUNDLOADBITMAPIDB_BITMAP3BITMAPBITMAPBMPBACKGROUNDGETBITMAPCBITMAPPBMPOLDDCMEMSELECTOBJECTDCSTRETCHBLT0,0,RECTWIDTH,RECTHEIGHT,(2)为了将界面设计更加美观,更加人性化,适合用户,将按钮加入图片。代码实现如下在ONINITDIALOG中加入HBITMAPHBITMAP,HBITMAP1HBITMAPLOADBITMAPAFXGETINSTANCEHANDLE,MAKEINTRESOURCEIDB_BITMAP1CBUTTONGETDLGITEMIDOKSETBITMAPHBITMAPHBITMAP1LOADBITMAPAFXGETINSTANCEHANDLE,MAKEINTRESOURCEIDB_BITMAP2CBUTTONGETDLGITEMIDCANCELSETBITMAPHBITMAP1RETURNTRUE/RETURNTRUEUNLESSYOUSETTHEFOCUSTOACONTROL界面运行如下登录界面的用户名通过数据库访问代码如下在BOOLCMYDLGONINITDIALOG中加入CDIALOGONINITDIALOGM_DBOPEN_T“ODBCDSNSTUDENT1“M_USERRSM_PDATABASE32系统的详细设计321主界面设计主界面添加了菜单栏,用于各种信息查询操作和软件帮助信息。通过引入图片设置对话框背景图片。主界面如图321所示。322菜单栏和查询设计菜单栏前两个菜单都为查询菜单,通过SQL查询语句显示查询结果。初始化状态为显示全部结果,若记录太多可按主码值查询,若要返回初始状态,点击刷新按钮即可。可以为每个窗口设置适当的图片背景。1查询菜单2成绩查询(1)按学号查询(2)按班级查询(3)按课程查询3信息查询(1)学生信息(2)教师信息(3)课程信息323管理模块设计(1)总的管理模块设计(2)学生管理模块设计(3)教师管理模块设计(4)学生成绩管理模块(5)课程信息管理模块(6)全部显示、增加。删除、修改的功能第4章代码设计41查询411成绩查询(按学号)VOIDCSTUDENTNUMSEARCHDLGONOK/TODOADDEXTRAVALIDATIONHEREUPDATEDATATRUE/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHERECDATABASEDATABASEDATABASEOPEN“STUDENT1“,FALSE,FALSE,“ODBC“,FALSECSTRINGSTRCRECORDSETSETIFM_STUDENTNUMISEMPTYMESSAGEBOX“请输入学号“RETURNM_LISTSTU1DELETEALLITEMSSETOPENCRECORDSETDYNASET,_T“SELECT学生学号,学生姓名,课程课程名,成绩成绩FROM学生,成绩,课程WHERE学生学号成绩学号AND成绩课程号课程课程号AND学生学号“M_STUDENTNUM“ORDERBY成绩成绩DESC“INTI0WHILESETISEOFM_LISTSTU1INSERTITEMI,“CSTRINGSTR1,STR2,STR3,STR4SETGETFIELDVALUE“学号“,STR1M_LISTSTU1SETITEMTEXTI,0,STR1SETGETFIELDVALUE“姓名“,STR2M_LISTSTU1SETITEMTEXTI,1,STR2SETGETFIELDVALUE“课程名“,STR3M_LISTSTU1SETITEMTEXTI,2,STR3SETGETFIELDVALUE“成绩“,STR4M_LISTSTU1SETITEMTEXTI,3,STR4SETMOVENEXTISETCLOSEUPDATEDATATRUEDATABASECLOSEBOOLCSTUDENTNUMSEARCHDLGONINITDIALOG/TODOADDEXTRAINITIALIZATIONHERECDIALOGONINITDIALOGM_LISTSTU1INSERTCOLUMN1,“学号“,LVCFMT_LEFT,100,0M_LISTSTU1INSERTCOLUMN2,“姓名“,LVCFMT_LEFT,100,0M_LISTSTU1INSERTCOLUMN3,“课程“,LVCFMT_LEFT,100,0M_LISTSTU1INSERTCOLUMN4,“成绩“,LVCFMT_LEFT,100,0RETURNTRUE/RETURNTRUEUNLESSYOUSETTHEFOCUSTOACONTROL/EXCEPTIONOCXPROPERTYPAGESSHOULDRETURNFALSE412查询信息(学生信息)VOIDCSTUDENTINFODLGONOK/TODOADDEXTRAVALIDATIONHEREUPDATEDATATRUE/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHERECDATABASEDATABASEDATABASEOPEN“STUDENT1“,FALSE,FALSE,“ODBC“,FALSECSTRINGSTRCRECORDSETSETIFM_STUDENTNUMISEMPTYMESSAGEBOX“请输入学号“RETURNM_LISTSTU4DELETEALLITEMSSETOPENCRECORDSETDYNASET,_T“SELECT学生学号,学生姓名,学生性别,学生班号FROM学生WHERE学生学号“M_STUDENTNUM“INTI0WHILESETISEOFM_LISTSTU4INSERTITEMI,“CSTRINGSTR1,STR2,STR3,STR4SETGETFIELDVALUE“学号“,STR1M_LISTSTU4SETITEMTEXTI,0,STR1SETGETFIELDVALUE“姓名“,STR2M_LISTSTU4SETITEMTEXTI,1,STR2SETGETFIELDVALUE“性别“,STR3M_LISTSTU4SETITEMTEXTI,2,STR3SETGETFIELDVALUE“班号“,STR4M_LISTSTU4SETITEMTEXTI,3,STR4SETMOVENEXTISETCLOSEUPDATEDATATRUEDATABASECLOSEBOOLCSTUDENTINFODLGONINITDIALOGCDIALOGONINITDIALOG/TODOADDEXTRAINITIALIZATIONHEREM_LISTSTU4INSERTCOLUMN0,“学号“,LVCFMT_LEFT,100,0M_LISTSTU4INSERTCOLUMN1,“姓名“,LVCFMT_LEFT,100,0M_LISTSTU4INSERTCOLUMN2,“性别“,LVCFMT_LEFT,100,0M_LISTSTU4INSERTCOLUMN3,“班号“,LVCFMT_LEFT,100,0RETURNTRUE/RETURNTRUEUNLESSYOUSETTHEFOCUSTOACONTROL/EXCEPTIONOCXPROPERTYPAGESSHOULDRETURNFALSE42管理系统421学生信息管理BOOLCSTUDENTMANAGEMENTDLGONINITDIALOG/设置表格类型,样式CDIALOGONINITDIALOG/TODOADDEXTRAINITIALIZATIONHERECSTUDENTRSM_SETUNSIGNEDI0CODBCFIELDINFOINFOM_SETOPENM_LISTCTRLXSETEXTENDEDSTYLELVS_EX_FULLROWSELECT|LVS_EX_GRIDLINESFORI0ISHOWVOIDCSTUDENTMANAGEMENTDLGONADD/添加/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHERECADDDLGDLGIFDLGDOMODALIDOKIFM_SETISOPENM_SETOPENM_SETADDNEWM_NRECORDCOUNT1M_SETM_COLUMN1DLGM_NXUEM_SETM_COLUMN2DLGM_STRNAMEM_SETM_COLUMN3DLGM_SEXM_SETM_COLUMN4DLGM_CLASS/THISEQUALM_SETUPDATE/UPDATE放在EQUAL后M_SETREQUERYTHISXUANVOIDCSTUDENTMANAGEMENTDLGONDELETE/删除/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHEREPOSITIONPOSM_LISTCTRLXGETFIRSTSELECTEDITEMPOSITIONIFPOSNULLMESSAGEBOX“请选择你要删除的一行“RETURNINTNINDEXM_LISTCTRLXGETNEXTSELECTEDITEMPOSCSTRINGSTRM_LISTCTRLXGETITEMTEXTNINDEX,0IFMESSAGEBOX“你确定要删除“STR“这行数据吗“,“删除功能“,MB_OKCANCELIDOKRETURNIFM_SETISOPENM_SETOPENM_SETMOVEFIRSTBOOLSELFALSEDOIFM_SETM_COLUMN1STRM_SETMOVENEXTELSEM_NRECORDCOUNT1SELTRUEM_SETDELETEM_SETREQUERYBREAKWHILEM_SETISEOFIFSELFALSEAFXMESSAGEBOX“没有此记录“RETURNELSETHISXUANVOIDCSTUDENTMANAGEMENTDLGONCHANGE/修改CCHANGEDLGDLGIFDLGDOMODALIDOKRETURN/如果没有点“确定”,则退出。POSITIONPOSM_LISTCTRLXGETFIRSTSELECTEDITEMPOSITIONIFPOSNULL/MESSAGEBOX“请选择你要删除的一行“RETURNINTNINDEXM_LISTCTRLXGETNEXTSELECTEDITEMPOSCSTRINGSTRM_LISTCTRLXGETITEMTEXTNINDEX,0IFM_SETISOPENM_SETOPENM_SETMOVEFIRSTBOOLSELFALSEDOIFM_SETM_COLUMN1STRM_SETMOVENEXTELSEM_NRECORDCOUNT1SELTRUEM_SETDELETEM_SETREQUERYBREAKWHILEM_SETISEOFM_SETADDNEWM_NRECORDCOUNT1M_SETM_COLUMN1DLGM_NXUEM_SETM_COLUMN2DLGM_STRNAMEM_SETM_COLUMN3DLGM_SEXM_SETM_COLUMN4DLGM_CLASS/THISEQUALM_SETUPDATE/UPDATE放在EQUAL后M_SETREQUERYTHISXUANINTCSTUDENTMANAGEMENTDLGSHOW/控制输出INTK0DOCSTRINGSSFORMAT“S“,M_SETM_COLUMN1M_LISTCTRLXINSERTITEMK,S,0M_LISTCTRLXSETITEMTEXTK,1,M_SETM_COLUMN2SFORMAT“S“,M_SETM_COLUMN3M_LISTCTRLXSETITEMTEXTK,2,SSFORMAT“S“,M_SETM_COLUMN4M_LISTCTRLXSETITEMTEXTK,3,SKM_SETMOVENEXTWHILEM_SETISEOFM_SETCLOSERETURNKVOIDCSTUDENTMANAGEMENTDLGXUANM_LISTCTRLXDELETEALLITEMSTHISSHOW第5章课程任务分析在这次课程设计中,我是自己一个人独立完成,虽然过程比较辛苦,但最终完成了课程设计的研究,整体的分析。首先是课程设计的概念结构设计,数据库的前台设计与实现,所有界面的总体设计,其中菜单栏,教师信息管理主要是一开始就完成的,还通过PS获得了自己的界面,来改变系统样式。然后是数据库的逻辑设计,查询信息设计包括学生信息,教师信息,课程信息,管理模块设计中的课程信息管理,学生成绩管理。最后主要数据库的物理设计数据库的实施,创建数据库,创建表,登陆模块的设计,学生信息管理,退出系统,查询成绩,课程报告文档的设计。总结通过这一个月的时间终于完成了对学生成绩管理系统的设计开发,并且系统的基本的功能已经实现。我觉得数据库设计比较完美,查询、修改都很方便。系统本

温馨提示

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

评论

0/150

提交评论