秋上机答.docx

上传人:b****3 文档编号:4159877 上传时间:2023-05-06 格式:DOCX 页数:30 大小:324.01KB
下载 相关 举报
秋上机答.docx_第1页
第1页 / 共30页
秋上机答.docx_第2页
第2页 / 共30页
秋上机答.docx_第3页
第3页 / 共30页
秋上机答.docx_第4页
第4页 / 共30页
秋上机答.docx_第5页
第5页 / 共30页
秋上机答.docx_第6页
第6页 / 共30页
秋上机答.docx_第7页
第7页 / 共30页
秋上机答.docx_第8页
第8页 / 共30页
秋上机答.docx_第9页
第9页 / 共30页
秋上机答.docx_第10页
第10页 / 共30页
秋上机答.docx_第11页
第11页 / 共30页
秋上机答.docx_第12页
第12页 / 共30页
秋上机答.docx_第13页
第13页 / 共30页
秋上机答.docx_第14页
第14页 / 共30页
秋上机答.docx_第15页
第15页 / 共30页
秋上机答.docx_第16页
第16页 / 共30页
秋上机答.docx_第17页
第17页 / 共30页
秋上机答.docx_第18页
第18页 / 共30页
秋上机答.docx_第19页
第19页 / 共30页
秋上机答.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

秋上机答.docx

《秋上机答.docx》由会员分享,可在线阅读,更多相关《秋上机答.docx(30页珍藏版)》请在冰点文库上搜索。

秋上机答.docx

秋上机答

2004年秋

一、项目、数据库和表操作(12分)

●打开软盘根目录下的项目文件TEST,在该项目中已有一数据库SJK。

1.按如下要求修改SJK中课程(KC)表的结构:

(1)设置学分(xf)字段的默认值:

3;

(2)对kcdh字段设置掩码:

接受4个字符,且只接受数字;

(3)设置课时数(kss)字段的有效性(验证)规则:

大于等于2并且小于等于6;

(4)为表增加一个备注字段kcsm,标题为:

课程说明;

(5)创建普通索引xfdh,要求先按xf字段排序,xf相同的再按课程代号(kcdh)字段排序;

2.为KC表添加编辑说明:

“课程表”。

3.设置SJK中zy表的包含状态为:

“包含”。

4.已知项目中存在xs表,为学生表添加一个字段年龄(nl),数值型,宽度:

2,并计算表中所有籍贯(jg)为“江苏南京”的学生的年龄。

(计算方法为当前日期的年份减去学生出生日期的年份。

)UpdaxsSetnl=Year(Date())-Year(csrq)WhereJg=”江苏南京”

5.SJK中JS表中已存在主索引jsgh,索引表达式为gh;GZ表已存在普通索引gzgh,索引表达式为gh。

以JS表为主表,GZ表为子表,按gh建立永久关系,并设置JS表和GZ表之间的参照完整性:

删除限制。

项目、数据库和表操作(12分)之二

●打开软盘根目录下的项目文件TEST,在该项目文件中已存在一个数据库SJK,根据下列要求完成有关数据库及表的操作。

1.修改数据库中图书(TS)表的结构,要求:

(1)修改jg字段的宽度,使之能容纳4位整数和2位小数;

(2)将kcs字段的标题设置为“库存数”,默认值设置为10;

(3)设置kcs字段的有效性规则(验证)及有效性(验证)信息:

库存数必须大于0;

(4)创建普通索引smrq,要求先按书名(sm)排序,如果书名相同,再按入库日期(rkrq)排序。

2.将自由表JSB添加到SJK中,并在项目中为该表添加说明:

“教师表”。

3.先修改软盘上TS1表的结构,添加一个类型、宽度和小数位均与jg字段相同的newjg字段,然后计算该字段的值:

jg的基础上增加15%。

 ?

4、以KC表为主表、RK表为子表,根据kcdhjg建立永久性关系,并设置两个表之间的参照完整性规则:

如果在RK表中存在匹配的关键字值,则禁止在KC表中删除记录。

删除限制

项目、数据库和表操作(12分)之三

●打开软盘根目录下的项目文件TEST,在该项目中已有一数据库SJK。

