数据库课程设计50045.doc

上传人:大张伟 文档编号:7211865 上传时间:2020-11-06 格式:DOC 页数:27 大小:377.51KB
返回 下载 相关 举报
数据库课程设计50045.doc_第1页
第1页 / 共27页
数据库课程设计50045.doc_第2页
第2页 / 共27页
数据库课程设计50045.doc_第3页
第3页 / 共27页
数据库课程设计50045.doc_第4页
第4页 / 共27页
数据库课程设计50045.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《数据库课程设计50045.doc》由会员分享,可在线阅读,更多相关《数据库课程设计50045.doc(27页珍藏版)》请在三一文库上搜索。

1、数据库课程设计任务书计算机科学与技术系数据库系统课程设计项目数据库系统课程设计任务书设计题目:物资管理系统背景资料:1) 一个存放商品的仓库,每天都有商品出库和入库。2) 种商品都有名称、生产厂家、型号、规格等。3) 出入库时必须填写出入库单据,单据包括商品名称、生产厂家、型号、规格、数量、日期、时间、入库单位(或出库单位)名称、送货(或提货)人姓名。设计要求:1) 进行需求分析,编写数据字典。2) 设计E-R图。3) 设计出入库单据的录入。4) 实现按商品名称、出入库日期的查询。5) 实现分别按日、月和年对出入库商品数量的统计。任务安排:1、每个学生选择一个题目,独立完成设计任务。2、提交完

2、整的设计报告和源程序清单(以附录形式)。3、设计报告要求,设计报告按照以下提纲书写:1)摘要。2)需求分析。3)数据库概念结构设计。4)数据库逻辑结构设计。5)数据流图及程序结构框图。6)程序原代码及其说明。7)总结。数据库课程设计指导书计算机科学与技术系目 录1、学生成绩管理系统简介32、课程设计选题103、VFP课程设计难点分析之一主界面和退出表单的设计124、VFP课程设计难点分析之二浏览成绩表单的设计165、VFP课程设计难点分析之三浏览学生表单的设计216、VFP课程设计难点分析之四设置口令表单集的设计241、学生成绩管理系统简介1. 系统组成 本系统由1个数据库、3个查询,14个表

3、单、3个报表、1个菜单、6个程序和2个自由表组成。 数据库组成:(1)数据表3个: 学生表(5个字段: xh, xm, xb, csrq, bj),其中有4个班各5名学生的记录课程表(4个字段:kch,kcm, js, xf),其中有4门课程的记录;成绩表(3个字段:xh, kch, cj),其中有80条学生成绩的记录。(2)本地视图1个: 基于以上3张表创建,输出字段为:xh, xm, xb, bj, kcm, cj查询组成:查询学生、按班级查询成绩、按课程查询成绩 表单组成: 主界面表单、退出表单、学生表单、课程表单、成绩表单(可按学号分类和按课程分类)、 查询学生表单、查询成绩表单、总浏

4、览表单、浏览学生表单、浏览成绩表单、系统信息表单、 设置口令表单集、修改表单界面。 菜单组成:主菜单由系统维护、浏览、查询、报表、帮助、退出6项组成。报表组成:学生一览表、课程一览表、成绩一览表(可按课程分类和按学号分类)。程序组成:主程序、统计全体学生概况、按班级统计学生概况、统计全体成绩概括、按班级统计各门课的成绩、按课程统计各班学生的成绩。自由表组成:密码表、系统信息表。2. 系统功能 本系统的主要功能分别通过主菜单中的以下各项来实现: 通过系统维护菜单实现数据表记录的维护、数据表结构的修改、系统口令的更改、表单的修改; 通过浏览菜单实现对学生表、课程表和成绩表的总浏览和相关统计信息的浏

