2015年数据库应用课程设计实验报告.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2015年数据库应用课程设计实验报告.pdf》由会员分享,可在线阅读,更多相关《2015年数据库应用课程设计实验报告.pdf(40页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、四川广播电视大学社会实践报告姓名:丁 劲 松(200809014221)设计题目:小雨点学生成绩管理系统设 计 时 间:2012.7.10 至 2012.7.21指导教师:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _评 语:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _评 阅 成 绩:评 阅 教 师:目录设计总说明.3关键词.4绪论.5第 1 章 数据库设计.61.1需求分析.61.1.1 数据需求.61.1.2数据字典.61.1.3 数据流程图
2、.71.2 概念分析.71.3 逻辑结构设计.91.4 物理实施.91.4.1创建数据库.91.4.2创建数据表.1 01.4.3 像数据表中插入数据.1 01.4.4 创建视图.1 21.4.5触发器和完整性约束.1 21.4.6存储过程.1 3第 2 章 系统界面设置及主要功能.1 42.1添加主菜单和功能按钮.1 42.2 登录界面设置.1 52.3 学生信息增、册 1、改界面.1 72.4 对学生信息多角度查询.2 1总结.2 7参考文献.2 8附录程序代码.2 91 S t u C o n S t r.h头文件的代码.2 92登录界面“确定”按钮代码.2 93添加登录界面背景图片的代
3、码.294使控件变为透明的代码.305主界面“添加”按钮代码.306主界面“查找”按钮代码.317主界面“修改”按钮代码.338主界面“删除”按钮代码.359添加菜单栏和工具栏代码.351 0信息查询界面“查询”按钮代码.361 1成绩录入界面“查询”代码.361 2成绩录入界面“添加”代码.371 3成绩录入界面“修改”.371 4成绩录入界面“删除”按钮代码.38小雨点学生成绩管理系统设计总说明:在当今社会,无论中小学还是大学,成绩管理是一项必要而且很关键的工作。现在随着学生数量的急剧增加,处理学生的成绩数据变的越来越烦琐艰巨。在当今社会,计算机已经普及到了几乎每个学校、家庭,我们的学习和
4、生活已经处处离不开计算机的存在。按照传统的管理方法,学生成绩都是登录在纸质的成绩册上,使用很不方便,在进行查询、修改、插入和删除操作时,可能由于人为的失误,使这些数据很容易丢失。另一方面,传统的管理方法在面对大量的数据时,工作量非常大,效率非常低。所以要设计出一套高效的、合理的学生成绩管理系统是很有必要的。本系统依据开发要求主要应用于教育系统,完成对日常的教育工作中学生成绩档案的数字化管理。开发本系统可使老师减轻工作压力,比较系统地对学生的信息和成绩进行管理,查询、增添、修改、删除都变的非常简便,节省了大量的工作量。本课程设计是在学习了 数据库系统A和相关开发软件课程之后,让学生通过实际项目的
5、设计、开发,培养学生独立进行数据库软件的建模、在计算机中进行数据库设计、并通过相关软件开发系统的能力。输入一个班级的学生基本信息(包括学号,姓名,性别,科目),对N门考试的成绩进行 管 理(例N=5),要求:1、用户录入每个学生每门课程的分数;2、能够计算每个学生的各门功课总分和平均分,并按总分将成绩排序,显示每个学生的总分和排名;3、计算全班各门功课的平均分,显示没门课程中低于平均分的每一个学生的学号,姓名,性别,科目,成绩等信息;4、显示每门科目中,成绩在90分以上的学生信息。另外还输出每门科目中不及格的学生信息;5、能按姓名或者学号查找,增加,删除和保存各个学生的信息。本系统主要用于对学
6、生成绩进行管理,能够进行插入、删除、修改、查询和显示学生的信息。登录该系统时,用户需要输入口令和密码,以确保数据的安全性,成功登录的用户,可以插入学生的信息和成绩,并对学生的信息和成绩进行增、删、改操作。基于上述想法,我们将学生数据保存到数据库中,以C+为前台进行系统的设计。因为成绩管理系统是一项很实用的系统,所面对的数据量很大,所以我们要求系统能够高效快速的处理这些数据,并且要保证数据的正确性、相容性和安全性。所以在数据库中需要定义很多触发器,比如删除了某位同学的信息则删除对应的所有成绩信息、活着删除了某门课程则删除该门课所有的成绩等。C+作为前台是将数据库中的数据读取出来,有助于用户对这些
7、数据进行相应的操作,使操作更方便,更符合用户的要求。所以该系统应该要有一个良好的界面,使用户感觉很直观,使用快捷,这就是用C+所要实现的功能。既然在一个系统中同时涉及到数据库和C+,所以我们要从数据库中读取数据,并且和界面联系起来,同时也能将用户界面上的数据存储到数据库中。以上是设计此系统应该注意的地方和设计原则,以下就是遵循这些原则和标准设计出的一套完整的管理系统。关键词:SQLServer;成绩管理;MFC绪论本课程设计是在学习了 数据库系统A 和以前学过的C+等相关软件课程后,通过实际的操作来熟悉数据库和相关软件的应用,培养独立的完成对相关课题或者项目的分析能力、设计能力和调试能力。这次
8、的课程设计是继大二开设的C+面向对象课程设计之后的,同样是运用M F C 程序来设计。与上次课程设计唯一不同的就是数据的存储位置不同。在大二下学期开设的课程设计中,我们主要是将数据保存到数据文件当中,而这次课程设计我们要将数据保存到数据库中。所以我们要解决的首要问题就是如何将数据库中的数据导出来,这也是我们这次课程设计的关键,因为其他的操作我们在学面向对象程序设计C+时已经练习过。这次的课程设计中,着重培养的是学生的自学能力,以及独立分析互联网上和图书馆里的各种资料,用来丰富自己的知识并且提高对S Q L、VC+等软件的实际操作能力。通过这次的课程设计,使我们对已经学习过的数据库课程的进步的掌
9、握,对知识进行最大程度的消化融汇。因此这次的课程设计对我们来说具有非常重要的作用:为以后学生工作做必要的准备和实践,提高自身对数据库开发的能力。学生成绩管理系统,在系统中分为大的两个个方面:一是学生信息的增删改,二是学生成绩的增删改。(1)用户进入系统后,可以查询相应学号的学生的信息,可以增加、删除、修改学生信息。(2)用户可以录入学生的成绩,只需输入对应的学号和课程号以及成绩,简单易操作,并且可以对记录进行增、删、改操作。此次设计的学生成绩管理系统,虽然简单,但是却十分实用,极大的方便了用户对学生信息和成绩的操作,节省了大量的工作量。第1章数据库设计1.1 需求分析1.1.1 数据需求学生成
10、绩管理系统需要完成的主要功能有:1.学生的基本信息录入,包括学号、姓名、性别、出生时间、专业、总学分、备注、地址。2.课程信息表的录入,包括课程号、课程名,学分。3.成绩信息表的查询、插入、修改、删除等操作,包括课程号、学号、成绩。1.1.2数据字典表1学生信息表(XSB)结构项目名列名数据类型可空默认值说明学号XHChar6NOT NULL无主键姓名XMChar8NOT NULL无性别XBChar2NULL无出生时间CSSJDatetimeNULL无专业ZYCharNULL无总学分ZXFIntNULL00W总学分160备注BZVarchar500NULL无地址DZxmlNULL无表2课程信息
11、表(KCB)结构项目名列名数据类型可空默认值说明课程号KCHChar3NOT NULL无主键课程名KCMChar 16NOT NULL无学分XFtinyintNULL0表3成绩表(CJB)结构项目名列名数据类型可空默认值说明学号XHChar6NOT NULL无主键课程号KCHChar3NOT NULL无主键成绩CJintNULL01.1.3数据流程图学生成绩管理系统登录系统管理员学生信息管理学生成绩管理查询学生信息删除学生信息修改学生信息添加学生成绩查询学生信息删除学生信息修改学生信息添加学生信息图1数据流程图1.2 概念分析在以上需求分析的基础上,设计出该系统的E-R图以及各数据项之间的关系
12、模式,则得出学生表E-R图:课程表E-R 图:c w g7)-课程|-(W)(课程名)图3课程表E-R 图成绩表E-R 图图4成绩表E-R 图所以得出总的E-R 图:课程名图5总E-R图1.3 逻辑结构设计关系模型:学生表(XH,XM,XB,CSSJ,ZY,ZXF,BZ,DZ);课程表(KCH,KCM,XF);成绩表(XH,KCH,CJ)1.4 物理实施1.4.1创建数据库CREATE DATABASE PXSCJON PRIMARY(NAME=PXSCJ_data,FILENAME=F:数据库课程设计数据源PXSCJ.mdf,SIZE=10,MAXSIZE=UNLIMITED,FILEGRO
13、WTH=5)LOG ON(NAME=PXSCJ Jog,FILEN A M E=F:J$iIi+i PX SC J.LD F,SIZE=5,MAXSIZE=UNLIMITED,FILEGROWTH=20%)1.4.2 创建数据表创建学生信息表:USE PXSCJGOCREATE TABLE XSB(XH CHAR(6)NOT NULL PRIMARY KEY,XM CHAR(8)NOT NULL,XB CHAR(2)NULL CHECK(XB=OR XB=女),CSSJ DATETIME NULL,ZYCHAR(12)NULL,ZXF INT NULL DEFAULT 0 CHECK(ZXF=
14、0 AND ZXF=0 AND CJ=100)1.4.3 像数据表中插入数据学生信息表部分数据如图6:片 表“XSB”中的数据,位 置 是“PXSCJ”中、“(lo c a l)”上X HX M X BCSSJ ZY ZXFBZ D Z081101李晓媛1990-1-23基础都60宣传部部长山西省寿阳县0811021989-11-8基础部72重庆市垫江081103李翠静1989-10-27基础部79先进个人河北省邢台市0811041988-3-25基础部60河北省承德市0811051987-11-8基础部55有一门不及格,很 0811061990-7-18基础部62已提前修完一门连浙江省081
15、1071991-10-27基础部58内薮古海拉尔市0811081990-10-10基础部63江西省南昌市0811091986-2-28基础部42江苏省南京市0811111990-3-2基础部61山西省长治市0811121989-9-15基础部36即将退学四川省成都市0811131989-4-29基础部72OWLL重庆市垫江0812011989-4-29计算机系72重庆市长寿0812021989-11-8计算机系72广东省深圳市0812031989-10-27计算机系79三好学生新疆省乌鲁木齐0812041988-3-25计篁机系60西藏拉萨0812051987-11-8计算机系55有一门不及格
16、,农 0812061990-7-18计篁机系62已提前修完一门&宁夏0812071991-10-27计算机系58香海西宁0812081990-10-10计算机系63四川省汶川县0812091986-2-28计邕机系42北京市通州区0812101989-1-13计篁机系44河南省0812111990-3-2计算机系61OTULL安徽省合肥市081212李宇春1989-9-15计篁机系36即将退学河北省廊坊市0813011989-4-29电信系72上海图:6 学生信息表部分数据课程信息表数据如图7:力表“KCB”中的数据,位 置 是“PXSCJ”中、“(lo c a l)KCH|K C MIKKS
17、J|xs|XF向讨算机基础1805102程序设计与语言2684206离散数学4684208数据结构5684209操作系统6684210计算机原理5855212数据库原理7684301计算机网络7513302软件工程7513米图7 课程信息表数据成绩表部分数据如图8:扁 表“CJB”中的数据,位 置 是“PXH|KCH|CJ101990811011025908110310179081102206870811022087808110230167081102212900811031028708110330249081104101430811041029608110420910008110510192
18、081105102870811062067808110710167图 8 成绩表部分数据1.4.4 创建视图USE PXSCJGOCREATE VIEW XS_KC_CJASSELECT XSB.XH,XSB.XM,KCB.KCH,KCB.KCM,CJB.CJFROM KCBINNER JOIN CJB ON KCB.KCH=CJB.KCHINNER JOIN XSB ON XSB.XH=CJB.XH1.4.5 触发器和完整性约束删除学生对应成绩记录(使用触发器实现)实现功能:当删除学生记录后,同步删除成绩表(CJB)该学生的成绩记录。可以通过创建学生表(XSB)的DELETE触发器实现此功能
19、。触发器语句如下:CREATE TRIGGER CHECK_XSB_CJB ON XSBFOR DELETEASDELETE FROM CJB WHERE XH IN(SELECT XH FROM DELETED)删除课程对应成绩记录(使用完整性约束实现)实现功能:当删除课程记录后,同步删除成绩表(C J B)中所有学生该课程的成绩记录。语句如下:ALTER TABLE CJB WITH CHECK ADD CONSTRAINT FK_CJB_KCB FOREIGNKEY(KCH)REFERENCES KCB(KCH)ON DELETE CASCADE用触发器验证输入数据实现功能:当向成绩表(
20、C J B)表插入一条记录时,检查该记录的“学号”在学生表中是否存在,检查“课程号”在课程表(K C B)中是否存在。若有一项为否,则不允许插入。触发器语句如下:CREATE TRIGGER DBO.CHECK_XSB_KCB ON DBO.CJBFOR INSERTASIFEXISTS(SELECT XH FROM INSERTED WHERE NOT EXISTS(SELECT XH FROM XSB WHERE INSERTED.XH=XSB.XH)OR EXISTS(SELECT KCH FROM INSERTED WHERE NOT EXISTS(SELECT KCHFROM KCB
21、 WHERE INSERTED.KCH=KCB.KCH)R O L L B A C K T R A N S A C T I O N1.4.6 存储过程存储过程名为CJ_Data。参数:学 号(in_xh)课程号(in_kch)和成绩(in_cj)o实现功能:根据存储过程的3 个参数,对指定学号、课程号的学生成绩进行增、册 k改。编写思路:(1)根据课程号查询该课程对应的学分。(2)根据学号和课程号查询该成绩记录,删除原来成绩记录。如果成绩=60,则该学生总学分减去该课程的学分。(3)如果新成绩=-1(表示删除该成绩记录),则储存过程结束。(4)增加成绩记录,如果成绩=60,则该学生总学分加上该
22、课程的学分。存储过程如下:CREATE PROCEDURE CJ_Date(in_xh CHAR(6),in_kch CHAR(3),in_cj INT)ASSET NOCOUNT ONDECLARE in_count INTDECLARE in_xfTINYINTDECLARE in_cjb_cj INTSET in_xf=(SELECT XF FROM KCB WHERE KCH=in_kch)SET in_count=(SELECT COUNT(*)FROM CJB WHERE XH=in_xh ANDKCH=in_kch)SET in_cjb_cj=(SELECT CJ FROM CJ
23、B WHERE XH=in_xh AND KCH=in_kch)IF(in_count 0)BEGINDELETE FROM CJB WHERE XH=in_xh AND KCH=in_kchIF(in_cjb_cj 60)BEGINUPDATE XSB SET ZXF=ZXF-in_xf WHERE XH=in_xhENDENDIF(in_cj!=-l)BEGININSERT INTO CJB VALUES(in_xh,in_kch,in_cj)IF(in_cj60)BEGINUPDATE XSB SET ZXF=ZXF+in_xf WHERE XH=in_xhENDEND第 2 章系统界面
24、设置及主要功能2.1添加主菜单和功能按钮在 项 目 工 作 区 窗 口 中 选 择ResourceView页 面,双 击 资 源 Menu 项中的“IDR_MAINFRAME”,则菜单编辑窗口出现在主页面的右面,如 图9所示。相应的XSCJ项目的菜单资源被显示出来,在菜单的最后一项,VisualC+为用户留出了一个空位置,用来输入新的菜单项。在此可输入“学生信息管理”“学生成绩管理”和“成绩输入”图9 XSCJ菜单资源同理,双级资源“Toolbar”项中的IDR_MAINFRAME,则工具条编辑器窗口出现在主界面的右面,如图10所示。在此可以添加新的按钮:ISCJ 创天印文 V C l(XSC
25、J.rc-IDR IAIIFRAIE(Bitaap)I-xuw文 件 tg稳 豆 看 猫 人 工 程 IS M 工 具 fifth,*司、,安 西 !MJ2l|回 团叫金|叫 胤 倒K|.|I|曾|偏|A i nDnSCI.I菖 R e.|tF II.I|AH:,*IDK_MAINf R/:+j Version-3 X|-,口 XSCJ resources也 .j Accelerator 2J Bitmap*_ j Dialog+_J Icon:+_J Menu j String Table-Toolbar_)A图1 0工具栏编辑窗口2.2登录界面设置:登录界面设置如图11所示:图1 1登录界
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2015 数据库 应用 课程设计 实验 报告
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内