1.按如下要求修改SJK中图书(TS)表的结构:

(1)将分类号(flh)字段的标题设置为“分类号”;

(2)设置rkrq字段的有效性(验证)规则:

必须是当前日期(包括当前日期)之前;

(3)设置rkrq字段的有效性(验证)信息:

人库日期必须是当前日期之前;

(4)对分类号(flh)字段设置输入格式:

删除输入字段前导空格;

T《教程》P98表4-1数据库表的字段格式

(5)创建一个普通索引zj,要求先按作者(zz)字段排序,作者相同的再按价格(jg)字段从小到大排序。

2.把TEST项目中的自由表GZC移出项目;

3.把软盘根目录中的表文件TS1.DBF添加为TEST项目中的自由表;

4.为TS1表添加一条记录,记录内容为:

flh

sm

zz

isbn

jg

kcs

rkrq

T01.123

计算机应用基础

王平

7-305-0405-6

20

100

08/01/03

5.SJK中XIM表已存在主索引xdh,索引表达式为xdh,JS表已存在普通索引xdh,索引表达式为xdh,以XIM表为主表,JS表为子表按xdh建立永久关系,并设置XIM表和JS表之间的参照完整性:

更新级联。

项目、数据库和表操作(12分)之四

●打开软盘根目录下的项目文件TEST,在该项目中已有一数据库SJK。

1.按如下要求修改SJK中的教师(JS)表结构:

(1)为工作日期(gzrq)字段设置标题:

工作日期;

(2)JS表中含有日期型字段出生日期(csrq),设置js的记录有效性(验证)规则:

18岁以后(含18岁)才能参加工作;year(gzrq)-year(csrq)>=18

(3)为职称代号(zcdh)字段设置输入掩码:

接受2个字节的字符,且只接受数字字符;

(4)增加一个备注字段,字段名为zwjs.

(5)创建一个普通索引xdhcsrq,要求先按xdh字段排序,相同的再按csrq字段排序。

2.为JS表添加编辑说明:

教师基本信息表。

3.把软盘根目录中的表文件GZB.DBF添加到sjk库中。

4.假定增加教师(jbgz)的具体方法是:

教授jbgz加500元,副教授加300元,讲师和助教加200元。

请按上述方法来修改GZC表中所有的记录的基本工资(jbgz)字段的值。

5.KC表中已存在主索引kcdh,索引表达式为kcdh;RK表已存在普通索引kcdh,索引表达式为kcdh。

以KC表为主表,RK表为子表,按KCDH建立永久关系,并设置KC表和RK表之间的参照完整性:

更新级联。

项目、数据库和表操作(12分)之五

●打开软盘根目录下的项目文件TEST,在该项目中已有一数据库SJK。

1.按如下要求修改SJK中教师(JS)表的结构:

(1)将简历(jl)字段标题设置为:

简历

(2)对工号(gh)字段设置输入掩码:

接受5个字节的字符,且第1个字符必须为大写字母,后4个字符只接受数字;!

9999《教程》P98表4-2字段的输入掩码

(3)设置工作日期(gzrq)字段的有效性(验证)规则:

工作日期的年份必须小于等于2004年且大于等于1960年;Between(Year(gzrq),1960,2004)

(4)设置gzrq字段的有效性(验证)信息:

输入的工作日期必须在1960~2004之间;

(5)创建一个普通索引xdhzc,要求先按系代号(xdh)字段排序,系代号相同的再按职称代号(zcdh)字段排序。

2.把软盘根目录中的表文件GZB.DBF添加为TEST项目中的自由表,并为其添加说明信息为:

工资信息表。

3.将GZB表中所有讲师的其它(qt)工资项增加150元。

Upda

4.为JS表设置更新触发器:

仅允许更新1960年(含1960年)以前参加工作的教师记录。

5.SJK中JS表已存在主索引jsgh,索引表达式为gh,GZ表已存在普通索引gzgh,索引表达式为gh,以JS表为主表,GZ表为子表按gh建立永久关系,并设置JS表和GZ表之间的参照完整性:

删除级联。

项目、数据库和表操作(12分)之六

●打开软盘根目录下的项目文件TEST,在该项目中已有一数据库SJK。

