新二级vf上机实验答案

上传人:xzh****18 文档编号:34235663 上传时间:2018-02-22 格式:DOC 页数:43 大小:1.50MB
返回 下载 相关 举报
新二级vf上机实验答案_第1页
第1页 / 共43页
新二级vf上机实验答案_第2页
第2页 / 共43页
新二级vf上机实验答案_第3页
第3页 / 共43页
新二级vf上机实验答案_第4页
第4页 / 共43页
新二级vf上机实验答案_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《新二级vf上机实验答案》由会员分享,可在线阅读,更多相关《新二级vf上机实验答案(43页珍藏版)》请在金锄头文库上搜索。

1、 第 1章 Visual FoxPro 数据库基础1.1 上机实验 12、修改表的结构 modify structure (或使用表设计器)3、关闭表 use 打开表 use lx (或单击文件-打开-类型选择 dbf-lx表)4、对“lx”表完成以下操作 list 姓名,性别,出生日期或者:list fields 姓名,性别,出生日期 (fields 可舍略) list for 性别=”男” list for 数学=80 and 数学1983显示表中在 1986年 10月 1日以前出生的学生记录。list for出生日期0方法 3:list for at(小,姓名)=1显示表中姓“王”的所有

2、记录。方法 1:list for left(姓名,2)=王方法 2:list for substr(姓名,1,2)=王方法 3:list for at(王,姓名)=1方法 4:list for 姓名=王显示表中姓名最后一个字是“军”的所有记录。list for right(alltrim(姓名),2)=军2. 将“chengji”表中所有学号的第一个字符替换成“8” 。use chengjireplace all 学号 with stuff(学号,1,1,8)2.1.2 函数、表达式综合应用1.利用系统的当前日期,显示“今天是 XXXX年 XX月 XX日”方法 1: ?今天是+str(year

3、(date()+年+str(month(date()+月+str(day(date()+日方法 2:set century onx=dtoc(date()?今天是+right(x,4)+年+left(x,2) +月+substr(x,4,2)+日方法 3:set date to long?今天是+dtoc(date()2.1 上机实验 222.上机操作查看以下表达式的结果?left(123456789,len(数据库) 123456 ?len(space(15)-space(20) 35?val(substr(1999,3)+right(str(year(date(),2)+15 9924.0

4、0?val(substr(奔腾 586,5,1)*len(Visual FoxPro) 65.00?str(109.87,7,3) 109.870?at(人民,中华人民共和国) 5dd=date()?str(year(dd),4)+年+str(month(dd),2)+月+str(day(dd),2)+日XXXX 年 YY月 ZZ日(根据系统的当前日期值而定)3.1 上机实验 33第 3章 Visual FoxPro 数据库及其操作3.1 上机实验 3set default to d:vf上机实验素材上机实验 3 命令先指定默认目录,然后再进行相关操作。3.1.1 表的基本操作1.新建表和输入

5、记录create 学生信息2.对表中记录的基本操作上述操作完成后,对“学生”表完成以下操作:显示表中所有女同学的记录。方法 1:list for 性别=女方法 2:list for 性别!=男显示表中笔试成绩大于等于 80分的男同学记录。list for 笔试=80 and 性别=男显示表中成绩合格的学生姓名、性别、出生日期信息。方法 1:list fields 姓名,性别,出生日期 for 合格=.T.方法 2:list fields 姓名,性别,出生日期 for 合格显示表中在 1983年 1月 1日以后出生的学生记录。list for 出生日期1983/01/01显示满族和汉族的男生信息

6、。list for (民族=满 or 民族=汉) and 性别=男显示表中记录号为奇数记录。方法 1:list for mod(recno(),2)=1方法 2:list for int(recno()/2)recno()/2显示表中笔试和机试成绩都及格的男同学的姓名、性别、出生日期信息并将显示结果保存到文件“成绩合格.txt” 中。list for 笔试=60 and 机试=60 and 性别=男 fields 姓名,性别,出生日期 to file 成绩合格先逻辑删除表中笔试和机试任意一门不及格的学生记录,然后对这些记录做物理删除。delete for 笔试=0,信息为:成绩应大于等于零。本

7、题应在表设计器中完成操作,具体操作步骤为:调用表设计器选择“成绩”字段根据题意在字段有效性属性中设置规则和信息确定(如下图所示)2.永久性关联打开数据库“宾馆” ,根据其中各表的名称、字段名的含义和存储的内容建立表之间的永久联系,并根据要求建立相应的普通索引,索引名与建索引的字段名相同,升序排序。打开数据库“宾馆”(调用数据库的设计器)为“入住”表的“客户号”和“客房号”字段分别建立普通索引为“客房”表的“类型号”字段建立普通索引将“客户”表中的主索引(客户号)拖动到“入住”表的普通索引(客户号)上3.1 上机实验 37将“客房”表中的主索引(客房号)拖动到“入住”表的普通索引(客房号)上将“

8、房价”表中的主索引(类型号)拖动到“客房”表的普通索引(类型号)上至此,本数据库中的所有表之间的永久性关联创建结束(如下图所示)3.参照完整性打开数据库“SDB” ,在其中的表完成下列操作:将当前文件夹下的自由表 CLASS(班级表)和 TEACHER(教师表)添加到学生数据库SDB中。为班级表 CLASS创建一个主索引和普通索引(升序),主索引的索引名和索引表达式均为班级号;普通索引的索引名和索引表达式均为班主任号。为教师表 TEACHER创建一个主索引,索引名和索引表达式均为教师号。通过班级号字段建立班级 CLASS和学生表 STUDENT表间的永久联系。通过班级表 CLASS的班主任号字

9、段与 TEACHER的教师号字段建立班级表 CLASS和教师表TEACHER间的永久联系。为以上建立的两个联系设置参照完整性约束:更新规则为级联,删除规则为限制。插入规则为限制。按题目要求先添加表并完成相关索引的建立将“class”表中的主索引(班级号)拖动到“student”表的普通索引(班级号)上将“teacher”表中的主索引(教师号)拖动到“class”表的普通索引(班主任号)上这时,完成了 3个表之间永久性关联的创建(如下图所示)。在数据库设计器中单击右键在快捷菜单中选择“编辑参照完整性”菜单项(如遇3.1 上机实验 38到不能编辑的提示(如下图所示),应事先清理数据库(数据库清理数

10、据库)在随后出现的“参照完整性对话框”中设置基于两个联系设置参照完整性约束(如下图所示)3.1.5 临时性关联的应用首先为 xuesheng表添加一个字段:总成绩 N(6,1),然后和 chengji表建立临时性关联并计算 xuesheng表中每个学生总成绩字段的值。先为 xuesheng表增加字段:总成绩 N(6,1),然后执行以下命令序列:close allselect 1 &选择 1号工作区use chengji &打开 chengji表,该表是被关联表index on 学号 tag xh &为 chengji的“学号”字段建立索引select 2 &选择 2号工作区use xueshe

11、ng &打开 xuesheng表,该表是主关联表set relation to 学号 into a &通过“学号”建立与 a(chengji表的别名)表的联系replace all 总成绩 with a.数学+a.英语+a.信息技术 &用 a表中的数据修改 xuesheng表中的总成绩4.1 上机实验 49第 4章 关系数据库标准语言 SQL4.1 上机实验 4set default to d:vf上机实验素材上机实验 4 命令先指定默认目录,然后再进行相关操作。4.1.1 数据定义和数据操纵1.打开数据库“选课管理”对其中的表完成以下操作:使用 SQL语句创建一个表结构与“学生”表结构完全一

12、致的“学生 1”表create table 学生 1(学号 C(2),姓名 C(10),性别 C(2),年龄 I,系 C(1)使用 SQL语句为“学生 1”表中的“性别”字段定义字段有效性,其中规则表达式为:性别=男 OR 性别=女;信息为:性别只能为男或女;默认值为:女。alter table 学生 1 alter column 性别 set check 性别=男 OR 性别=女 error 性别只能为男或女alter table 学生 1 alter column 性别 set default 女使用 SQL语句将“学生 1”表中的“系”字段名更改为“系别” 。alter table 学生

13、 1 rename column 系 to 系别使用 SQL语句为“学生 1”表增加字段“联系方式 C(11)” 。alter table 学生 1 add column 联系方式 c(11)使用 SQL语句删除“学生 1”表文件。drop table 学生 12.打开数据库“选课管理”完成以下操作:使用 SQL语句为“课程”表增加一条新记录,课程号和课程名称字段值分别为:C8、逻辑学。insert into 课程 values(C8,逻辑学)使用 SQL语句将“学生”表中所有学生增加 1岁。update 学生 set 年龄=年龄+1使用 SQL语句逻辑删除“选课”表中成绩不及格的记录。del

14、ete from 选课 where 成绩=20 and 年龄=5;order by 平均分 desc;into table stu_temp等价于:select a.学号,姓名,avg(成绩) as 平均分,count(*) as 选课门数;from 学生 a join 选课 b;on a.学号=b.学号;group by a.学号 having 选课门数=5;order by 平均分 desc;into table stu_temp查询没有被任何学生选择的课程信息。select *;from 学生;where 学号 not in(select 学号 from 选课)2.打开数据库“宾馆”根据

15、其中的表完成以下查询操作:查询房价大于 280元的客房的客房号、类型号、类型名、和价格。select a.*,类型名,价格;from 客房 a,房价 b;where a.类型号=b.类型号 and 价格280等价于:select a.*,类型名,价格;from 客房 a join 房价 b;on a.类型号=b.类型号;where 价格280查询退房日期大于或等于 2005-04-01的顾客的客户号、身份证、姓名、工作单位和该客户入住的客房号、类型名、价格信息,将查询结果按价格降序排序保存到表tabd中。4.1 上机实验 411select a.客户号,身份证,姓名,工作单位,b.客房号,类型名,价格;from 客户 a,入住 b,客房 c,房价 d;where a.客户号=b.客户号 and b.客房号=c.客房号 and c.类型号=d.类型号 and 退房日期=2005/04/01;order by 价格 desc;into table tabd等价于:select a.客户号,身份证,姓名,工作单位,b.客房号,类型名,价格;from 客户 a join 入住 b join 客房 c join 房价 d;on c.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题 > 高中试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号