《数据库技术与应用》期末报告指导书_第1页
《数据库技术与应用》期末报告指导书_第2页
《数据库技术与应用》期末报告指导书_第3页
《数据库技术与应用》期末报告指导书_第4页
《数据库技术与应用》期末报告指导书_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

2012级硕士研究生数据库技术与应用期末报告指导书 一 题目选择与需求分析1.1目的与要求随着科技的发展,基本上所有的具有一定数量数据的机构都开始使用计算机数据库来做管理。几乎所有学校也都已经在使用计算机管理数据的机制,大大减少了学校学生成绩管理的工作量。该课程设计要求设计一个学生成绩的数据库管理系统,数据库中要求包含学生的基本信息,学科基本信息,以及学生所学课程的考试成绩。要方便学生进行成绩查询,通过该课程设计,应该达到把数据库理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。1.2设计环境a.软件环境:Microsoft ACCESS2000/2003Microsoft VB6.0中文企业版操作系统:采用win98/2k/xp/2003b.硬件环境:普通台式机即可,具体要求如下 :内存:128M以上硬盘:自由空间30M以上CPU主频:1.0G以上1.3需求分析此系统实现如下系统功能:(1)使得学生的成绩管理工作更加清晰、条理化、自动化。(2)通过用户名和密码登录系统,查询课程基本资料,学生所选课程成绩,修改用户密码等功能。 容易地完成学生信息的查询操作。(3) 设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完整性,并发控制,备份和恢复等方面的功能要求。二 概念模型设计由需求分析的结果可知,本系统设计的实体包括:(1)学生基本信息:学号,姓名,性别,地址,年龄,专业。(2)课程基本信息: 课程名,课程号,分数,学时,学分。 这些实体间的联系包括:(1)每位学生可以学习多门课程,每门课程可供多位学生学习。由上述分析可得到系统的ER图:选修课程成绩学生课程号课程名学时 学分分数学号姓名性别院名 地址年龄三 逻辑设计根据概念设计阶段的设计结果,我们就可以进行逻辑设计,首先要把ER图根据需求分析的要求,做规范化,而后转换成适合某种数据库系统表示的关系模式,在此过程中可能反复迭代多次才能得到满意的关系模式。具体设计步骤如下:1.数据字典的建立:Score基本信息: 字段名意义类型宽度是否关键字段同名字段数据库Student_sno学号char6是Course_cno课程号char3是score成绩char3否 Student基本信息:字段名意义类型宽度是否关键字段同名字段数据库sno学号char6是成绩表和用户表中的snosname姓名char10否sex性别char2否sclass班级char12否smajor专业char50否saddress住址char10否sphone电话char14否snation民族char4否syuanming院名char50否 Course基本信息:字段名意义类型宽度是否关键字段同名字段数据库course_cno课程号char3是成绩表中的cnocourse_cname课程名称char50否cours_hour学时char3否course_score学分char3否course_tearcher授课老师char5否Yonghu基本信息:字段名意义类型宽度是否关键字段同名字段数据库student_sname用户名char10是yonghu_mima密码char10否2.转换成具体的数据库:由需求分析可知,系统的规模不大,那么可以选用access2000即可,具体见表过程可在VB环境中进行。最后我们可以得到一个数据库,名为aa.mdb,包含三个表:student course yonghu和sc。四 程序设计主要的VB程序如下:1. frmlogin Option ExplicitDim m As IntegerDim conn As New ADODB.ConnectionDim rs As New ADODB.RecordsetPrivate rsmc As ADODB.RecordsetPublic username As StringPrivate Sub cmdCancel_Click()Unload MeEnd SubPrivate Sub cmdOk_Click()Dim ee As Stringrs.MoveFirstIf m 3 ThenIf Trim(txtusername.Text) = Or pwd.Text = ThenMsgBox 用户名或密码不能为空!请重新输入!, vbInformation, 登录信息Exit SubEnd IfDo While Not rs.EOF If rs.Fields(0) = txtusername.Text And rs.Fields(1) = pwd.Text Then MsgBox 欢迎你进入学生成绩管理系统, frmmain.Show Unload Me Exit Sub End If rs.MoveNextLoopm = m + 1ee = MsgBox(用户名或密码错误!请重新输入!, vbCritical + vbRetryCancel, 登录信息) 重试/取消txtusername.Text = If ee = vbNo Then Unload MeElse pwd.Text = txtusername.SetFocusEnd IfElse MsgBox 对不起,您的输入次数已超三次!请退出!, vbExclamation, 提示信息 提示信息,确定 End End IfEnd SubPrivate Sub Form_Load()Set conn = New ADODB.Connectionconn.Provider = Microsoft.Jet.OLEDB.4.0conn.ConnectionString = Data Source= & App.Path & aa.mdbconn.OpenSet rs.ActiveConnection = connWith rs .Open (select * from yonghu) .MoveFirstEnd Withtxtusername.Text = rs.Fields(0)Do While Not rs.EOFtxtusername.AddItem (rs.Fields(0)rs.MoveNextLooptxtusername.Text = End SubPrivate Sub txtPassword_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Call cmdOk_Click End IfEnd SubPrivate Sub Timer1_Timer()Label4.Caption = Time$()End Sub2. frmmainPrivate Sub ab_Click()zx.ShowEnd Sub状态栏显示日期与时间Private Sub Timer1_Timer()St1.Panels(1).Text = Format(Date, long date) & & TimeEnd SubPrivate Sub Timer2_Timer() 动态字显示welcome.Move welcome.Left - 300 If welcome.Left 0 Then welcome.Left = frmmain.Width End SubPrivate Sub menu7_Click()Unload MeEnd SubPrivate Sub menu8_Click()about.ShowEnd SubPrivate Sub menua_Click()xgmm.ShowEnd SubPrivate Sub menuc_Click()renew.ShowUnload MeEnd SubPrivate Sub menudd_Click()aboutxt.ShowEnd SubPrivate Sub menue_Click()searchcj.ShowEnd SubPrivate Sub menuf_Click()DataReport1.ShowEnd SubPrivate Sub menuh_Click()DataReport2.ShowEnd SubPrivate Sub menuhelp_Click()about.ShowEnd Sub其余代码在附件里。五 调试运行当我们按照系统要求设计好程序代码后,我们就可以调试运行,不断丰富功能和改进错误。由于调试是一项非常复杂的工作,需要在实践中不断联系,以我们开发系统中最常见的错误可能是写错sql语句,因此,我们可以用Msgbox sql或debug sql输出sql语句核对是否书写正确,其他调试技巧可以参考vb相关书籍,按照错误代码分析原因,进行调试,错误定位,必要时,可像指导老师请教如何调试程序。当程序基本可以正确运行后,可以自行输入原始数据,正式运行,并找同学测试,指出系统的不足,而后反复不断地修改程序得到满意的效果。以下是一些关于调试程序的要求和错误处理方法:一、输入输出设计与数据校验:1.输入输出格式要求:输入设计时,一定要参照原始数据的输入顺序和格式,设计出合适的输入界面。否则,用户会感觉输入操作不方便。原始数据顺序格式不合理处,可以修改,并给出说明。 输出设计时,一定要根据用户的表样去完成报表和标签的设计。一般用户都有对报表和标签格式的要求。另外,对屏幕提示输出也应慎重考虑,屏幕操作提示应做到言简意劾,位置突出,效果醒目。2.数据校验要求:要输出信息的有效,必须保证输入数据的准确。在输入设计中,应将可能出现的错误减少到最底限度,在数据还未进入系统前就进行改进,这就是数据输入校验的目的。二、 在线错误处理与中断调用:1.错误类型:发生错误时,通过函数可以返回错误号、错误提示信息。通过错误信息,可以了解发生了什么样的错误。错误类型大体上可以分成语法错误、逻辑错误和操作错误。语法错误是原程序语句行出现的错误,一般要通过修改原程序的方法才能纠正。逻辑错误一般语法上没有错误,但运行得不到正确结果或无法正常运行程序。它产生的原因比较复杂:有的是算法上存在问题,算法根本无法得到正确结果;有的是算法实现问题,算法本身不存在错误,但编程时没有实现算法,如语句位置的不正确,遗漏或多出语句,边界条件处理不对或未进行处理;有的是运行参数越界,如输出对象的坐标超出屏幕允许的坐标值范围;有的是运行环境问题,随运行环境的变化,在一种环境下能正常运行,另外一种环境就不能运行,或者随着程序的运行,数据环境跟随变化,遇到某一特定情况时,发生错误。 操作错误是指用户操作不当引起的错误,该类错误看起来是用户的原因而出错的,但程序设计者设计程序时,可以安排对错误操作拒绝响应,并有义务提供错误原因提示和错误处理方法。 2错误处理方法:根据不同的错误类型,采用不同的方法来处理错误。 对于语法上的错误,在程序调试时更正,提供给用户的程序不应该存在语法方面的错误。语法错误一定要按模块来调试,保证每一条语句都能被运行,利用系统本身的查错功能来发现错误,并修改原程序完成纠错。 对逻辑错误,要根据不同的错误原因来完成错误处理。首先应检查算法,在保证算法正确的前提下,检查原程序,保证完全实现算法功能。 对参数越界,可以根据情况处理,比如,屏幕坐标越界,可以滚动技术,增加滚动条。对输入参数越界,可通过数据输入校验来限制。 对运行环境出现的问题,可以采用在线处理方法解决。3.在线处理与中断调用在线错误处理是利用命令来中断正在运行的出错程序并调用错误处理程序,使用函数来检查错误号和错误提示信息,在错误处理程序中,根据错误类型给出错误提示和改正错误的方法。如果错误排除,用命令返回出错语句重新执行;如果错误可以忽略,跳过出错语句。如果无法排除错误,用命令退出系统。每个模块可编写不同的错误处理程序。三、底层功能调用(可选):数据库设计语言一般包含一组可以读写文件的函数集合,利用这一组函数,可以读写系统不能正常存取的文件。在设计中,数据加密、口令计算、图形生成和修改等可以使用底层功能函数来完成。四、在线帮助设计:1.帮助的类型一个优秀的软件,应该有非常实用和便于操作的帮助系统,指导用户完成处理任务。帮助系统有在线和离线两种。在线帮助是指在操作的时候随时都可以打开帮助窗口指导用户完成当前的操作。2.在线帮助的设计在线帮助文本可以存放在一个数据库文件中,于三个字段构成:模块程序文件名(不带开展名)、帮助标题、帮助内容(备注型字段,如果有非文本对象,使用公共型字段)。每个窗口均包含帮助按钮,执行帮助程序。使用函数判断当前执行程序所在模块,在帮助库的模块程序文件名字段查找相同模块名,弹出窗口显示帮助标题和帮助内容,完成在线帮助设计。五、 查询设计:1.查询的概念在数据库应用程序中,查询和统计使用相当频繁,用户需要的信息基本上都是通过统计和查询得到的。因此查询、统计模块设计的好坏,直接影响软件的性能和用户对软件的评价。 查询分简单查询、组合查询和模糊查询。简单查询是查找某一字段值与给出值满足给定条件的一个或一组记录。一般使用系统提供的记录定位命令就能满足要求。组合查询是要在多个数据库中的多个字段查找满足给定条件的一个或一组记录,有时要查找字段的统计结果。模糊查询是指查找与给定条件相似或相近的一组记录。六 总结本文主要采用Visu

温馨提示

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

评论

0/150

提交评论