1.按如下要求修改SJK中成绩(CJ)表的结构:

1)将成绩(CJ)字段的标题设置为“成绩”;

2)设置成绩(cj)字段的有效性(验证)规则:

大于等于0小于等于100;

3)设置cj字段的有效性(验证)信息:

学生的成绩必须在0—100之间。

4)创建一个普通索引xhcj,要求先按学号(xh)字段排序,学号相同的再按cj字段排序;

5)对cj字段设置字段注释:

成绩小于60分为不合格。

与“编辑说明”相同

2.为CJ表添加编辑说明为“学生成绩表”。

3.把软盘根目录中的表文件GZB.DBF添加为TEST项目中的自由表。

4.计算GZB表中所有记录的应发工资(yfgz),应发工资的计算公式为:

yfgz=jbgz+gwjt+zhjt+zfbt+qt

5.为CJ表设置更新触发器:

kcdh的值为“06”或“09”的允许更新,否则不允许更新。

6.SJK中KC表已存在主索引kcdh,索引表达式为kcdh,CJ表已存在普通索引cjkcdh,索引表达式为kcdh,以KC表为主表,CJ表为子表按kcdh建立永久关系,并设置KC表和CJ表之间的参照完整性:

删除限制。

项目、数据库和表操作(12分)之七

●打开软盘根目录下的项目文件TEST,在该项目中已有一数据库SJK。

1.按如下要求修改SJK中课程(KC)表的结构:

1)将课时数(kss)字段的标题设置为“课时数”;

2)设置学分(kss)字段的有效性(验证)规则:

大于等于2小于等于8;

3)设置kss字段的有效性(验证)信息:

某一门课的课时数不能小于2和大于8。

4)对课程代号(kcdh)字段设置输入掩码:

接受4个字节的字符,且只接受数字字符;

5)创建一个普通索引kskcdh,要求先按kss字段排序,kss相同的再按kcdh字段排序;

2.为KC表添加编辑说明为“课程信息表”。

3.把软盘根目录中的表文件GZB.DBF添加为TEST项目中的自由表。

4.修改GZB表中所有记录的综合津贴(zhjt)字段的值,规则为:

综合津贴为基本工资(jbgz)的5%。

5.为KC表设置删除触发器:

不允许删除。

6.SJK中KC表已存在主索引kcdh,索引表达式为kcdh,CJ表已存在普通索引cjkcdh,索引表达式为kcdh,以KC表为主表,CJ表为子表按kcdh建立永久关系,并设置KC表和CJ表之间的参照完整性:

删除限制。

项目、数据库和表操作(12分)之八

●打开软盘根目录下的项目文件TEST,在该项目中已有一数据库SJK。

1.按如下要求修改SJK中学生(JS)表的结构:

(1)将性别(xb)字段的标题设置为“性别”,默认值设置为“男”;

(2)设置xb字段的有效性(验证)规则,要求性别必须为“男”或“女”;

(3)设置xb字段的有效性(验证)信息为:

“性别必须为男或女”;

(4)对工号(gh)字段设置输入掩码:

接受5个字节的字符,且首位只接受字母字符,后4个字节只接受数字。

A9999

2.把软盘根目录中的表文件TS1.DBF添加为TEST项目中的自由表,并为其添加编辑说明为“图书表”。

3.为TS1表按flh字段排序创建一个普通索引FLH。

4.为JS表设置删除触发器:

1970年(包括1970年)以后出生的不允许删除。

5.XS表已存在主索引xsxh,索引表达式为xh,CJ表已存在普通索引cjxh,索引表达式为xh,以XS表为主表,CJ表为子表按xh建立永久关系,并设置XS表和CJ表之间的参照完整性:

删除级联。

二、设计查询(8分)

●在TEST项目中已经存在查询chaxun,已知在sjk的班级(bj)表中含有班级的编号(bjbh),班级所在的系代号(xdh)以及该班所属的专业代号(zydh),系名(xim)表中含有系代号(xdh)和系名称(ximing)字段。

按如下要求修改查询:

基于xim表和bj表查询每个系各班级的学生人数以及女生所占比例。

输出字段包括:

xdh、ximing、bjbh、总人数、女生人数、女生所占比例。

查询结果按系代号升序排序,在系代号相等的情况下,按班级编号升序排序。

预备知识:

对学生表统计男女生人数的查询

方法之一:

SELECTXs.xb,COUNT(*)AS人数;

FROMsjk!

xs;

GROUPBYXs.xb

方法之二:

SELECTXs.xb,sum(IIF(Xs.xb="女",1,0))AS人数;

FROMsjk!

xs

本题答案:

SELECTXim.*,Bj.bjbh,COUNT(*)AS班级总人数,;

SUM(IIF(Xs.xb="女",1,0))AS女生人数,;

SUM(IIF(Xs.xb="女",1,0))/COUNT(*)AS女生占比例;指占本班级人数比例

FROMsjk!

ximINNERJOINsjk!

bj;

INNERJOINsjk!

xs;

ONBj.bjbh=Xs.bjbh;

ONXim.xdh=Bj.xdh;

GROUPBYXim.xdh,Bj.bjbh;

ORDERBYXim.xdh,Bj.bjbh

●在TEST项目中已经存在查询chaxun,且在sjk中包含一个名为xscjst的视图,该视图记录了每一个学生的选课情况以及选修课程的性质,具体字段包括:

学号(xh)、课程代号(kcdh)、成绩(cj)、是否必修课(bxk)、学分(xf),在sjk的学生(xs)表中含有学生的学号(xh)和姓名(xm)。

按如下要求修改查询:

根据xs表和xscjst视图查询每个学生的选课门数,其中必修课几门、选修课几门。

输出字段包括:

xh、xm、选课总门数、必修课门数、选修课门数。

查询结果按选课总门数从小到大排序。

SELECTXs.xh,Xs.xm,COUNT(*)AS选课总门数,;

SUM(IIF(Xscjst.bxk,1,0))AS选必修课门数,;

SUM(IIF(Xscjst.bxk,0,1))AS选修课门数;

FROMsjk!

xsINNERJOINsjk!

xscjst;

ONXs.xh=Xscjst.xh;

GROUPBYXs.xh;

ORDERBY3

●在TEST项目中已经存在查询chaxun,且在sjk中包含一个名为xscjst的视图,该视图记录了每一个学生的选课情况以及选修课程学分值,具体字段包括:

学号(xh)、课程代号(kcdh)、成绩(cj)、学分(xf),在sjk的学生(xs)表中含有学生的学号(xh)和姓名(xm)。

按如下要求修改查询:

基于xs表和xscjst视图查询每个学生的选课门数、总学分。

输出字段包括xh、xm、xb、选课门数和总学分,查询结果按总学分从高到低排列。

注:

如果该学生的成绩(cj)字段的值小于60分,则该课的学分为0。

SELECTXs.xh,Xs.xm,Xs.xb,COUNT(*)AS选课门数,;

SUM(IIF(Xscjst.cj<60,0,xf))AS总学分;

FROMsjk!

xsINNERJOINsjk!

xscjst;

ONXs.xh=Xscjst.xh;

GROUPBYXs.xh;

ORDERBY5DESC

●在TEST项目中已经存在查询chaxun,且在sjk中包含一个名为bjcjst的视图,该视图记录了各个班级的学生考试成绩,具体字段包括班级编号(bjbh)、学号(xh)、课程代号(kcdh)、成绩(cj),在sjk的课程(kc)表中含有课程代号(kcdh)课程名称(kcm)字段。

按如下要求修改查询:

基于视图bjcjst和kc表查询各班学生参加课程号为‘03’的课程的考试情况。

输出字段包括:

bjbh、kcdh、kcm、参加考试总人数、优秀率、不及格率。

查询结果按班级编号升序排序。

(注:

优秀率=成绩90分以上(包括90)的人数/总人数,不及格率=不及格(成绩<60)人数/总人数)

●在成绩(CJ)表中输入成绩时,如果课程代号(kcdh)输入了课程(KC)表中所没有的课程代号,那么该学生的成绩就无效,CJ表中这样的记录称为“孤立记录”。

通过查询可以查询出这些孤立记录。

在TEST项目中已存在查询CHAXUN,按如下要求修改查询:

基于课程(KC)表和成绩(CJ)表查询成绩表中的“孤立记录”。

要求输出两个表的所有字段。

相同的行在查询结果中只出现一次,且按学号(xh)升序排序。

(提示:

使用“右联接”联接KC和CJ表,然后在结果中选出KC表中kcdh字段为Null值的记录。

SELECTKc.kcdh,Cj.kcdh,Kc.kcm,Kc.kss,Kc.bxk,Kc.xf,Cj.xh,Cj.cj;

FROMsjk!

kcRIGHTOUTERJOINsjk!

cj;

ONKc.kcdh=Cj.kcdh;

HAVINGKc.kcdhISNULL;用WhereKc.kcdhISNULL则无结果

ORDERBYKc.xf

●在TEST项目中已经存在查询chaxun,且在sjk中包含一个名为xsst的视图,视图中包含学号(xh)、姓名(xm)、班级编号(bjbh)、系代号(xdh)、党员(dy),在sjk的系名(xim)表中含有系名称(ximing)字段。

按如下要求修改查询:

基于xsst和系名(xim)表查询每个系学生党员的人数以及男、女生党员各占的比例。

输出字段包括:

xdh、ximing、党员人数、男党员比例、女党员比例。

查询结果按系代号升序排列。

●在TEST项目中已经存在查询chaxun,在sjk的教师(js)表中含有教师的出生日期(csrq)字段和教师所在的系代号(xdh)字段,系名(xim)表中含有系代号(xdh)和系名称(ximing)字段。

按如下要求修改查询:

基于xim表和js表查询每个系教师的年龄结构。

输出字段包括:

xdh、ximing、教师总人数、_40岁以下(包括40岁)人数、_40岁以上人数。

查询结果按系代号升序排列。

注:

年龄=YEAR(DATE()-YEAR(js.csrq)))

SELECTXim.*,COUNT(*)AS系总人数,;

SUM(IIF(YEAR(DATE())-YEAR(Js.csrq)<=40,1,0))AS系40岁以下人数,;

SUM(IIF(YEAR(DATE())-YEAR(Js.csrq)>40,1,0))AS系40岁以上人数;

FROMsjk!

ximINNERJOINsjk!

js;

ONXim.xdh=Js.xdh;

GROUPBYXim.xdh;

ORDERBYXim.xdh

●在TEST项目中已经存在查询chaxun,已知SJK的学生(XS)表含有学号(xh)字段和姓名(xm)字段,学生成绩(CJ)表中含有学生的成绩(cj)字段。

按如下要求修改查询:

基于XS表和CJ表查询每个学生选修课程的成绩情况。

输出字段包括:

xh、xm、选课门数、平均成绩、不及格门数。

查询结果按学号升序排列。

三、设计菜单(5分)

已知项目TEST中已存在菜单menuh,利用菜单设计器,按如下要求修改菜单。

1.图1所示要求在“系统设置”菜单栏后面增加“教师档案管理”菜单栏,并为它设置子菜单;

2.为“教师工资管理”菜单栏下的“工资调整”菜单项编写命令,当执行该菜单项时,工资(GZ)表中所有教师的岗位津贴(gwjt)统一增加200元;

3.将下列代码加到菜单的适当位置,使菜单运行时首先执行它。

Clear显示/常规选项/设置,在“设置”编辑器中键入

已知项目TEST中已存在菜单menuC,利用菜单设计器,按如下要求修改菜单。

1.按图1所示为“统计分析”创建子菜单;

2.已知在A盘根目录下存在表文件CJ.DBF,为“不及格统计”菜单项编制命令,统计各门科不及格的人次,要求当执行该菜单时在浏览窗口显示课程代号(kcdh)、不及格人次(注:

成绩(cj)小于60分为不及格);

3.将“学生档案管理”菜单项废止。

已知项目TEST中已存在菜单menuB,利用菜单设计器,按如下要求修改菜单。

1.按图1所示为“学生成绩管理”创建子菜单;

2.已知在A盘根目录下存在表文件CJ.DBF,为“成绩查询”菜单项编制命令,查询总成绩大于300分的学生清单,要求当执行该菜单时在浏览窗口显示学号(xh)和总成绩;