5、览; 通过查询菜单实现对学生和成绩的各种查询; 通过报表菜单实现学生、课程和成绩的打印输出; 通过退出菜单退出本系统。3数据库组成数据库名称 数据表名称 数据表结构 记录 数据test 表xs Xh c7,xm c8,xb c2,csrq d,bj c10 4个班,每班5名学生 表kc Kch c5,kcm c20,js c8,xf n3.1 至少4门课 表cj Xh c7,kcm c20,cj n5.1 每人至少2门课成绩 本地视图:表xscj Xh,xm,xb,bj,kcm,cj 4表单组成 表单名称 功能 设计方法 表xs.scx 用于数据表的维护, 通过这3 个表单对3 个基本数据表进

6、行记录的修改、删除、增加、查看等操作 先用表单向导生成基本表单,再在表单设计器中进行适当修改,制作成自己满意的样式。 表kc.scx 表cj.scx 查询学生.scx 根据用户设置的条件对学生表进行各种情况的查询 在表单设计器中利用数据环境生成表格,再从表单控制中调出系统类库,将文本按钮组添加到表单中,去掉多余部分,只留下查找按钮即可。 查询成绩.scx 根据用户设置的条件对学生成绩表进行查询 总浏览表.scx 以页面形式将3张数据表的全部内容集中展现在一个表单中,以便用户了解系统总的情况。 在表单设计器中利用页框控件生成3个页面,再利用数据环境将3张数据表分别拖到各页面上,生成相应表格,调至

7、合适大小即可。 浏览学生.scx 以页面形式将学生表的内容按班级分组显示,以便阅览。第1页为全体学生概况,第2页为各班学生情况。 在表单设计器中利用页框控件生成2个页面,第1页设计8个标签和7个文本框,并在其Activate 过程中调用程序 sumstud.prg;第2页设计5个标签,3个文本框,1个组合框,1个表格,在组合框的InteractiveChange过程中调用程序clastud.prg 和查询 student.qpr。 浏览成绩.scx 以页面形式将成绩表的内容按班级和课程分组显示,以便阅览。第1页为全体学生成绩概况,第2页为按班级显示学生各门课的成绩情况,第3页为按课程显示各班学

8、生的成绩情况。 在表单设计器中利用页框控件生成3个页面,第1页设计8个标签和7个文本框,并在其Activate 过程中调用程序 sumcj.prg;第2页设计5个标签,3个文本框,1个组合框,1个表格,在组合框的InteractiveChange过程中调用程序clacj.prg和查询 cla_cj.qpr; 第3页设计5个标签,3个文本框,1个组合框,1个表格,在组合框的InteractiveChange 过程中调用程subcj.prg 和查询 sub_cj.qpr。 5. 报表组成报表名称 功能 设计方法 表xs.frx 为用户提供系统数据的书面输出形式。 先用报表向导生成基本报表,再在报表

9、设计器中进行适当修改,制作成自己满意的样式。 表kc.frx 表cj.frx 6程序文件清单文件名 作用 程序内容 主程序:sjmain.prg 设置系统环境 确定系统口令 调用主界面 set talk offset safety offset deleted on set defa to d:sjrvfp60课程设计set sysmenu off_screen.caption=学生成绩管理系统_screen.backcolor=RGB(157,214,225)_screen.icon=大自然 .ico_screen.windowstate=2 Public passw,n use passw

10、.dbf go bottom passw=alltrim(password)use Do form 主界面read events 在浏览学生表单第1页中调用的程序:Sumstud.prg 统计全体学生概况,包括:学生总数: S1 男生总数: S3 女生总数: S4 各班学生总数: S2、S5、S6、S7 close datapublic cs1, s1,s2,s3,s4,s5,s6,s7open data 数据testuse 表xscount to s1count for xb=男 to s3count for xb=女 to s4count for bj=98数教 to s2count fo

11、r bj=98英语 to s5count for bj=98英教 to s6count for bj=98日语 to s7use 在浏览学生表单第2页中调用的程序:Clastud.prg 根据输入的班级名称 CS1,显示该班学生情况,并统计该班的:学生总数: CS2男生总数: CS3女生总数: CS4 close datapublic cs2,cs3,cs4open data 数据testuse 表xsset filter to bj=cs1count to cs2count for xb=男 to cs3count for xb=女 to cs4set filter touse 在浏览成绩表

