1、一、选择题1下列关于项目、数据库和表的描述中不正确的是:。A. 一个项目可以包含多个数据库 B. 一个数据库可以包含在多个项目中C. 一个数据库可以包含多个表 D. 一个表可以包含在多个数据库中2. Visual FoxPro 系统中,修改表结构的命令是。AMODIFY STRUCTURE BLISTSTRUCTUREC.DISPLAY STRUCTURE DCREATESTRUCTURE3表(table )是存储数据的容器。在下列有关 VFP 表的叙述中,错误的是。每个表最多只能包含 200 多个字段新建一个表后,一般会生成 13 个文件自由表与数据库表在数据存储功能上相同,但在数据管理与控
2、制功能上有差别自由表添加到数据库中则变成数据库表,数据库表移出数据库则变成自由表4在 VFP 系统中,对于数据库表来说,如果将其移出数据库变成自由表,则该表原设置或创建的仍然有效。候选索引 B长表名C记录有效性规则 D触发器5在创建表索引时,索引表达式可以包含一个或多个表的字段。在下列字段类型中,不能直接选作索引表达式的是。A货币型 B日期时间型C逻辑型 D备注型6在 VFP 系统中,如果指定二个表的参照完整性的删除规则为“级联” ,则当删除父表中的记录时 。 A系统自动备份父表中被删除记录到一个新表中B若字表中有相关记录,则禁止删除父表中记录C自动删除子表中所有相关记录D不作参照完整性检查,
3、删除父表记录与子表无关7. Visual FoxPro 系统中,检测表文件指针是否已到文件尾的函数是。ABOF() B. EOF() C.END() DFIEL()8表(table )是存储数据的容器。在下列有关 VFP 表的叙述中,错误的是。系统默认的表文件扩展名为.dbfB利用设计器创建表结构时,系统默认的字符型字段宽度为 10C自由表的索引功能与数据库表有区别D表文件名在命名上只要遵循操作系统的规定,VFP 本身无任何新的限定9数据库(database)是许多相关的数据库表及其关系等对象的集合。在下列有关 VFP 数据库的叙述中,错误的是。A新建一个数据库后,会生成三个相关文件B从项目管
4、理器中可以看出,数据库包含表、视图、查询、连接和存储过程C创建数据库表之间的永久性关系,一般是在数据库设计器中进行D数据库表之间创建“一对多”永久性关系时,主表必须用主索引或候选索引10在下列有关 VFP 表索引的叙述中,错误的是。A通过创建表的索引,不仅可以对记录数据进行排序,而且可以实现记录的筛选B对于数据库表来说,可以创建 VFP 系统支持的所有类型的索引C在表打开时,系统会自动地将默认的第一个索引作为主控索引D表的唯一索引并不能控制字段数据输入时的重复11数据库表可以设置字段有效性规则,字段有效性规则属于_。A实体完整性范畴 B参照完整性范畴 C数据一致性范畴 D域完整性范畴12通用型
5、字段宽度为。 A1 B2 C4 D813. XS(学生)表中有 XM(姓名,字符型)和 XB(性别,字符型)等字段。如果要将所有男生记录的姓名字段值清空,则可以使用命令。A. UPDATE xs SET xm=“ WHERE “xb“=男 B. UPDATE xs SET xm=SPACE(1) WHERE xb= “男“ C. UPDATE xs SET xm=SPACE(1) FOR xb= “男“ D. UPDATE xs SET xm=“ FOR “xb“= 男 14.在下列关于数据库表和临时表的叙述中,不正确的是 。A数据库表随着其所在的数据库的打开而打开,也随着其所在的数据库的关闭
6、而关闭B基于数据库表创建的临时表随着数据库的打开而打开,也随着数据库的关闭而关闭C用 BROWSE 命令可浏览数据库表,也可浏览临时表D临时表被关闭后,可使用 USE 命令再次将其打开15.设某数据库中的学生表(XS.DBF)已在 2 号工作区中打开,且当前工作区为 1 号工作区,则下列命令中不能将该 XS 表关闭的是。ACLOSE TABLEBUSE IN 2CCLOSE DATABASE ALLDUSE 16.首先执行 CLOSE TABLES ALL 命令,然后执行命令,可逻辑删除 JS 表中年龄超过 60 岁的所有记录。ADELETE FOR YEAR(DATE()-YEAR(csrq
7、)60BDELETE FROM js WHERE YEAR(DATE()-YEAR(csrq)60CDELETE FROM js FOR YEAR(DATE()-YEAR(csrq)60DDELETE FROM js WHILE YEAR(DATE()-YEAR(csrq)6017.数据库表的主索引(及候选索引)的设置可以实现 。 A域完整性 B实体完整性 C参照完整性 D用户自定义完整性18.函数 SELECT(0)的返回值是。A. 当前工作区号B. 当前工作区的下一个工作区号C. 当前未被使用的最小工作区号D. 当前未被使用的最大工作区号19在 vfp 中, “.dbf”文件被称为。A.
8、数据库文件B. 表文件C. 程序文件D. 项目文件20要求一个表文件的数值型字段具有 5 位小数,那么该字段的宽度至少为。A 5 位 B 6 位 C 7 位 D 8 位21打开一张空表,分别用函数?EOF()和?BOF()测试,结果是。A T 和T B F和FC T和FD F 和 T22下面命令组与 BROW FOR xb=”女”具有相同的显示结果。A BROW(回车) SET FILTER TO (回车)B SET FILTER TO xb=”女” (回车) BROW(回车) C SET FILTER TO (回车)BROW(回车)D BROW(回车)SET FILTER TO xb=”女”
9、 (回车)23在 js.dbf 中筛选出性别为“女”的命令是。ASET FILTER TO xb=”女”BSET FILTER xb=”女”CSET FIELDS TO xb=”女”DSET FILTER TO24当执行命令 USE js ALLAS teacher IN B 后,被打开的表的别名是。A teacherB jsCBDjsb25已知 js 表中有两条记录,下列操作中,返回值一定是 T的是 。AUSE js ?EOF( ) BUSE js GO 2 SKIP -1?BOF( )CUSE jsGO BOTTOM SKIP?EOF( ) DUSE js SKIP-1?EOF( ) 26
10、某打开的表中有 20 条记录,当前记录号是 8,执行命令 GO TOP 后,再执行 SKIP -1 命令,此时所显示的记录号为.。A1B0C7D927.打开一张表后,执行下列命令:GO 6 SKIP -5GO 5则关于记录指针的说法正确的是 。A记录指针停在当前位置不动B记录指针的位置取决于记录的个数C记录指针指向第 5 条记录D记录指针指向第 1 条记录28恢复带删除标记的记录的是。AAPPENDBPACKCRECALLDZAP29用表设计器创建一个自由表,不能实现的操作是。A. 设置某字段可以接受 NULL 值 B. 设置表中某字段的类型为通用型C. 设置表的索引D. 设置表中某字段的默认
11、值30一张表的全部 meno 字段的内容存储在。A 不同的备注文件B 同一个文本文件C 同一个备注文件D 同一个数据库文件31有关表的索引文件,下列说法不正确的是。A 当一张表被打开时,其对应的结构复合索引文件被自动打开B 任何表的结构复合索引能控制表中字段重复值的输入C 一张表可以建立多个侯选索引D 主索引指适用于数据库表32Visual FoxPro 参照完整性规则不包括_。A. 更新规则 B. 删除规则 C. 查询规则 D. 插入规则33对于表的索引操作,下列说法中 是正确的。A 一个独立的索引文件中可以存储一张表的多个索引B 主索引只能用于自由表C 表文件打开时,所有的复合索引文件都自
12、动打开。D 独立索引文件的文件名由系统自动给出。34建立索引时, 字段不能作为索引字段 。A 字符型B 数值型C 通用型D 日期型35下列描述中错误的是。A 组成主索引的关键字或表达式在表中不能有重复的值B 主索引只能用于数据库表,但侯选索引可以用于数据库表和自由表C 唯一索引表示参加索引的关键字或表达式在表中只能出现一次D 在表设计器中只能创建结构复合索引36对于自由表而言,不能创建的索引类型是。 A.主索引 B.候选索引 C.普通索引 D.唯一索引37在向数据库添加表的操作中,下列叙述中不正确的是。 A.可以将一张自由表直接添加到数据库中B.可以将一张数据库表直接添加到另一个数据库中C.可
13、以在项目管理器中将自由表拖放到数据库中使之成为数据库表D.欲使一张数据库表成为另一个数据库的表,则必须先使之成为自由表38当库表移出数据库后,仍然有效的是。 A.字段的默认值 B. 表的验证规则 C.记录的验证规则 D.结构复合索引39如果一张数据库表的 DELETE 触发器设置为:性别女,则表示。A.不许修改女生 B.不许删除女生 C.只许修改女生 D. 只许删除女生40如果一张数据库表的 UPDATE 触发器设置为.F.,则不允许该表的记录作。 A.修改. B. 删除 C.添加 D.显示41下列描述错误的是。 A.数据库是一个包容器,它提供了存储数据的一种体系结构B.自由表和库表的扩展名都
14、是.dbfC.自由表和库表的表设计器是不一样的D.数据库表的记录存储在数据库中42下列关于索引的描述中错误的是。 A.组成主索引的关键字或表达式在表中不能有重复值B.主索引只能用于数据库表,但候选索引可用于自由表和库表C.必需将某个索引设置为主控索引后才能起作用。D.在表设计器中可以创建各种索引文件43在对数据库的操作中,下列说法中正确的是。 A.数据库被删除以后,则它包含的库表也随着被删除B.打开了新的数据库,则原来已打开的数据库被关闭C.数据库关闭后,它所包含的所有打开的数据库表被关闭D.数据库被删除后,则它所包含的表立刻成为自由表44创建数据库后,系统自动生成的三个文件的扩展名为。Apg
15、x .pjt .rpg Bsct .scx. .spxC .fpt .frx .fxp D .dbc .dct .dcx45逻辑删除当前表中的全部记录,应该使用命令_。A. PACK B. DELETE C. DELETE ALL D. ZAP46对 xsb.dbf 进行删除操作,下列四组命令中功能等价的是。 DELETE ALLDELETE ALLPACK ZAP 把文件拖放到回收站中A. B.C.D.47下列命令中,能够进行条件定位的命令是_。 A. SKIP B. GO C. LOCATE D. SEEK48如果要在数据库的两张表之间建立永久性关系,则至少要求在父表的结构复合索引文件中创
16、建一个,在子表的结构复合索引文件中创建任何类型的索引。A.主索引 B.数据库B.主索引和侯选索引 D.唯一索引49数据库表之间创建的永久关系保存在中。A.数据库表 B.数据库C.表设计器 D.数据环境设计器50下列关于表之间的永久关系和临时关系的描述中,错误的是。A. 如果两库表之间存在永久关系,只要打开表,永久关系就起作用B. 表关闭之后临时关系消失C. 永久关系只能建立于数据库表之间,而临时关系可以建立于各种表之间D. VFP 中临时关系不保存在数据库中。51下列关于表的索引的描述中,错误的是。A. 复合索引文件的扩展名为.cdxB. 结构复合索引文件随表的打开而自动打开C. 当对表进行编
17、辑修改时,系统对其结构复合索引文件中的所有索引自动进行维护D. 每张表只能创建一个主索引和一个侯选索引52对于自由表而言,不能创建的索引类型是。A.主索引 B.候选索引 C.普通索引 D.唯一索引53在多工作区操作中,如果选择了 1、3、5 号工作区并打开相应的表,在命令窗口执行命令 SELECT 0,其结果选择为当前工作区。A. 0 B. 1 C. 2 D. 454设有一张教师表 js,含有一个字符型字段 xb。下列命令中语法正确的是。A. DELETE FROM js WHERE xb=男B. DELETE TABLE js WHERE xb=男C. DELETE FROM js FOR
18、xb=男D. DELETE TABLE js FOR xb=男55打开一张有记录的表后,未作记录指针移动操作时 RECNO( )、BOF( ) 和 EOF( )函数的值分别为_。 A. 0、.T.和.T. B. 0、.T.和.F.C. 1、.T.和.T. D. 1、.F.和.F.56VFP 中数据库的参照完整性指的是_。A. 保证表中的主关键字取值确定的,唯一的B. 父表与子表之间的约束关系C. 根据用户需求自编代码保证数据正确性和完整性D. 为数据库表建立关联57命令 SELECT 0 的功能是_。A. 选择区号最小的空闲工作区B. 选择区号最大的空闲工作区C. 选择当前工作区的区号加 1
19、的工作区D. 随机选择一个工作区的区号58若所建立索引的字段值不允许重复,并且一个表只能创建一个,它应该是_。A. 主索引 B. 唯一索引 C. 候选索引 D. 普通索引59如果 XS 的 UPDATE 触发器设置为:xh=“01”(xh:学号),则表示。A.不许修改 01 级学生记录 B.不许删除 01 级学生记录C.只能修改 01 级学生记录 D.只许删除 01 级学生记录60在 VFP 系统中,如果指定二个表的参照完整性的删除规则为“忽略” ,则当删除父表中的记录时。A.系统自动备份父表中被删除记录到一个新表中B.若子表中有相关记录,则禁止删除父表中记录C.自动删除子表中所有相关记录D.
20、不作参照完整性检查,删除父表记录与子表无关61下面程序执行后,浏览窗口显示的表及其当前工作区号分别是。CLOSE TABLES ALLUSEjsSELECT 5USE js AGAINSELECT 0USE js AGAINBROWA.B、2 B. js、23 C. B、5 D.E、2二、填空题1Visual FoxPro 系统支持 3 种不同的索引文件,即索引文件、非结构复合索引文件和独立索引文件。2设在 1 号工作区中打开 XS 表,若要求在 2 号工作区中再次打开 XS 表且别名设置为 XUESHENG,则可使用命令:USE xs xuesheng IN 2 AGAIN 3利用 DBGE
21、TPROP()函数,可以获取当前数据库的属性设置信息,或当前数据库中的表、表字段或视图的属性设置信息。例如,要获取当前数据库 SJK 中 XS 表的 xb 字段的默认值,可以使用函数 DBGETPROP(“Xs.xb“,“Field“,“) 。4查看 xs 表中 xh 字段的有效性规则,可以使用下列命令:? dbgetprop(“xs.xh”,”,”RuleExpression”)5存放在数据字典中的各种描述信息,包括所有数据的结构名、存储格式、完整性约束、使用权限等信息,这些描述信息通常称为_。6对于包含备注型字段或字段的表来说,系统会自动生成和管理一个相应的备注文件,用于存储备注内容。备注
22、文件的文件名与表文件名相同,其扩展名为.fpt。7虽然结构复合索引文件是随表的打开而自动打开的,但复合索引中的任何一个索引都不会被自动设置为主控索引,此时,表中的记录任按记录的物理顺序显示和访问。要设置一张表的主控索引可以有两种方式:在打开表的同时打开索引,或打开表以后再设置主控索引。打开表以后再设置主控索引的命令为。8触 发 器 是 绑 定 在 表 上 的 逻 辑 表 达 式 , 当 表 中 的 任 何 记 录 被 指 定 的 操 作 命 令 操 作 时 , 触 发 器 被 激 活 。 触 发 器 的 返 回 值 为 .T.或 .F., 如 果 为 .F., 则 相应的操作。9教学管理数据库
23、中含有课程表(KC.DBF),该表中有以下字段:KCDH (课程代号 C) ,KCM(课程名 C) ,BXK (必修课否 L) ,XF(学分 N) 。现要为该表设置一个记录级的规则:学分大于 3 的课程均为必修课。相应的逻辑表达式是。10设教师(JS.DBF) 表中含有 100 个记录,运行下列程序后,显示记录个数是。【程序 2 清单】CLEARUSE JSSCAN?RECNO(),GH,XMSKIPENDSCANUSE11下列程序段中的后三条命令,可用一条功能等价的命令来实现,这条命令是。【程序清单】SELECT 1USE xsSELECT 0USE cjSELECT xs12利用 DBSE
24、TPROP()函数,可以设置当前数据库的属性,或设置当前数据库中表、表的字段和视图的有关属性。例如,要设置 JS 表中 gh 字段的标题属性,可以使用函数 DBSETPROP(“”, “FIELD”, “Caption”,”工号”) 。13在 VFP 中,系统规定:除了自由表的字段名、表的索引标识名至多只能个字符以外,其余的名称的长度可以长达 100多个字符。14利用 COPY 命令可以将当前工作区中的表复制成 Microsoft Excel 文件。若当前工作区中已打开 XS 表,则使用命令COPY TO xyz ,可以将 XS 表复制成 Excel 文件 xyz.xls。15 使 用 USE
25、 命 令 可 以 打 开 或 关 闭 表 。 如 果 XS 表 已 在 第 1 工 作 区 打 开 , 则 要 在 第 10 工 作 区 中 再 次 打 开 XS 表 ,可 使 用 命 令 USE xs IN 10。 16利用 DBGETPROP()函数,可以返回当前数据库的属性,或返回当前数据库中表、表的字段和视图的有关属性。例如,要得到 JS 表的记录级有效性规则,可以使用函数 DBGETPROP(“js”, “”, “RuleExpression”) 17在 VFP 中,系统规定:名称(如变量名、字段名、对象的属性名等)只能以字母、汉字或下划线等字符开头,不能以数字字符开头。系统预定义了
26、许多系统变量,它们的名称均以开头。18在 VFP 中创建一个数据库后,系统会生成三个文件:(数据库主文件) 、.dct(数据库备注文件)和.dcx(数据库索引文件) 。 19在设置表之间的参照完整性规则时,系统给定的更新和删除规则有 3 个,即级联、限制和忽略,而插入规则仅有 2 个,即。 20某公司人事档案表中包含一个出生日期字段(字段名为 csrq,类型为日期型) ,则根据“月日” (不包含“年份” )创建索引时,其索引表达式可以为。21使用 SETON|OFF 命令,可以指定 Visual FoxPro 系统是否处理做了删除标记的表记录。22某表含有两个字段:XX(字符型)和 YY(日期
27、型) 。若要创建一个索引,要求先根据 XX 字段排序,相同时再根据YY 字段排序,则索引表达式可以设置为 xx + 。23在两个数据库表之间创建永久性关系后,就可以创建它们之间的参照完整性规则。 在 VFP 中,参照完整性规则分为更新规则、规则和插入规则。24如果因误操作删除了某个数据库文件,由于数据库表仍然保留对该数据库引用的后链,因此这些数据库表也不能被添加到其他的数据库中。这时需要利用命令删除存储在数据库表中的后链,使之成为自由表。25用 INSERT-SQL 命令在 XS(学生)表中添加如下表格所示的记录,可使用命令:INSERT INTO xs(xh,jl,csrq) (“E9999
28、“,“获得三好学生称号“,1988/07/14)字段名与类型 XH(字符型) JL(备注型) CSRQ(日期型)值 E9999 获得三好学生称号 1988.07.14.26以独占方式打开 js 表的命令是 use js。27在 js 表中要删除所有工龄(字段名为 gl)大于 60 的纪录的 SQL 命令是:DELETE js WHERE 。28在 js 表中按如下要求更改基本工资( jbgz):工龄在 10 年以下(不含 10 年) 基本工资加 20工龄在 1019 年 基本工资加 35工龄在 20 年以上(含 20 年) 基本工资加 50可用一个 UPDATE 命令完成上述更改:UPDATE
29、 js jbgz=IIF(js.gl10, ,IIF(,jbgz+50,jbgz+35) )29执行下述命令后,被打开的数据库文件个数是个,被打开的表文件个数是个。(JS 表、XS 表、CJ 表均属于 SJK1 数据库)CLOSE DATABASE ALLOPEN DATABASE SJK1OPEN DATABASE SJK2OPEN DATABASE SJK3USE JSUSE XSUSE CJ30如果依次执行下列命令,则 xs 表在两个工作区中同时打开,其别名分别为 xs 和_。CLOSE DATABASE ALLUSE xsSELECT 20USE xs AGAIN31已知 xs 表的结
30、构复合索引中已创建 xh 字段的普通索引,索引标识为 xh,在没有设置主控索引的情况下,要用 SEEK命令定位到学号为“980101”的纪录上,则该命令为。32打开一张表时,索引文件将自动打开,表关闭时它将自动关闭。33通用型数据类型只能用于表中字段的定义,用于储存对象。34若要实现多字段排序,即先按班级(bj,N,1)顺序排序,同班的同学再按出生日期(csrq,D)顺序排序,同班且出生日期也相同的再按性别(xb,C,2)顺序排序,其索引表达式为。35记录的定位方式有定位、定位和条件定位三种。36已知一成绩表(score.dbf)的表结构如下:字段名 类型 宽度 含义Xh C 3 学号Qzcj
31、 N 3,0 期中成绩Qmcj N 3,0 期末成绩表中含有以下 3 条记录,按输入时的物理顺序排列如下:Xh Qzcj Qmcj001 85 73002 92 81003 80 87对该表已创建结构复合索引:索引顺序 索引名 索引表达式降序 Cj1 Qzcj+qmcj升序 Cj2 Str(qzcj)+str(qmcj)执行如下命令:USE score ORDER TAG cj1BROWSE则在浏览窗口中学号为“001”的记录在第行。再在命令窗口中执行命令:SET ORDER TO TAG cj2则在浏览窗口中学号为“001”的记录在第行。37xs.dbf 表中记录总数为 10,执行命令下列命
32、令后,RECCOUNT 函数的值为。USE XSDELETE NEXT 3SET DELETE ON38xs.dbf 表中记录总数为 20,执行命令下列命令后,显示的值为。USE XSGO BOTTSKIP? RECNO ()39执行下列一组命令后,显示的值是_。CLOSE TABLE ALLSELE 0USE XS ALIAS STUUSE JS IN 0? SELECT ()40执行下述命令后,被打开的表文件是_。X“XS.DBF/CJ.DBF/JS.DBF”Y“/”LAT ( “/”,X )1FSUBSTR(X,L,2)USE F41打开表文件的命令是_。42在 Visual FoxPr
33、o 中,要设置参照完整性规则,必须事先建立表之间的 _。43设职工(zg)表中含有 2 个日期型字段:参加工作日期(cjgzrq)和出生日期(csrq ) 。若要创建一个索引,要求先根据参加工作日期排序,参加工作日期相同时根据出生日期排序,则索引表达式为_。3、按照要求写出相应的命令。已知:(1)学生表 XS.DBF 包含字段 XH,XM ,XB,XZYDM 分别表示学生的学号、姓名、性别、系专业代码。(2)成绩表 CJ.DBF 包含字段 XH,KCDM ,CJ 分别表示学号、课程代码和成绩。(3)院系专业 YXZY.DBF 包含 XZYDM、YXMC 和 ZYMC,分别表示系专业代码、院系名
34、称和专业名称。(4)工资表 GZ.DBF 包含字段 GH,JBGZ 分别表示工号和基本工资。1创建一个教师表(js.dbf) ,其中有字段 gh(字符型,长度为 8) 、xm(字符型,长度为 10) 、csrq(日期型) 、bz(备注型,且允许为 NULL 值) 。2删除 JS 表中年龄超过 60 岁的所有教师的记录。3将工资表中 GH 以“A”开头的基本工资加 200。4为院系专业表插入一条新纪录:系专业代码为“0015” ,院系名称为“信息科学系” ,专业名称为“人工智能” 。5创建一个课程表(kc.dbf),其中有字段 KCDM(字符型,长度为 4)、KCM( 字符型,长度为 18)、K
35、SS(数值型,长度为 2)、BXK(逻辑型) 。6将学号为“950106” ,课程代码为“06” ,成绩为“80”的记录从成绩表删除中。7更新成绩表 CJ.DBF 的 CJ 字段的值,要求 90 分以下的新成绩为原成绩的 1.1 倍,90 分及以上的同学新成绩都为 100分。8将学号为“950106” ,课程代码为“02” ,成绩为“85”的记录插入到成绩表中。9将 CJ(成绩表)中学号为 “990102”、课程代码为“02”的学生的成绩改为:90。10删除成绩表中成绩不及格的所有记录。11将教师表“gh”字段的长度由“8”改为“4” 。12将“bz”字段从教师表删去。13设置学生表“性别”字段的默认值为“男” 。14把 JL(备注型 M 允许为 NULL 值)字段添加到 JS 表中。15把 CSRQ(出生日期,字符型)字段添加到 XS 表中。16把 ZP(照片,通用型)字段添加到 XS 表中。17将工资表的 JBGZ 字段长度改为由 5 位整数和 2 位小数组成。18设置学生表的有效性规则为必须年满 16 岁才能入学。19将工资表的“jbgz”改名为“sfgz” 。20删除学生表的有效性规则。