3.在“文件”菜单下插入系统菜单项“打开”。

已知项目TEST中已存在菜单menuI,利用菜单设计器,按如下要求修改菜单。

1.按图1所示要求为“人事管理”菜单栏编制子菜单;

2.为“教师工资管理”菜单栏下的“工资调整”菜单项编写命令,当执行该菜单项时,将工资(GZ)表中所有基本工资(jbgz)低于800元的记录都调整到800元;

3.在“系统设置”菜单栏下插入系统菜单栏“打印”。

●项目TEST中已存在菜单menuo,其中已定义了“文件”、“课程管理”、“成绩管理”和“教师任课管理”四个菜单栏。

按如下要求修改菜单,完成后的运行效果如图1所示。

1.在“文件”菜单栏下插入系统菜单“导出”;

2.

为“成绩管理”菜单栏设置子菜单,该子菜单包括二个菜单项“学生成绩录入”、“学生成绩查询”,并用分隔线隔开;

3.为“课程管理”菜单栏下的菜单项“课程代码录入”设置快捷键“CTRL+L”

4.为“课程管理”菜单栏下的“课程代码查询”菜单项设置SQL命令,当执行该菜单项时,在浏览窗口中显示课程(KC)表中所有记录的所有字段;

5.废止“教师任课管理”菜单栏。

●已知项目TEST中已存在菜单menud,利用菜单设计器,按如下要求修改菜单。

1.

按图1所示为“成绩查询”菜单项创建子菜单;

2.已知在A盘根目录下存在表文件CJ.DBF,为“按课程号”菜单项编制命令,统计各门科的选修人数,要求当执行该菜单时在浏览窗口显示课程代号(kcdh)、选修人数;

3.为“文件”下的恢复系统菜单栏设置命令,当执行该菜单项时,将VFP的主菜单恢复为系统默认菜单。

已知项目TEST中已存在菜单menug,利用菜单设计器,按如下要求修改菜单。

1.按图1所示为“教师任课管理”编制子菜单;

2.已知课程(KC)表存在主索引,索引名为KCBH,索引表达式为KCBH,为“课程管理”菜单栏下的“课程代码查询”编制过程,该过程完成下列功能:

(1)打开KC表,并将KCBH设置为主控索引;

(2)用SEEK命令查找KCBH为“08”的记录

3.为“文件”菜单栏下的菜单项“返回”设置提示信息:

返回系统菜单,当按下该菜单项,在屏幕的左下角显示该提示信息。

已知项目TEST中已存在菜单menua,利用菜单设计器,按如下要求修改菜单。

1.按图1所示增加“学生管理”菜单栏及其子菜单和快捷键;

2.已知在A盘根目录下存在表文件XS.DBF,为“信息查询”菜单项编制过程,打开XS表,并在浏览窗口显示XS表中的记录;

3.在“文件”菜单下插入系统菜单项“打印预览”(即作为子菜单)。

四、设计表单(10分)

软盘上TEST项目中已经存在表单FormH,该表单的功能是。

按下列要求修改该表单,修改完成后运行表单,其效果如图2所示。

MaxButton,MinButton,AutoSize为.F.AutoCenter为.T.

1.修改表单的有关属性,使表单无最大/小化按钮、不可调整大小、自动居中;

2.修改表格第5列的列标头的有关属性,将显示的“zcdh”修改为“职称代号”;

3.修改列表框控件的有关属性,要求显示两列数据,且通过对数据环境的修改使数据按职称代号排序;窗口/数据工作期

4.完善下拉列表框的InterActiveChange事件代码,要求在原代码的基础上,在合适的位置增加2条语句以完成如下功能:

让标签控件Label2运行时可见,用以显示系名;

ThisForm.label2.Visible=.T.

thisform.label2.caption=xim.ximing

5.完善“确定”命令按钮的Click事件代码,要求在原代码的基础上,在合适的位置增加2条语句以完成如下功能:

用列表框中选择的职称代号更新表格中当前记录的职称代号。

Selejs

Repljs.zcdhwithThisform.list1.Value

ThisForm.Refresh

软盘上T

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

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2