12、单第1页中调用的程序:Sumcj.prg 统计全体学生成绩概况,包括:学生总平成绩: C1 男生总平成绩: C3 女生总平成绩: C4 各班学生总平成绩:C2、C5、C6、C7close datapublic cc1, c1,c2,c3,c4,c5,c6,c7 open data 数据testuse 表xscjcalculate avg(cj) to c1calculate avg(cj) for xb=男 to c3calculate avg(cj) for xb=女 to c4calculate avg(cj) for bj=98数教 to c2calculate avg(cj) for

13、bj=98英语 to c5calculate avg(cj) for bj=98英教 to c6calculate avg(cj) for bj=98日语 to c7use在浏览成绩表单第2页中调用的程序:clacj.prg 根据输入的班级名称 CC1,统计该班的: 学生平均分: CC2男生平均分: CC3女生平均分: CC4并通过执行查询 (cla_cj.qpr)在表格中显示该班各门课的平均分、最高分、最低分。 close datapublic cc2,cc3,cc4open data 数据testuse 表xscjset filter to bj=cc1calculate avg(cj)

14、to cc2calculate avg(cj) for xb=男 to cc3calculate avg(cj) for xb=女 to cc4set filter touse 在浏览成绩表单第3页中调用的程序:Subcj.prg 根据输入的课程名称 SC1,统计该课程的: 平均分: SC2最高分: SC3 最低分: SC4并通过执行查询(sub_cj.qpr)在表格中显示该课程各班的平均分、最高分、最低分。 close datapublic sc2,sc3,sc4 open data 数据testuse 表xscjset filter to kcm=sc1calculate avg(cj)

15、to sc2calculate max(cj) to sc3calculate min(cj) to sc4set filter touse 7、8. 主菜单组成2、课程设计选题利用项目管理器组织、设计并连编一个学生成绩管理系统应用程序。要求如下:1. 系统由数据库、表单、报表、菜单和程序组成;2. 系统中有一个数据库,数据库中包括三个数据表:学生表、课程表、成绩表,学生表中包括4个班,每个班35名学生,课程表中包括4门课程,成绩表至少有20条记录;3. 系统能够通过菜单实现数据维护、浏览、查询、报表、退出等基本功能;可以自行设计使系统具有更强的功能;4. 要求应用程序主窗口拥有非VFP系统默

16、认的标题和图标,进入系统时应设置具备口令检查功能的主界面,该口令在进入系统后可以通过菜单中的相关命令来修改;5. 项目中所有文件名均应冠以自己的姓名(中文或拼音均可),以免与其他同学混淆。附: 数据库要求一览表(1)建立三张数据表,其要求如下表所示: 表名 字段名 字段类型与长度 字段规则与说明 默认值 标题 学生表 XH C(8) 81991001 学号 XM C(8) 姓名 XB C(2) 性别只能是男或女 女 性别 CSRQ D 年龄在18至22岁之间 出生年月 BJ C(10) 班级 课程表 KCH C(4) 课程编号 KCM C(14) 课程名称 XF N(3,1) 学分大于0 1

17、学分 JSC(8)任课教师 成绩表 XH C(8) 学号 KCHC(4) 课程号CJ N(5,1) 成绩大于0 60 成绩 (2)建立索引:数据表名称 索引名称 索引类型 索引表达式 学生表 No 主索引 XH Name 普通索引 XM 课程表 Sub_No 主索引 KCH Sub_name 普通索引 KCM 成绩表 Student 主索引 XH+KCH+STR(CJ,4,1) Mark 普通索引 CJ (3) 建立学生表与成绩表、课程表与成绩表的关联, 关键字是分别是XH字段和KCH字段。3、VFP课程设计难点分析之一主界面和退出表单的设计一. 主界面的设计1. 主界面的组成对象:(1)主表

