第三章一、填空1、创建一个教师表(JS.dbf),其中有字段gh(工号,字符型,长度为6)、xm(工号,字符型,长度为10)、xb(性别,字符型,长度为2)、csrq(出生日期,日期型)、JL(教师简历,备注型,且允许为空值).CREATETABLEJS(ghc(6),xmC(10),xbc(2),csrqD,jlM【null】)2、在命令窗口或程序中,可以使用USE命令打开一个表.在该命令中,【alias】子句用于定义表的别名.(请写出拼写出完整的关键字)3、执行下列命令后:CLOSETABLESALLSELECT0USEXSALIASSTUUSEJSIN0函数USED(JS)的值是.T.,函数SELECT()的值是【1】,函数ALIAS()的值是【STU】.4、VFP系统中,在同一个表上,可以打开多个索引,但其中只有一个索引对表起作用,这个索引称为【主控索引】.5、与自由表相比,数据库表可以设置许多字段属性和表属性.其中,表属性主要有表名(即长表名)、表注释、记录有效性和【触发器/TRIGGER】等.6、设有一个表CJDA,该表有一个字段名BY的字段.如果要将字段删除,可以使用命令ALRERTABLECJDA【DROPCOLUby】.7、用户使用CREATETABLE-SQL命令创建表的结构,字段类型必须用单个字母表示.对于货币型字段,字段类型用单个字母表示时为【Y】.8、利用UPDATE-SQL语句将学生表(student)中所有性别(sex)为男的学生的系(depart)值改为数学系,其完整命令是【UPDATEstudentSETdepart=数学系WHEREsex=男】.(请将命令完整拼写,不要缩写)9、如果一个表同时在多个工作区中打开且均未指定别名,则在第一次打开的工作区别名与表名相同,其他工作区中用字母【A】至【J】以及WII~W32747中的一个表示.10、下列程序段中的后三条命令可用一条功能等价的命令来实现,这条命令是【USEcjIN0】.SETTALKOFFSELECT1USExsSELECT0USEcj11、在利用参照完整性生成器对话框设置参照完整性规则时,系统自动地生成完成该规则的程序代码.规则的代码被保存在数据库中,而规则中的实施由主表和子表的【触发器】完成.12、在VFP中,与表操作相关的系统函数有多个,例如EOF()、BOF()、USED()等.用于返回当前选定工作区中已打开表的字段数目的函数是【FCOUNT()/FCOUNT】.13、去除当前工作区主控索引设定的命令是【SETORDEto】,此时,表记录的顺序依据物理顺序排序.14、有一个表文件XSDA,含有一个学号字段(XH,C,8).利用ALTERTABLExsda【ALTER】COLUMNxhC(10)命令,可以将学号字段的宽度修改为10.15、向数据库中添加表是指把自由表添加到数据库中,使之成为数据库表.这一操作的本质是建立了库与表之间的【双向链接】.16、选择当前未使用的最小号工作区,可以使用命令【SELE0】.17、在BROWSE命令中,【FREE】子句用于指定可以修改的字段,而其他字段的数据不可以修改.18、一张表结构如下Teacher(teacidc(3),teacnamec(8),sexc(2),bornd)用SQL语句给该表添加一个字段,字段名是note,类型是备注型,其命令是【ALTETABLteacherADDnoteM】,为该表创建一个索引,要求先依据姓名排序,姓名相同时以出生日期排序,则索引表达式为【teacname+DTOC(born,1)】.(请将命令完整拼写,不要缩写)19、对当前教师表(js)按如下要求更改基本工资(jbgz):如果工龄(gl)在20年以上(含20年),则基本工资加50.实现上述更改的REPLACE命令是【REPLACEjbgzWITHjbgz+50FORgl=20】.(请将命令完整拼写,不要缩写)20、如果要彻底删除当前工作区中打开的表的所有记录,可以使用【ZAP】命令.21、DELETE()函数用来检测当前记录是否带有删除标记,其返回值数据类型为【逻辑】.22、使用SET【Delete】ON|OFF命令,可以指定visualFoxPro系统是否处理已做了删除标记的表记录.23、已知某数据库中有学生表和成绩表,且两张表之间已经建立了参照完整性(学生表为主表,成绩表为子表).如果将学生表中的某位学生的记录删除,要求该学生在成绩表中的所有成绩记录将自动全部删除,则两表之间的参照完整性设置是【删除级联】.24、如果意外地删除了某个数据库文件,由于该数据库中包含的数据库表仍然保留对该数据库引用的后链,因此这些数据库表也不能被添加到其他的数据库中.这时需要利用【FREETABL】命令删除存储在数据库表中的后链,使之成为自由表.25、在VisualFoxPro中,参照完整性规则中的更新规则有【级联】、【限制】、忽略三种设置.26、返回当前打开的数据库的完整文件名的函数是【DBC()/DBC】.27、一个表可以有一个或多个索引,在需要使用某个索引时必须显式地指定,即将某个索引设置为主控索引.在USE命令中使用【order】子句,可以在打开表的同时设置主控索引.28、指定VisualFoxPro系统是否处理标有删除的记录,以及其他命令是否可以操作它们,常使用下列命令:SET【DELE】ON.29、在VFP中,【存储过程】是保存在数据库中的过程代码,它由一系列用户自定义函数(过程)或在创建表之间参照完整性规则时系统创建的函数(过程)组成.30、利用UPDATE-SQL命令可以批量地修改记录的字段值.例如,某档案表(表名为DA)中有一个数值型字段(字段名为NL),则使用命令UPDATEda【SET】nl=nl+1WHEREnl100可以将所有NL字段值小于100的记录的NL字段值增加1.31、在VisualFoxPro中,每个表最多可以有【255】个字段.32、若当前打开的数据库中有一张名为xsb的数据库表,且表以设置了记录的有效规则,则将该表的记录有效性规则删除,可以使用命令:ALTERTABLExsb【DROPCHECK】.33、关闭当前工作区中打开的表的命令是【USE】.34、VisualFoxPro系统支持3种不同的索引文件,即【结构复合】索引文件、非结构复合索引文件和独立索引文件.35使用USE命令可以打开或关闭表.如果XS表已在第1号工作区中打开,则要在第10号工作区中再次打开XS表,可使用命令USExs【again】IN10.36、执行以下程序,3个SELECT()函数的输出值分别是【1】,【2】,【2】【程序清单】CLoSETABLESALLSELECT3USEjsSELECTxh,xm,csrqFROMXSINTOCURSORt3?SELECT(XS)??SELECT(t3)??SELECT(0)37、若当前打开的数据库中有一张名为xsb的数据库表,且表中有一个名为by的字段,则将该字段的标题属性设置为备用,可以使用命令:DBSETPROP('XSB.BY','【field】','【caption】','备用').38、用SQL创建一张表,表名为aaa,包含字段a1,a2,a3分别为长度为6的字符型,日期型和逻辑型,其正确书写格式为【CREATETABLEaaa(a1C(6),a2D,a3L)】.(请将命令完整拼写,不要缩写)39、数据库中包含数据库表、视图、连接、【存储过程】.40、一张学生表包含学号、姓名、性别等字段,在执行deleall命令之后,现想恢复所有带删除标志的且性别(xb)为男的所有同学,其VFP内部命令是【RECAALLFORxb=男】.(请将命令完整拼写,不要缩写)41、表中字段类型为通用型时,其长度为【4】个字节.42、利用DBSETPROP()函数,可以设置当前数据库的属性,或设置当前数据库中表的字段或视图的有关属性.例如,要设置当前数据库中JS表的gh字段的标题属性,可以使用函数:DBSETRPOP(【JS.gh/gh】,FIELD,Caption,工号)43、在REPLACE命令中,保留字【ADDITIVE】仅对备注型字段有效,使用时表示替换的内容追加到原备注中,否则替换原备注内容.44、利用seek()查找某条记录时,如果没有该记录,则当前指针指向该表的最后一条记录;如果查找到,则指针指向该记录,并且函数【FOUND()】返回.T..45、利用COPYTO命令可以将当前工作区中表的全部或部分数据复制到其他表文或其他类型的文件中.例如,使用COPYTOtempFORRECNO()11【XLS】命令,可以将当前工作区中表的前10条记录数据复制到TEMP文件中,且TEMP文件为MicrosoftExcel格式文件.46、在VisualFoxPro中,每个表最多可以有【255】个字段.47、某数据库中有下列所述结构的两个表(BRDA病人档案和MXB明细表),并且已创建了一对多关系.BRDA(病历号,姓名,性别,年龄,联系地址)MXB(病历号,药品编号,单价,数量,日期)下列的查询语句用于查询病人用药总金额大于1000的病人信息(病历号、姓名、总金额),请完善该语句:SELECT病历号,姓名,SUM(单价*数量)AS总金额;FROMbrda,mxb;WHERE【brda.病历号=mxb.病历号】;GROUPBY1;HAVING【总金额1000/sum(单价*数量)1000/sum(mxb.单价*mxb.数量)1000】48、假设当前工作区为1,则选择第99工作区为当前工作区的命令是【SELECT99/SELE99】.49、银行存款表(ck,dbf)的表结构字段组成如下表:帐号(zh,C,15,NULL)存入日期(crrq,T,8)存期(cq,N,2,0)金额(je,Y,8)要求写出创建ck表的SQL语句【CREATETABLEck(zhC(15)NULL,crrqT,cqN(2),jeY)】,增加一条空记录的命令是【APPENDBLANK】(请将命令完整拼写,不要缩写)50、执行下列命令后:SETEXCLUSIVEOFFUSEJSUSEXSEXCLUSIVEIN0JS表的打开方式是【共享】,XS表的打开方式是【独占】.51、设在1号工作区中打开XS表,若要求在2号工作区中再次打开XS表且将其别名设置为xuesheng,则可使用命令:USExs【ALLA】xueshengIN2AGAIN.52、在两个数据库表创建永久性关系后,就可以创建它们之间的参照完整性规则.在VFP中,参照完整性规则分为更新规则、【删除】规则和插入规则.53、参照完整性是用来控制数据的完整性,尤其是控制数据库中相关表之间的主关键字和【外部关键字】之间数据一致性的规则.54、用INSERT-SQL命令在xS(学生)表中添加如下表格所示的记录,可使用命令:INSERTINTOxs(xh,jl,csrq)【Value】(E9999,获得三好学生,{^1988/07/14})55、利用DBGETPROP0'函数,可以获取当前数据库的属性设置信息,或当前数据库中的表、表字段或视图的属性设置信息.例如,要获取当前数据库SJK中XS表的xb字段的默认值,可以使用函数DBGETPROP(Xs.xb,Field,【defaultvalue】).56、如果依次执行下列命令,则XS表在两个工作区中同时打开,其别名分别为【XS】和【W20】.CLOSETABLESALLUSEXSSELE20USEXSAGAIN57、希望使某数据库表的某字符型字段仅能接受6个0~9之间的十个字符应在该数据库表的字段的【输入掩码/INPUTMASK】属性中设定其值为999999(注:写中文,英文都可以).58、某表含有两个字段:XX(字符型)和YY(日期型).若要创建一个索引,要求先根据XX字段排序,xx字段相同时再根据YY字段排序,则索引表达式可以设置为xx+【DTOC(yy,1)】59、一个远程数据源通常是一个远程数