B数据库应用课程设计——学生信息管理系统_第1页
B数据库应用课程设计——学生信息管理系统_第2页
B数据库应用课程设计——学生信息管理系统_第3页
B数据库应用课程设计——学生信息管理系统_第4页
B数据库应用课程设计——学生信息管理系统_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、.成绩: 数据库技术与应用课程设计 评语: 签字: 目录1系统总体设计31.1系统需求31.2系统功能分析31.3系统运行环境32 系统模块设计42.1数据库整体设计42.1.1数据库设计42.1.2数据库需求分析42.1.3数据库逻辑结构设计52.2应用系统的对象72.3登陆模块82.3.1功能概述82.3.2主要技术要点92.4学生管理模块92.4.1功能概述92.4.2主要技术要点102.5教师管理模块112.5.1功能概述112.5.2主要技术要点122.6院系资料132.6.1功能概述132.6.2主要技术要点132.7专业资料142.8课程管理模块设计152.8.1功能概述152.

2、8.2主要技术要点152.8.3课程类别设计162.9成绩管理模块设计162.9.1成绩查询162.9.2成绩录入172.10用户管理模块182.10.1编辑用户资料182.10.2修改用户资料182.10.3添加新用户193系统运行截图201系统总体设计1.1系统需求 随着科学技术的发展,计算机管理在日常生活中的地位变得越来越重要。它能够代替人做各种重复、繁琐的劳动,并且拥有操作简单,可信度好,不易出错等优点,大大减少了不必要的人力消耗,提高个人的工作效率。学生信息管理是每个学校必须面临的问题,所以,如何开发一个应用简单,见面友好,容易操作,数据安全性好的管理系统就成为非常重要的技术问题。我

3、采用Visual Studio 技术进行数据库开发可以使开发过程简单化,更快捷的访问数据库。作为一个基于B/S模式的管理系统,需要记录大量的数据信息,而这些数据信息需要同时能够提供给使用人员查询和修改,必然需要一个大型的数据库系统和一台网络服务器,并且需要建立局域网或是能够被INTERNET网络用户访问。对于客户机来说,他不需要存储数据,而只需要通过访问服务器,获得相应的服务。1.2系统功能分析系统开发的总体任务是实现学生信息关系的系统化、规范化和自动化。系统功能分析是在系统开发的总体任务的基础上完成的。本学生信息管理系统需要完成的功能有:系统管理功能:添加普通用户、添加管理员、退出系统。教师

4、管理功能:添加教师信息、查询教师信息、修改教师信息、删除教师信息。学生管理功能:添加学生资料信息、修改学生资料信息、查看修改学生院系资料、学生专业资料。课程管理功能:课程信息浏览、添加课程几课程类别、修改课程资料。成绩管理功能:成绩信息浏览、添加成绩信息、修改成绩信息、查询成绩信息。班级管理功能:班级资料查询、添加、修改。1.3系统运行环境硬件平台:cpu:p41.8GHZ内存:256MB软件平台:数据库:SQL SERVER 2000开发工具: PowerBuilder 9.02 系统模块设计2.1数据库整体设计2.1.1数据库设计 数据库在一个信息管理系统中占有非常重要的地位,数据库结构设

5、计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。同时,合理的数据库结构也将有利于程序的实现。设计数据库时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。2.1.2数据库需求分析用户的需要具体体现在各种信息的提供、保存、更新和查询,这就要求数据开始用户登录读取用户类型普通用户添加用户教师管理学生管理课程管理成绩管理班级管理管理员成功库结构能充分满足各种信息的输入和输出。收集数据、数据结构以及处理数据的流程,可以为以后的设计打下基础。图2-1系统数据流程图2.1.3数据库逻辑结构设计添加用户学生信息管理系

6、统系统管理修改密码退出系统教师管理教师查询教师添加学生管理学生查询学生添加院系资料专业资料课程管理课程查询课程类别课程添加成绩管理成绩查询成绩录入班级管理班级查询班级添加教师修改图2-2系统功能模块图在数据库中建立表格,为了系统的安全,有必要建立一个登录页面,所以在数据库中还应建立一个密码表。各个表的具体设计:密码表(users):字段名称数据类型备注usernameChar(10)用户名mypasswordVarchar(50)用户密码usetypeVarchar(50)用户类型学生信息表(student):字段名称数据类型备注Student IDChar(10)学生学号Student Na

7、meVarchar(50)学生姓名nationChar(10)籍贯sexChar(10)性别birthdaydatetime生日Class IDChar(10)班级编号telephoneVarchar(50)电话addressVarchar(50)家庭地址remarkVarchar(50)老师信息表(teacher):字段名称数据类型备注teacherIDChar(10)老师编号teacherNameVarchar(50)老师姓名departmentIDChar(10)学院编号sexChar(10)性别technicalPostChar(10)职称telephoneChar(10)电话home