18、单:其主要属性的设置如下:Name = Form1Caption = 主界面Picture = sj128.bmpIcon = 大自然 .icoHeight = 454MaxButton = .F.WindowType = 0AutoCenter = .T.Width = 633MinButton = .F.WindowState = 0Closable = .F.(2) 命令按钮:共有三个命令按钮,其属性分别如下:Name = Command1Name = Command2Name = Command3Caption = 开 始Caption = 确 定Caption = 退 出Visibl

19、e = .F.(3)文本框:1个,用来接受口令,其主要属性为:Name = Text1PasswordChar = *(4)标签:共2个,一个显示设计者,一个用来提示输入口令,其主要属性分别为:Name = Label1Name = Label2 Caption = Designed by Shi Jun Caption = 请输入口令:Visible = .F. (5)时钟控件:共3个,Timer1用来控制Image2和Image3的移动,另2个用来控制Lablel1的颜色变化。 Name = Timer1Name = Timer2Name = Timer3Interval = 200Int

20、erval = 1230Interval = 843(6)图象控件:共3个,Image1是图片显示的主标题,另2个是欢迎图片。Name = Image1Name = Image2Name = Image3Picture = 标题.bmpPicture = welcome.bmpPicture = welcome.bmp(7)多媒体控件:在主界面表单运行过程中用来播放背景音乐。 Name = SoundPlayer1 SoundFile=D:SJRVFP课程设计FIVE.MID2. 事件代码:command1的Click事件THISFORM.LABEL3.VISIBLE=.T.THISFORM.

21、TEXT1.VISIBLE=.T.THISFORM.COMMAND1.VISIBLE=.F.THISFORM.COMMAND2.VISIBLE=.T.command2的Click事件 IF UPPER(THISFORM.TEXT1.VALUE)=passwDO 主菜单.MPR THISFORM.RELEASE ELSEMessageBox(口令不对,您无权使用本系统!, 0+16+0, 设置口令)THISFORM.REFRESHENDIF command3的Click事件clear eventsset sysmenu to defaTHISFORM.RELEASEtimer1的Timer事件i

22、f thisform.image2.leftthisform.width-thisform.image3.widththisform.image3.visible=.f. thisform.image2.visible=.t. thisform.image3.left=0thisform.image2.left=thisform.width-thisform.image2.width endifelse thisform.image2.left=thisform.image2.left-10endiftimer2的Timer事件thisform.label5.forecolor=rgb(255

23、,0,0)timer3的Timer事件thisform.label5.forecolor=rgb(0,0,255)二. 退出表单的设计1. 退出表单的组成对象:(1)表单:其主要属性的设置如下:Name = Form1Caption = 退出系统Picture = sj038.bmpIcon = 大自然 .icoHeight = 454MaxButton = .F.WindowType = 0AutoCenter = .T.Width = 633MinButton = .F.WindowState = 0Closable = .F.(2) 标签:共7个,属性如下:Name = Label1La

24、bel2Label3Label4Label5Label6Label7Caption =欢迎您再次使用Visible = .F.(3)时钟控件:1个,控制标签的依次出现。 Name = Timer1Interval = 600(4)图象控件:1个,控制表单的退出,起退出按钮的作用。Name = Image1Picture = D:SJRVFP课程设计quitcmdr.bmp2. 事件代码:表单的Activate事件public i,ji=1Image1的Click事件nA=MessageBox(真想退出本系统吗?,4+32+0,退出系统)if nA=6clear eventsquitelseth

25、isform.releaseendifLabel1的Click事件if i=8for k=1 to 7j=str(k,1)thisform.label&j.visible=.f.endfori=1elsej=str(i,1)thisform.label&j.visible=.t.do while i8i=i+1exitenddoendifTimer1的Timer事件thisform.label1.click4、VFP课程设计难点分析之二浏览成绩表单的设计一. 表单的组成对象本表单由一个包含3个页面的页框组成,主要用来浏览成绩表中的统计信息。1. 表单 主要属性为:Name = browecjC

