VF基本操作参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基本操作
第一题
1.在指定文件夹下建立数据库BOOKAUTH,并把表BOOKS 和表AUTHORS 文件添加到该数据库中。
(建立数据库后,执行modi data 命令打开数据库设计器,然后在窗口空白处右单击选择“添加表”即可,后面各个题目中类似操作不再重复说明。
)
2.为AUTHORS 表建立主索引,索引名为“PK”,索引表达式为“作者编号”(在表设计器中,在索引字段上选择“索引”下拉框中的箭头,有具体升序或降序要求时选择方向向上或向下的箭头,无要求是默认选择升序即可;若索引表达式不是字段名字本身,可以在此基础上再点击“索引”标签,找到具体的索引条目,输入索引标记名和索引表达式即可)。
为BOOKS 建立两个普通索引,第一个索引名为“PK”,索引表达式为“图书编号”,第二个索引
名和索引表达式均为“作者编号”。
3.建立表AUTHORS 和表BOOKS 之间的永久性联系。
(参见课本3.7.3 节的第二部分, AUTHORS 主表的PK 到BOOKS 子表的“作者编号”,鼠标拖拽即可建立一对多联系,不要反了)
第二题
1.在指定文件夹下打开数据库文件SCORE_MANAGER,该数据库中有3 个表STUDENT、SCORE1 和COURSE,根据已经建立好的索引,建立表间的联系(寻找两表间相同的索引名称,建立一对一的连接,或一个主索引和一个普通索引建立一对多连接,这里指的是永久联接)。
2.为COURSE 表增加字段,开课学期(N,2,0)。
(直接在数据库设计器中右单击表,选择修改,在表结构设计器中添加即可)
3.为SCORE1 表中的“成绩”字段设置字段有效性规则:成绩>=0,出错信息:“成绩必须大于或等于0”。
(练习题中给定的数据表中已经设置了,设置字段有效性规则时注意在表设计器中首先正确选择字段再进行设置,记录有效性操作类似。
注意信息内容要字符串界定符)
第三题
根据以下要求,完成基本操作,所需文件在指定文件夹下:
1.从SCORE_MANAGER 数据库中删除名为NEW_VIEW1 的视图(在数据库设计器中,右单击视图,选择删除即可)。
2.用SQL 命令向SCORE1 表中插入一条记录:学号为“993503433”、课程号为“0001”、成绩为99。
(在VFP 命令窗口中执行命令:insert into score1 (学号,课程号,成绩) values("993503433","0001",99),不用考虑打开表)
3.打开表单MYFORM,向其中添加一个“关闭”命令按钮(名称为Command1)(打开表单后,设置关闭按钮Command1 的caption 为:关闭),表单运行时,单击此按钮关闭表单。
(设置关闭按钮Command1 的单击事件程序代码为:thisform.release,后面的关闭表单按钮都要进行类似设置,并且执行一次,否则影响得分。
)
第四题
1.在指定文件夹下打开数据库文件college(modi data college),物理删除该数据库中的temp 表(在数据库设计器中右单击该表选择删除,在提示框中再选择删除,注意此操作要求物理删除表,所以不要选择移去,移去操作仅把表转换为自由表,而不是从磁盘上物理删除表),然后将三个自由表“教师表”、“课程表”和“学院表”添加到该数据库中。
2.为“课程表”和“教师表”分别建立主索引和普通索引,字段名和索引名均为“课程号”,
并为两个表建立一对多的联系。
(参见课本3.7.3 节的第二部分)
3.使用SQL 语句查询“教师表”中工资大于4500 的教师的全部信息,将查询结果按职工号升序排列,查询结果存储于文本文件one.txt 中,(SQL 命令: select * from 教师表 where 工资>4500 order by 职工号 to fileone.txt)SQL 语句存储于文件two.prg 中。
(选中SQL语句,右击选复制,在命令窗口输入 MODI COMMAND ,按回车,在新打开的命令文件中CTRL+V,粘贴SQL语句,最后单击保存按钮保存命令文件。
)
第五题
在指定文件夹下打开数据库“宾馆”,完成以下操作:
1.打开“客户”表,为“性别”字段增加约束性规则:性别只能取“男”或“女”,默认值为“女”,表达式为性别$“男女”。
(打开表设计器,选中“性别”字段,在“字段有效性规则”的“规则”中填写:性别$"男女"。
在“字段有效性规则”的“默认值”中填写:"女")
2.为“入住”表创建一个主索引,索引名为fkkey,索引表达式为“客房号+客户号”。
(在表设计器中建立入住字段的索引,在索引标签中设置其为主索引,在索引名处输入fkkey,在表达式处输入:客房号+客户号)
3.根据各表的名称、字段名的含义和存储的内容建立表之间的永久联系,并根据要求建立相应的普通索引,索引名与创建索引的字段名相同,升序排序。
(分别建立各表相应的普通索引表,分别为"入住"表建立索引名和索引表达式均为"客房号"和"客户号"的普通索引,为"客房"表建立索引名和索引表达式均为"类型号"的普通索引。
在数据库设计器中建立四个表的联系:选中"客户"表中的主索引"客户号",按住鼠标拖动到"入住"表的普通索引"客户号"上,用同样的方法可以建立"客房"表和"入住"表的"客房号"之间的联系,"房价"表和"客房"表的"类型号"之间的联系。
)
第六题
根据以下要求,完成基本操作,所需文件在指定文件夹下:
1.打开表单one,向其中添加一个组合框(Combo1),并将其设置为下拉列表框(设置Combo1 的style 属性)。
设置组合框的RowSource 和RowSourceType 属性,使组合框Combo1的显示条目为“上海”、“北京”(不要使用命令方式指定这两个属性),显示情况如下图所示 (设置Combo1 的RowSource 属性值为“上海,北京” ----注意不要输入双引号啦!RowSourceType 属性设置为1-值)。
2.向表单one 中添加两个命令按钮“统计”和“退出”,名称分别为Command1 和Command2(Command1 命令按钮的caption 属性设置为“统计”,Command2 命令按钮的caption 属性设置为“退出”)。
为“退出”命令按钮的Click 事件编写一条命令,执行该命令时关闭并释放表单(Command2 命令的单击事件程序为:thisform.release)。
3.为表单one 中的"统计"命令按钮的Click 事件编写一条SQL 命令,执行该命令时,将“歌手表”中所有"歌手出生地"与组合框(Combo1)指定的内容相同的歌手的全部信息存入自由表birthplace 中。
(select * from 歌手表 where 歌手出生地=bo1.value into table birthplace)
第七题
根据以下要求,完成基本操作,所需文件(或要保存文件)均在指定文件夹下:
1.在指定文件夹下建立一个名为"外汇管理"的数据库。
2.将表currency_sl和表rate_exchange添加到新建立的数据库中。
3. 将表rate_exchange 中" 买出价" 字段的名称改为" 现钞卖出价" 。
(modi stru rate_exchange,或者在数据库设计器中右单击表rate_exchange,选择“修改”后在表设计器中修改)
4.通过"外币代码"字段为表rate_exchange和currency_sl建立一对多永久联系(需要首先建立相关索引)。
第八题
在指定文件夹下完成如下操作:
1. 创建一个名为"订单管理"的数据库,并将已有的employee 和orders 两个表添加到该数据库中。
新建一个名为customer 的表,表结构如下:
客户号字符型(4)
客户名字符型(36)
地址字符型(36)
执行Create customer 命令,在表设计器中设置以上字段;也可以使用SQL 命令直接建立:create table customer(客户号 C(4),客户名 C(36),地址 C(36))
2. 为orders 表建立一个普通索引,索引名为je,索引表达式为"金额",降序索引。
3. 通过"客户号"分别为customer 表建立主索引,为orders 建立普通索引,索引名和索引表达式均为"客户号",通过"客户号"为customer 表和orders 表之间建立一个一对多的永久联系。
第九题
在指定文件夹下完成如下操作:
1. 创建一个名为"订单管理"的数据库,并将已有的employee、orders 和customer 三个表添加到该数据库中。
2. 为orders 表建立一个普通索引,索引名为nf,索引表达式为"year(签订日期)"。
为employee 表建立主索引,为orders 建立普通索引,索引名和索引表达式均为"职员号"。
通过"职员号"在employee 表和orders 表之间建立一个一对多的永久联系。
3. 为上述建立的联系设置参照完整性约束:更新规则为"限制",删除规则为"级联",插入规则为"限制"。
(为联系指定参照完整性:在联系上单击右键,打开"编辑参照完整性"对话框或者在"数据库"菜单中选择"编辑参照完整性",打开"参照完整性"生成器。
选择更新规则为"限制",删除规则为"级联",插入规则为"限制"。
)
第十题
在指定文件夹下,完成如下操作:
1. 将当前文件夹下的自由表CLASS(班级表)和TEACHER(教师表)添加到学生数据库SDB 中;为班级表CLASS 创建一个主索引和普通索引(升序),主索引的索引名和索引表达式均为班级号;普通索引的索引名和索引表达式均为班主任号。
为教师表TEACHER 创建一个主索引,索引名和索引表达式均为教师号;
2. 通过"班级号"字段建立班级表CLASS 和学生表STUDENT 表间的永久联系。
通过班级
表CLASS 的"班主任号"字段与教师表TEACHER 的"教师号"字段建立班级表CLASS 和教师表TEACHER 间的永久联系;
3.为以上建立的两个联系设置参照完整性约束:更新规则为"级联";删除规则为"限
制";插入规则为"限制"。
第十一题
根据以下要求,完成基本操作题,所有文件保存在指定文件夹下:
1.在指定文件下建立数据库BOOK,并把数据表rsgz 添加到该数据库中。
2.将表RSGZ 的所有记录的应发工资和实发工资计算出来填充到相应字段中,应发工资为基本工资、职务补贴的和,实发工资为应发工资减去社会保险和公积金。
使用SQL 的update 命令,此时不用考虑表是否打开,直接执行以下命令:
update rsgz set 应发工资=基本工资+职务补贴,实发工资=应发工资-社会保险-公积金
3.为表RSGZ 建立普通索引PK,索引表达式为“实发工资”,并用select 统计实发工资在1000 元以上(含1000)的人数,将结果保存在表ren.Dbf 中
SQL 命令:select count(*) from rsgz where 实发工资>=1000 into table ren
第十二题
根据以下要求,完成基本操作题,所有文件保存在指定文件夹下:
1.在指定文件下建立数据库BOOK,并把数据表rsda 添加到该数据库中。
2.在表RSDA 中物理删除姓名为“马超频”的记录,将“职称”为“讲师”的进行逻辑删除,并将姓名为“王为冬”的职称改为“教授”。
delete for 姓名=马超频
pack
delete for 职称=讲师
解释:先用delete for <条件语句>来逻辑删除满足条件的记录,再用pack来物理删除被逻辑删除的记录
update Rsda set 职称="教授" where 姓名="王为冬"
3.为表RSDA 建立以工作时间长短进行索引,索引名称为PK,按降序排列。
第十三题
根据以下要求,完成基本操作题,所有文件保存在指定文件夹下:
1.在指定文件下建立数据库BOOK,并把数据表RSGL 添加到该数据库中。
2.为表RSGZ 的“性别”字段,添加字段有效性,该字段的有效性规则为只能是“男”
或“女”(打开数据库设计器,右单击表选择修改,在表设计器中选择性别字段,在下方的字段有效性规则栏内填写:性别$“男女”),输入错误则显示“该字段只能是男或女”(规则框内填写,注意提示信息是字符串,需要用字符串界定符界定),其默认值为“男”(默认值为字符型的不要忘记字符串界定符)。
3.将表RSGL 中的“职务”字段删除,并修改“文化程度”字段的宽度为10。
第十四题
根据以下要求,完成基本操作题,所有文件保存在指定文件夹下:
1.在指定文件下打开数据库BOOK,并把数据表RSGZ 和RSDA 添加到该数据库中,把数据表RSGL 从数据库中移去(注意“移去”和“删除”的区别) 。
2.为表RSGZ 建立以“编号”为关键字的普通索引,为表RSDA 建立以“编号”为关键字的主索引,删除表RSDA 中以PK 为索引名的索引。
3.为表RSDA 和RSGZ 建立以“编号”作为关联字的一对多永久关系。
第十五题
根据以下要求,完成基本操作题,所有文件保存在指定文件夹下:
1.在指定文件下打开数据库BOOK,并把数据表RSBM 添加到该数据库中,移去数据表RSGZ 和RSda
2. 为表RSBM 建立以“部门名”为关键字的主索引,为表RSgl 建立以“部门名”为关键字的普通索引,删除表RSDA 中以PK 为索引名的索引。
3.为表RSBM 和RSGL 建立以“部门名”作为关联字的一对多永久关系。
第十六题
根据以下要求,完成基本操作题,所有文件保存在指定文件夹下:
1.在指定文件下打开数据库BOOK,并把数据表RSBM 添加到该数据库中,移去数据表RSGL。
2.将表RSGZ 的基本工资超过800 的所有记录的应发工资和实发工资计算出来填充到相应字段中,应发工资为基本工资、职务补贴的和,实发工资为应发工资减去社会保险和公积金。
使用SQL 的update 命令,此时不用考虑表是否打开,直接执行以下命令:
update rsgz set 应发工资=基本工资+职务补贴,实发工资=应发工资-社会保险-公积金where 基本工资>800
3.为表RSGZ 建立索引表达式为“编号”的主索引,并用SELECT 统计已计算出实发工资记录的个数,将结果保存在表ren.Dbf 中。
SQL 命令:select count(*) from rsgz where 实发工资>0 into table ren
第十七题
根据以下要求,完成基本操作题,所有文件保存在指定文件夹下:
1.在指定文件下建立数据库BOOK,并把数据表XSDA 和XSCJ 添加到该数据库中。
2.将表XSCJ 的所有记录的总分计算出来填充到相应字段中(打开表后,replace all 总分with 数学+物理+化学+语文),为表XSCJ 建立以“学号”作为关键字的主索引,为表XSDA 建立以“学号”作为关键字的主索引。
3.为表XSDA 和XSCJ 建立以“编号”作为关联字的一对一永久关系。
第十八题
根据以下要求,完成基本操作题,所有文件保存在指定文件夹下:
1.在指定文件下建立数据库BOOK,并把数据表XSDA 和XSCJ 添加到该数据库中。
2.将表XSCJ 的所有记录的总分计算出来填充到相应字段中(打开表后,replace all 总分with 数学+物理+化学+语文),按总分建立以PK 为索引名的索引,降序排列。
3.使用SELECT 统计出XSCJ 数据表中总分320 以上(含320)的人数,将结果保存在表ren.Dbf 中。
SQL 命令: select count(*) from xscj where 总分>=320 into table ren
注意必须正确执行第二步,算出总分后才可以做这一步,否则表REN.DBF 中的结果可
能不对。
第十九题
根据以下要求,完成基本操作题,所有文件保存在指定文件夹下:
1.在指定文件下打开数据库BOOK,并把数据表XSDA 和XSCJ 添加到该数据库中,移去数据表RSGZ。
2. 为表XSDA 建立以“学号”为关键字的主索引,索引标识名为“学号”,为表XSCJ建立以“学号”为关键字的候选索引,索引标识名为“xh”,删除表XSDA 中以PK 为索引名的索引。
3.为表XSDA 和XSCJ 建立以“学号”作为关联字的一对一永久关系。
第二十题
根据以下要求,完成基本操作题,所有文件保存在指定文件夹下:
1.在指定文件下建立数据库BOOK,并把数据表XSDA 和XSCJ 添加到该数据库中。
2.将表XSCJ 的所有记录的总分和平均分计算出来填充到相应字段中,建立按总分由高到低的索引(降序索引),索引名称为PK。
(打开表后,打开表后,replace all 总分 with 数学+物理+化学+语文,replace all 平均分 with (数学+物理+化学+语文)/4)
3.逻辑删除总分大于360 的记录。
正确执行第二步后再执行命令:delete for 总分>360,当然也可以使用SQL 的delete from xscj where 总分>360,再不会的话就打开表的浏览窗口,用鼠标点击删除标记吧,反正只有一个记录需要删除。