8、AddrVarchar(50)家庭地址rematkVarchar(50)班级信息表(class):字段名称数据类型备注classIDChar(10)班级编号classNameVarchar(50)班级名字specialityIDChar(10)专业编号specialityNameVarchar(50)专业名字enteanceYearChar(10)入学时间MonitorIDChar(10)班长学号课程信息表(course):字段名称数据类型备注courseIDChar(10)课程编号coursenameVarchar(50)课程名字coursetypeIDVarchar(50)课程类型编号to

9、talperiodTinyint(1)总学时weekperiodTinyint(1)周学时credithourTinyint(1)学分remarkVarchar(50)成绩信息表(garde)字段名称数据类型备注studentIDChar(10)学生学号courseIDChar(10)课程编号gradeTinyint(1)分数课程类别信息表(coursetype):字段名称数据类型备注coursetypeIDVarchar(50)课程类型编号typenameVarchar(50)类型名字学生专业信息表(speciality) :字段名称数据类型备注specialityIDChar(10)专业编

10、号specialityNameVarchar(50)专业名字departmentIDChar(10)学院编号学院信息表(department) :字段名称数据类型备注DepartmentIDChar(10)学院编号DepatmentNameVarchar(50)学院名字departmentHeadChar(10)院主任2.2应用系统的对象在应用程序对象的Open 事件中输入如下代码:/从配置参数文件中读取连接数据库所需的参数/ Profile SMSstudentSQLCA.DBMS = "MSS Microsoft SQL Server"SQLCA.Database =

11、"SMSstudent"SQLCA.LogPass = "88888888"SQLCA.ServerName = "G-PC"SQLCA.LogId = "sa"SQLCA.AutoCommit = FalseSQLCA.DBParm = ""/连接数据库Connect Using SQLCA;If SQLCA.SQLCODE <> 0 THEN messagebox("数据库连接出错",SQLCA.SQLerrtext)elseopen(w_login) end

12、 if应用程序运行后直接连接数据库直至数据库连接成功.在应用程序对象的变量定义窗口中,定义全局变量string gs_username,gs_usertype,gs_mypassword用于应用程序不同对象间参数的传递。2.3登陆模块2.3.1功能概述为了系统的安全,在进入系统之前首先会出现一个登录模块,用户只有在输入正确的用户名和正确的密码之后,才能进入系统。用户登录页面用来输入用户名和密码。图2-3用户登陆窗口判断身份查找数据库中对应的记录成功YN错误提示登录主界面图2-4登陆页面流程图用户登录系统窗口的是用户和管理员进入系统的唯一通道,它是进入应用系统的喉舌,在安全保密、系统维护中占有重

13、要的地位,登录系统在外观界面上一定要美观、友好,登录系统就是要验证当前的用户名是否与该用户密码一致,保留登录痕迹等工作。2.3.2主要技术要点保留登录痕迹:根据操作局部性原理,一般情况下用户上次登录之后还会继续登录,因此在程序中可以依照人机交互界面友好性原则保留用户登录时的用户名,控件sle_1用来显示用户名,profilestring是一个函数,用来读取profile文件中一组参数,核心代码如下:sle_1.text=profilestring("publish.ini","user","username",""

14、)if trim(sle_1.text)<>"" thensle_2.setfocus()end if2.4学生管理模块2.4.1功能概述学生管理模块可以查看学生的学号、姓名、性别、出生日期、电话等学生的基本信息,并能进行添加、修改和删除。在新增状态可以添加新的学生基本信息。设计时我尽可能设想各种边界条件,如记录为空,输入为空,输入出错等,当输入的信息满足这些边界条件时,将会弹出一个提示框提醒用户,以便用户能及时地做出修改。添加的信息将全部存储到数据库中。图2-5学生信息窗口2.4.2主要技术要点(1)显示数据窗口选中的数据到相应的编辑框由于数据窗口是不允许数据

15、进行直接修改,因此首先选中数据双击鼠标到相应的编辑框,再进行修改。核心代码如下if row>0 thensle_1.text=dw_1.object.sidrowgb_2.text="修改"end if(2) 数据库插入、修改及删除数据运用数据库的INSERT、UPDATE及DELETE子句进行操作。首先通过dw_1.GetItemString、 dw_1.GetItemNumber等函数读出数据窗口对象一一对应放置数据库中位置。核心代码如下:select studentID into :li_id from student where studentID=:li_i

16、d;if gb_2.text="新增" thenif SQLCA.SQLCODE=0 then messagebox("提示","学号重复")end if INSERT INTO student( studentID, ) VALUES ( :sle_1.text, ) ;else/修改信息lyesno=messagebox('提示','是否修改当前信息?',question!,yesno!)if lyesno=2 then returnli_id=trim(sle_1.text); UPDATE st

17、udent SET studentName=:sle_2.text, , WHERE studentID=:li_id;/ 删除信息lyesno=messagebox('提示:删除下列信息?',sle_1.text+":"+sle_2.text,question!,yesno!)if lyesno=2 then returnDELETE FROM studentWHERE studentID = :sle_1.text;(3)学生信息优化过滤条件查询过滤条件是通过and逻辑关系进行连接的,那么会存在这样的情况,第一个过滤之前是没有其他的条件与其进行连接的,不