26、aption = 浏览成绩情况Icon = 大自然 .icoAutoCenter = .T.2. 页框 主要属性为:Name = Pageframe1PageCount = 3 Page1.Name = Page1Page2.Name = Page2Page3.Name = Page3Page1.Caption = 学生成绩概况Page2.Caption = 按班级浏览Page3.Caption = 按课程浏览(1)页面1的组成:(2)页面2的组成(3)页面3的组成此页面中组合框的主要属性为:Name = Combo1RowSourceType = 1RowSource = 计算机,英语,体育

27、,大学语文二. 事件代码页框pageframe1中Page1的Activate事件do sumcj.prg thisform.pageframe1.page1.text1.value=c1 thisform.pageframe1.page1.text2.value=c2 thisform.pageframe1.page1.text3.value=c3 thisform.pageframe1.page1.text4.value=c4 thisform.pageframe1.page1.text5.value=c5 thisform.pageframe1.page1.text6.value=c6

28、thisform.pageframe1.page1.text7.value=c7 page2中组合框combo1的InteractiveChange事件cc1=this.valuedo clacj.prg thisform.pageframe1.page2.text2.value=cc2 thisform.pageframe1.page2.text3.value=cc3 thisform.pageframe1.page2.text4.value=cc4 do cla_cj.qpr thisform.pageframe1.page2.grid1.recordsource=class_cjthis

29、form.pageframe1.page2.refresh page3中组合框combo1的InteractiveChange事件sc1=this.valuedo subcj.prgthisform.pageframe1.page3.text2.value=sc2 thisform.pageframe1.page3.text3.value=sc3 thisform.pageframe1.page3.text4.value=sc4 do sub_cj.qpr thisform.pageframe1.page3.grid1.recordsource=sub_cjthisform.pageframe

30、1.page3.refresh 三. 程序文件和查询文件的内容sumcj.prgclose datapublic c1,c2,c3,c4,c5,c6,c7 open data 数据testuse xscj calculate avg(cj) to c1calculate avg(cj) for xb=男 to c3calculate avg(cj) for xb=女 to c4calculate avg(cj) for bj=99英教2 to c2calculate avg(cj) for bj=99英语 to c5calculate avg(cj) for bj=99英教1 to c7cal

31、culate avg(cj) for bj=99日语 to c6useclacj.prgclose datapublic cc2,cc3,cc4 open data 数据testuse xscjset filter to bj=cc1calculate avg(cj) to cc2calculate avg(cj) for xb=男 to cc3calculate avg(cj) for xb=女 to cc4set filter tousecla_cj.qprSELECT 表cj.kch AS 课程号, 表kc.kcm AS 课程名称,;表kc.js AS 任课教师,表kc.xf AS 学分

32、,AVG(表cj.cj) as 平均分, ;MAX(表cj.cj) as 最高分,MIN(表cj.cj) as 最低分;FROM 数据test!表xs INNER JOIN 数据test!表cj;INNER JOIN 数据test!表kc ;ON 表kc.kch = 表cj.kch ;ON 表xs.xh = 表cj.xh;WHERE 表xs.bj = CC1;GROUP BY 表cj.kch;ORDER BY 表cj.kch;INTO TABLE class_cj.dbfsubcj.prgclose datapublic sc2,sc3,sc4 open data 数据testuse xscj

33、set filter to kcm=sc1calculate avg(cj) to sc2calculate max(cj) to sc3calculate min(cj) to sc4set filter tousesub_cj.qprSELECT 表xs.bj AS 班级名称,COUNT(表xs.xh) as 班级人数,;AVG(表cj.cj) as 平均分, MAX(表cj.cj) as 最高分,;MIN(表cj.cj) as 最低分; FROM 数据test!表xs INNER JOIN 数据test!表cj;INNER JOIN 数据test!表kc ;ON 表kc.kch = 表c

34、j.kch ;ON 表xs.xh = 表cj.xh;WHERE 表kc.kcm = SC1;GROUP BY 表xs.bj;ORDER BY 表xs.bj;INTO TABLE sub_cj.dbf5、VFP课程设计难点分析之三浏览学生表单的设计 一. 表单的组成对象本表单由一个包含2个页面的页框组成,主要用来浏览成绩表中的统计信息。1. 表单 主要属性为:Name = browexsCaption = 浏览学生情况Icon = 大自然 .icoAutoCenter = .T.2. 页框 主要属性为:Name = Pageframe1PageCount = 2Page1.Name = Page