18、应该存在and逻辑关系,主要方法是对ls_filter的前面4个字符进行判断,如果是and则去掉即可。核心代码如下:/检索数据dw_1.SetTransObject(sqlca)ls_filter="1=1"/学生检索if sle_11.text<>"" then ls_filter=ls_filter+" and sid='"+sle_11.text+"'"/过滤数据dw_1.setfilter(ls_filter)dw_1.filter()2.5教师管理模块2.5.1功能概述教师管理

19、模块可以查看教师的编号、姓名、性别等基本信息并能进行添加、修改和删除。在新增状态可以添加新的学生基本信息。设计时我尽可能设想各种边界条件,如记录为空,输入为空,输入出错等,当输入的信息满足这些边界条件时,将会弹出一个提示框提醒用户,以便用户能及时地做出修改。添加的信息将全部存储到数据库中。图2-6教师信息窗口2.5.2主要技术要点 (1) 数据库插入、修改及删除数据运用数据库的INSERT、UPDATE及DELETE子句进行操作。首先通过dw_1.GetItemString、 dw_1.GetItemNumber等函数读出数据窗口对象一一对应放置数据库中位置。核心代码如下: select te

20、acherID into :li_id from Teacher where teacherID=:li_id;if gb_2.text="新增" thenif SQLCA.SQLCODE=0 then messagebox("提示","教师编号重复") end if INSERT INTO Teacher( teacherID, ) VALUES ( :sle_1.text, ) ;else/修改信息lyesno=messagebox('提示','是否修改当前信息?',question!,yesno!

21、)if lyesno=2 then returnli_id=trim(sle_1.text); UPDATE Teacher SET teacherName=:sle_2.text, WHERE teacherID=:li_id; / 删除信息lyesno=messagebox('提示:删除下列信息?',sle_1.text+":"+sle_2.text,question!,yesno!)if lyesno=2 then returnDELETE FROM TeacherWHERE teacher ID = :sle_1.text;(2)教师信息优化过滤条件

22、查询同学生查询技术一样,核心代码: if sle_12.text<>"" then ls_filter=ls_filter+" and teachername='"+sle_12.text+"'"2.6院系资料2.6.1功能概述点击菜单中的院系信息,在该窗口中我们可以院系信息进行修改和删除。图2-7院系资料窗口2.6.2主要技术要点实现数据窗口对象的动态修改,核心代码如下:/保存dw_1.AcceptText()if dw_1.ModifiedCount()=0 and dw_1.DeletedCount(

23、)=0 thenMessageBox("提示信息","尚无增加、删除或修改,无须保存!")Return end ifif dw_1.Update()=1 thenCommit;MessageBox("提示信息","保存成功!") else RollBack; MessageBox("提示信息","保存失败!") end if /增加long n_rown_row=dw_1.insertrow(0)dw_1.scrolltorow(n_row)dw_1.setrow(n_row

24、)dw_1.setcolumn(1)dw_1.setfocus()/删除long n_rowdw_1.deleterow(0)n_row=dw_1.getrow()dw_1.selectrow(1,false)dw_1.selectrow(n_row,true);252.7专业资料点击右边菜单中的学生资料管理项,就可以查看专业信息,在该页面中我们可以对专业名称代码等进行编辑查询。图2-8专业资料窗口2.8课程管理模块设计2.8.1功能概述点击菜单中课程管理模块,可进入课程信息管理页面。为了用户的使用方便,故在该页面中同时包含了课程信息的可以添加和修改课程信息,包括课程编号、名称、类别、学分、学

25、时等信息。添加和修改记录后,对于数据有何变化都可以显示出来,使用户对所做的操作一目了然。图2-9课程资料窗口2.8.2主要技术要点(1)排序方式选择:通过radiobutton控件,可选择课程的排序顺序,默认为课程代码顺序。核心程序如下:dw_1.setsort("couid A") dw_1.sort()(2)设置模糊过滤条件数据窗口的过滤条件是可以对字符串型的字段进行过滤的。对于多个字段的过滤条件是通过and逻辑关系进行连接。对于模糊查询,可以利用pos函数。核心代码如下:if trim(ddlb_3.text)="课程编号" thenls_filt

26、er="Pos(couid,'"+trim(sle_8.text)+"',1) > 0 "end ifdw_1.setfilter(ls_filter)dw_1.filter()2.8.3课程类别设计点击菜单中课程类别资料,可进入类别查询修改页面,可以对课程类别名称进行修改。图2-10课程类别修改页面2.9成绩管理模块设计2.9.1成绩查询点击进入成绩查询窗口,可以通过课程的编号、学生姓名、学号方式查找学生成绩信息并可以对查找到的学生可以进行成绩编辑。图2-11成绩查询页面2.9.2成绩录入点击进入成绩录入窗口,可以通过课程的编号、学生姓名、学号方式查找学生成绩信息并可以添加新的学生成绩存入数据库。图2-12学生成绩录入窗口2.10用户管理模块2.10.1编辑用户资料在这个窗口链接users数据库,超级管理员可以对用户资料管理进行修改、添加、删除管理。图2-13编辑用户信息窗口2.10.2

温馨提示

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

评论

0/150

提交评论