35、1Page2.Name = Page2Page1.Caption = 全体学生概况Page2.Caption = 各班学生基本情况(1)页面1的组成:(2)页面2的组成:此页面中组合框的主要属性为:Name = Combo1RowSourceType = 1RowSource = 99英语,99日语,99英教1,99英教2二. 事件代码pageframe1中Page1的Activate事件Page2中combo1的InteractiveChange事件do sumstud.prg thisform.pageframe1.page1.text1.value=s1 thisform.pagefra

36、me1.page1.text2.value=s2 thisform.pageframe1.page1.text3.value=s3 thisform.pageframe1.page1.text4.value=s4 thisform.pageframe1.page1.text5.value=s5 thisform.pageframe1.page1.text6.value=s6 thisform.pageframe1.page1.text7.value=s7cs1=this.valuedo clastud.prg thisform.pageframe1.page2.text2.value=cs2

37、thisform.pageframe1.page2.text3.value=cs3 thisform.pageframe1.page2.text4.value=cs4 do student.qpr thisform.pageframe1.page2.grid2.recordsource=xsthisform.pageframe1.page2.refresh 三. 程序文件和查询文件的内容sumstud.prgclastud.prgstudent.qprclose datapublic s1,s2,s3,s4,s5,s6,s7 open data 数据testuse 表xscount to s1

38、count for xb=男 to s3count for xb=女 to s4count for bj=99英教2 to s2count for bj=99英语 to s5count for bj=99英教1 to s7count for bj=99日语 to s6useclose datapublic cs2,cs3,cs4 open data 数据testuse 表xsset filter to bj=cs1count to cs2count for xb=男 to cs3count for xb=女 to cs4 set filter touseSELECT 表xs.xh as 学号,

39、;表xs.xm as 姓名, ;表xs.xb as 性别,;表xs.csrq as 出生日期,;表xs.bj as 班级; FROM 数据test!表xs;WHERE 表xs.bj =cs1; ORDER BY 表xs.xh;INTO TABLE xs 6、VFP课程设计难点分析之四设置口令表单集的设计 1. 表单集Formset1的组成对象:(1)检查密码表单:其主要属性的设置如下:Name = FormcheckCaption = 检查密码Icon = 大自然 .icoHeight = 210WindowState = 0AutoCenter = .T.Width = 380Visible

40、 = .T.BackColor = RGB(0,128,128)形 状:1个,主要属性为: Name = Shape1 Curvature=20文本框: 1个,用来接受所输入的密码,其主要属性为:Name = Text1 PasswordChar = *标 签:1个,主要属性为:Name = Label1 Caption = 请输入系统密码:命令按钮:2个,“确定”按钮的功能调用“修改表单”来修改系统中的所有表单,“修改”按钮的功能是调用“授权修改”表单来修改系统密码: Name = CMDcheckconfirmName = CMDchangeCaption = 确 定Caption = 修

41、 改(2)授权修改表单:其主要属性的设置如下:Name = FormawCaption = 授权修改Icon = 大自然 .icoHeight = 210Visible = .F.AutoCenter = .T.Width = 380WindowState = 0 BackColor = RGB(0,64,64)形 状:1个,主要属性为: Name = Shape1 Curvature=20文本框: 1个,用来接受所输入的密码,其主要属性为:Name = Text1 PasswordChar = *标 签:1个,主要属性为:Name = Label1 Caption = 请输入授权密码:命令按钮:1个,其功能是调出修改密码表单,Name = CMDawconfirm Caption = 确定(3)修改密码表单:其主要属性的设置如下:Name = FormchangeCaption = 修改密码Icon = 大自然 .icoHeight = 250AutoCenter = .T.Visible = .F.Width = 375WindowState = 0BackColor = RGB(128,0,64)标 签:2个,分别为:Name =

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1