南昌大学数据库管理系统课后习题汇总

更新时间:2024-06-04 19:14:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

习题一

一、单选题

1. 数据库系统与文件系统的最主要区别是(B) A) 数据库系统复杂,而文件系统简单

B) 文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决 C) 文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件 D) 文件系统管理的数据量较小,而数据库系统可以管理庞大的数据量

2. 数据库(DB)、数据库系统(DBS)、数据库管理系统(DBMS)三者之间的关系是(A) A) DBS包括DB和DBMS B) DBMS包括DB和DBS

C) DB包括DBS和DBMS D) DBS就是DB,也就是DBMS 3. 数据库系统的核心是(B)

A)数据模型 B)数据库管理系统 C)数据库 D)数据库管理员 4. Visual FoxPro DBMS 是(B)

A)操作系统的一部分 B)操作系统支持下的系统软件 C)一种编译程序 D) 一种操作系统 5. Visual FoxPro支持的数据模型是(B)

A)层次数据模型 B)关系数据模型 C)网状数据模型 D)树状数据模型 6. Visual FoxPro是一种关系型数据库管理系统,这里关系通常是指(C)

A)数据库文件(dbc文件) B)一个数据库中两个表之间有一定的关系 C)表文件(dbf文件) D)一个表文件中两条记录之间有一定的关系

7. 在Visual FoxPro中“表”是指(B)

A) 报表 B) 关系 C) 表格 D) 表单 8. 对于“关系”的描述,正确的是(D) A) 同一个关系中允许有完全相同的元组 B) 同一个关系中元组必须按关键字升序存放

C) 在一个关系中必须将关键字作为该关系的第一个属性 D) 同一个关系中不能出现相同的属性名

9. Visual FoxPro关系数据库管理系统能够实现的三种基本关系运算是(C) A)索引、排序、查找 B)建库、录入、排序 C)选择、投影、联接 D)显示、统计、复制 10. 从关系模式中指定若干个属性组成新的关系的运算称为(B)

A)联接 B)投影 C)选择 D) 排序 11. 关系运算中的选择运算是(A)

A) 从关系中找出满足给定条件的元组的操作 B) 从关系中选择若干个属性组成新的关系的操作 C) 从关系中选择满足给定条件的属性的操作 D) A和B都对

12. 如果一个学生可以选择多门课程,而且每门课程可以被多个学生选择,则学生和课程两

个实体之间的关系属于(C)

A) 一对一联系 B) 多对一联系

C) 多对多联系 D) 一对多联系 13. 在Visual FoxPro的项目管理器中不包括的选项卡是(D)

A)数据 B)文档 C) 类 D)表单 14. 打开Visual FoxPro\项目管理器\的\文档\(Docs)选项卡,其中包含(D) A) 表单(Form)文件 B) 报表(Report)文件 C) 标签 D) 以上三种文件

二、填空题

1. 数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立

性最高的阶段是数据库系统。

2. 在关系数据库中,把数据表示成二维表,每一个二维表称为 关系 。 3. 在关系数据库中,二维表的列称为 属性,二维表的行称为元组。

4. 在关系模型中,“关系中不允许出现相同元组”的约束是通过 关键字 实现的。 5. 在Visual FoxPro中,项目文件的扩展名是 pjx 。

6. 项目管理器的 数据 选项卡用于显示和管理数据库、自由表和查询等。 7. 可以在项目管理器的 代码 选项卡下建立命令文件 。

习题二

一、单选题

1. 在下面的数据类型中默认值为.F.的是(C) A)数值型 B)字符型 C)逻辑型 D)日期型 2. Visual FoxPro内存变量的数据类型不包括(D) A)字符型 B)货币型 C)数值型 D)通用型

3. 执行命令A=2008/5/1,B={^2008/5/1},C=”2008-5-1”之后,内存变量A,B,C的数据类型分

别是(A) A)N,D,C B)N,D,D C)D,D,C D)C,D,C 4. 使用命令DECLARE aa(3,4)定义的数组,aa包含的数组元素(下标变量)的个数为(D) A)3个 B)4个 C)7个 D)12个 5. 下面关于Visual FoxPro数组的叙述中,错误的是(C)

A) 用DIMENSION和DECLARE都可以定义数组 B) Visual FoxPro只支持一维数组和二维数组

C) 一个数组中各个数组元素必须是同一种数据类型 D) 新定义数组的各个数组元素初值为.F. 6. 下列表达式的输出结果为真的是(D)

A)?ABC?>?ACB? B)DATE()+52^3*2 7. 设A1=10,A2=20,A3=”A1+A2”,表达式&A3+5的结果是(C)

A)1025 B)10205 C)35 D)205 8. 在下面的Visual FoxPro表达式中,不正确的是(C)

A){^2008-05-01 10:10:10 AM}-10 B){^2008-05-01}-DATE() C){^2008-05-01}+DATE() D){^2008-05-01}+1000 9. 下列函数中函数值为字符型的是(B)

10.

11.

12. 13. 14.

15.

A)DATE() B)TIME() C)YEAR() D)DATETIME() 连续执行以下命令之后,表达式的输出结果为真的是(A) SET EXACT OFF

X=\湖南大学□\□表示空格) A)X=”湖南” B)”湖南”=X C)”大学”=X D)”湖南大学”=X 有如下赋值语句,结果为“大家好”的表达式是(D) a=“你好” b=“大家”

A)b+LEFT(a,2) B)b+RIGHT(a,1) C)b+ SUBSTR(a,1,2) D)b+RIGHT(a,2) 表达式LEN(ALLT(SPACE(10)))的运算结果是(C) A)NULL B)10 C)0 D)\设X=10, 语句 ?VARTYPE (\的输出结果是(B) A)N B)C C)10 D)X 下面的表达式中,结果为逻辑假的是(B) A)EMPTY(SPACE(5)) B)ISNULL(0) C)LIKE(?abc??,?abcd?) D)BETWEEN(40,34,50) 下列表达式的结果为字符型的是(C) A) OCCURS(?A?,?ABCABC?) B)CTOD(?01/01/08?) C) DTOC(DATE()) D)ROUND(123.45,1)

二、填空题

1. 2. 3. 4.

表示“2008年10月1日”的日期常量应改写为 {^2008-10-1} 。 LEFT(“123456789”,LEN(“数据库”))的计算结果是 123456 。

表达式STUFF(\的运算结果是 GOODGIRL 。 表达式IIF(AT(?FOX?,?VISUALFOX?)<5,?VISUAL□?+?FOX?, ?VISUAL□?-?FOX?)) 的运算结果是 VISUALFOX 。(□表示空格)

5. 表达式STR(VAL(?123.4ABC5?),3) 的计算结果是 123 。

习题三

一、单选题

1. 在Visual FoxPro中以下叙述错误的是 D A)关系也被称作数据表

B)数据库文件不存储用户数据

C)数据库文件用来组织和管理相互联系的多个数据表及相关的数据库对象。 D)多个数据表存储在一个物理文件中 2. 在Visual FoxPro中,表结构中的逻辑型、备注型、日期型字段的宽度由系统自动给出,

它们分别为 A A)1、4、8 B)4、4、10 C)1、10、8 D)2、8、8

3. 在Visual FoxPro中,学生表STUDENT中包含有通用型字段简介,表中通用型字段中

的数据均存储到另一个文件中,该文件名为 D A)简介.FPT B)STUDENT.DBF C)简介.DBT D)STUDENT.FTP 4. 在Visual FoxPro中,存储图象的字段类型应该是 B A)备注型 B)通用型 C)字符型 D)双精度型 5. 在Visual FoxPro中,下列关于表的叙述正确的是 C

A)在数据库表和自由表中,都能给字段定义有效性规则和默认值 B)自由表不能建立候选索引

C)自由表加入到数据库中,可以变为数据库表 D)一个自由表加入到多个数据库中 6. 在Visual FoxPro中,建立数据库表时,将年龄字段值限制在18之上的这种约束属于 B A)实体完整性约束 B)域完整性约束 C)参照完整性约束 D)视图完整性约束

7. 通过指定字段的数据类型和宽度来限制该字段的取值范围,这属于数据完整性中 C A)参照完整性约束 B)实体完整性约束 C)域完整性约束 D)字段完整性约束 8. 数据库表可以设置默认值,默认值是 D A)逻辑表达式 B)字符表达式 C)数值表达式 D)以上都不对

9. 在Visual FoxPro 中,创建一个名为SDB.DBC的数据库文件,使用的命令是 D A)CREATE B)CREATE SDB C)CREATE TABLE SDB D)CREATE DATABASE SDB 10. 打开数据库abc的正确命令是 A A)OPEN DATABASE abc B)USE abc C)USE DATABASE abc D)OPEN abc 11. 使数据库表变为自由表的命令是 B A)DROP TABLE B)REMOVE TABLE C)FREE TABLE D)RELEASE TABLE

12. 在Visual FoxPro中,调用表设计器建立数据库表STUDENT.DBF的命令是 C A)MODIFY STRUCTURE STUDENT B)MODIFY COMMAND STUDENT C)CREATE STUDENT D)CREATE TABLE STUDENT 13. 要为当前表所有职工增加100元工资应该使用命令 D A)CHANGE 工资 WITH 工资+100 B)REPLACE 工资 WITH 工资+100 C)CHANGE ALL 工资 WITH 工资+100 D)REPLACE ALL 工资 WITH 工资+100

14. 在Visual FoxPro中,使用LOCATE FOR 命令按条件查找记录,当查找到满足

条件的第一条记录后,如果还需要查找下一条满足条件的记录,应使用 C A)再次使用LOCATE FOR 命令 B)SKIP命令 C)CONTINUE 命令 D)GO命令

15. 当前打开的图书表中有字符型字段“图书号”,要求将图书号以字母A开头的图书记录

全部打上删除标记,通常可以使用命令 A A)DELETE FOR 图书号=\ B)DELETE WHILE 图书号=\C)DELETE FOR 图书号=\ D)DELETE FOR 图书号 LIKE \

16. 在Visual FoxPro中,建立索引的作用之一是 C A)节省存储空间 B)便于管理 C)提高查询速度 D)提高查询和更新的速度 17. 下面有关索引的描述正确的是 C

A)建立索引以后,原来的数据库表文件中记录的物理顺序将被改变 B)索引与数据库表的数据存储在一个文件中

C)创建索引是创建一个指向数据库表文件记录的指针构成的文件 D)使用索引并不能加快对表的查询操作

18. 可以伴随着表的打开而自动打开的索引是 C A)单一索引文件(IDX) B)复合索引文件(CDX) C)结构化复合索引文件 D)非结构化复合索引文件

19. 若所建立索引的字段值不允许重复,并且一个表中只能创建一个,它应该是 A A)主索引 B)唯一索引 C)候选索引 D)普通索引 20. 不允许记录中出现重复索引值的索引是 C A)主索引 B)主索引、候选索引、普遍索引 C)主索引和候选索引 D)主索引、候选索引和唯一索引 21. 以下关于主索引和侯选索引的叙述正确的是 A A)主索引和侯选索引都能保证表记录的惟一性

B)主索引和侯选索引都可以建立在数据库表和自由表上 C)主索引可以保证表记录的惟一性,而侯选索引不能 D)主索引和侯选索引是相同的概念

22. 在表设计器的“字段”选项卡中可以创建的索引是 D A)唯一索引 B)候选索引 C)主索引 D)普通索引

23. 在创建数据库表结构时,给该表指定了主索引,这属于数据完整性中的 B A)参照完整性 B)实体完整性 C)域完整性 D)用户定义完整性

24. 用命令\姓名 TAG index_name \建立索引,其索引类型是 C A)主索引 B)候选索引 C)普通索引 D)唯一索引

25. 用命令“INDEX ON 姓名 TAG index_name UNIQUE”建立索引,其索引类型是 D A)主索引 B)候选索引 C)普通索引 D)唯一索引

26. 执行命令\姓名 TAG index_name \建立索引后,下列叙述错误的是 B A)此命令建立的索引是当前有效索引

B)此命令所建立的索引将保存在.idx文件中 C)表中记录按索引表达式升序排序

D)此命令的索引表达式是\姓名\,索引名是\27. 不论索引是否生效,定位到相同记录上的命令是 C A) GO TOP B) GO BOTTOM C) GO 6 D)SKIP 28. 打开表并设置当前有效索引(相关索引已建立)的正确命令是 B A) ORDER student IN 2 INDEX 学号 B)USE student IN 2 ORDER 学号 C) INDEX 学号 ORDER student D) USE student IN 2 29. 有一学生表文件,且通过表设计器已经为该表建立了若干普通索引,其中一个索引的索

引表达式为姓名字段,索引名为XM。现假设学生表已经打开,且处于当前工作区中,那么可以将上述索引设置为当前索引的命令是 D

A)SET INDEX TO 姓名 B) SET INDEX TO XM C)SET ORDER TO 姓名 D) SET ORDER TO XM

30. 要控制两个表中数据的完整性和一致性可以设置\参照完整性\,要求这两个表 A A)是同一个数据库中的两个表 B)不同数据库中的两个表 C)两个自由表 D)一个是数据库表另一个是自由表

31. 设有两个数据库表,父表和子表之间是一对多的联系,为控制子表和父表的关联,可以

设置“参照完整性规则”,为此要求这两个表 B

A)在父表连接字段上建立普通索引,在子表连续字段上建立主索引 B)在父表连接字段上建立主索引,在子表连续字段上建立普通索引

C)在父表连接字段上不需要建立任何索引,在子表连接字段上建立普通索引 D)在父表和子表的连接字段上都要建立主索引 32. Visual FoxPro参照完整性规则不包括 B A)更新规则 B)查询规则 C)删除规则 D)插入规则

33. 在Visual FoxPro中进行参照完整性设置时,要想设置成:当更改父表中的主关键字段

或候选关键字段时,自动更改所有相关子表记录中的对应值。应选择 C A)限制(Restrict) B)忽略(Ignore) C)级联(Cascade) D)级联(Cascade)或限制(Restrict) 34. 有关参照完整性的删除规定,正确的描述是 C

A)如果删除规则选择的是“限制“,则当用户删除父表中的记录时,系统将自动删除子表中的所有相关记录。

B)如果删除规则选择的是“级联“,则当用户删除父表中的记录时,系统将禁止删除子表相关的父表中的记录。

C)如果删除规则选择的是“忽略“,则当用户删除父表中的记录时,系统不负责做任何工作。 D)上面三种说法都不对

35. Visual FoxPro的“参照完整性”中“插入规则“包括的选择是 D A)级联和忽略 B)级联和删除 C)级联和限制 D)限制和忽略 36. 命令SELECT 0的功能是 A A)选择编号最小的空闲工作区 B)选择编号最大的空闲工作区 C)随机选择一个工作区的区号 D)无此工作区,命令错误 37. 执行下列一组命令之后,选择\职工\表所在工作区的错误命令是 B

CLOSE ALL USE 仓库 IN 0 USE 职工 IN 0 A)SELECT 职工 B)SELECT 0 C)SELECT 2 D)SELECT B 38. 在Visual FoxPro的数据工作期窗口,使用SET RELATION命令可以建立两个表之间的

关联,这种关联是 C A)永久性关联 B)永久性关联或临时性关联 C)临时性关联 D)永久性关联和临时性关联

39. 两表之间\临时性\联系称为关联,在两个表之间的关联已经建立的情况下,有关\关联\

的正确叙述是 C

A)建立关联的两个表一定在同一个数据库中

B)两表之间\临时性\联系是建立在两表之间\永久性\联系基础之上的

C)当父表记录指针移动时,子表记录指针按一定的规则跟随移动 D)当关闭父表时,子表自动被关闭

40. 下面有关表间永久联系和关联的描述中,正确的是 B A)永久联系中的父表一定有索引,关联中的父表不需要有索引 B)无论是永久联系还是关联,子表一定有索引

C)永久联系中子表的记录指针会随父表的记录指针的移动而移动 D)关联中父表的记录指针会随子表的记录指针的移动而移动

二、填空题

1. 数据库文件的扩展名是 DBC ,数据库表文件的扩展名是 DBF ,自由表的扩展

名是 DBF 。

2. 打开数据库设计器的命令是MODIFY DATABASE 。

3. 在定义字段有效性规则时,在规则框中输入的表达式类型是 逻辑型 。 4. 在Visual FoxPro中,相当于主关键字的索引是 主索引

5. 在数据表student的表设计器中所建立的索引存放在结构化复合索引中,该文件名为

student.cdx 。

习题四

一、单选题

1. 在SQL SELECT语句中用于实现关系的选择运算的短语是 C A)FOR B)WHILE C)WHERE D)CONDITION 2. 以下有关SQL的SELECT语句的叙述中,正确的是 D A) SELECT子句中只能包含表中的字段,不能使用表达式 B) SELECT子句中列的顺序应该与表中列的顺序一致 C) SELECT子句中的AS短语用来规定数据表的别名

D) 当SELECT子句中的字段是FROM短语后的多个数据表的公共字段,则应在字段前面加上数据表的别名。

3. 查询订购单号(字符型,长度为4)尾字符是\的错误命令是 C A)SELECT * FROM 订单 WHERE SUBSTR(订购单号,4)= \B)SELECT * FROM 订单 WHERE SUBS TR(订购单号,4,1)=\C)SELECT * FROM 订单 WHERE \订购单号

D)SELECT * FROM 订单 WHERE RIGH T(订购单号,1)=\

4. 在SQL语句中,与表达式“湖南”$地址功能相同的表达式是 A

A) 地址LIKE“%湖南%” B) LEFT(地址,4)=“湖南” C) 地址IN“%湖南%” D) AT(地址,“湖南”)>0 5. 在SQL语句中,与表达式商品名称 NOT IN(\电视机\冰箱\)\功能相同的表达式是 C A)商品名称=\电视机\商品名称=\冰箱\B)商品名称=\电视机\商品名称=\冰箱\C)商品名称!=\电视机\商品名称!=\冰箱\D)商品名称<>\电视机\商品名称<>\冰箱\

6. 使用SQL语句进行分组检索时,为了去掉不满足条件的分组,应当 B

A)使用WHERE子句

B)在GROUP BY后面使用HAVING 子句

C)先使用WHERE子句,再使用HAVING 子句。 D)先使用HAVING 子句,再使用WHERE子句 (7)~(13)使用的数据表如下三个表:

职员.DBF:职员号 C(3),姓名 C(6),性别 C(2),组号 N(1),职务 C(10) 客户.DBF:客户号 C(4),客户名 C(36),地址 C(36),所在城市 C(36)

订单.DBF:订单号 C(4),客户号 C(4),职员号 C(3),签订日期 D,金额 N(6.2) 7. 查询金额最大的那10%订单的信息。正确的SQL语句是 D A)SELECT * TOP 10 PERCENT FROM订单

B)SELECT TOP 10% * FROM订单 ORDER BY 金额

C)SELECT * TOP 10 PERCENT FROM订单ORDER BY 金额

D)SELECT TOP 10 PERCENT * FROM订单ORDER BY 金额 DESC 8. 查询订单数在3个以上、订单的平均金额在200元以上的职员号。正确的SQL语句是 B A)SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)>3 AND AVG_金额>200

B)SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)>3 AND AVG(金额)>200

C)SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)>3 WHERE AVG(金额)>200

D)SELECT 职员号 FROM 订单 GROUP BY 职员号 WHERE COUNT(*)>3 AND AVG_金额>200

9. 显示2005年1月1日后签订的订单,显示订单的订单号、客户以及签定日期。正确的

SQL语句是 A

A)SELECT 订单号,客户名,签订日期 FROM 订单JOIN 客户 ON 订单.客户号=客户.客户号 WHERE 签订日期>{^2005-1-1}

B)SELECT 订单号,客户名,签订日期 FROM 订单JOIN 客户 WHERE 订单.客户号=客户.客户号 AND 签订日期>{^2005-1-1}

C)SELECT 订单号,客户名,签订日期 FROM 订单,客户 WHERE 订单.客户号=客户.客户号 AND 签订日期<{^2005-1-1}

D)SELECT 订单号,客户名,签订日期 FROM 订单,客户 ON 订单.客户号=客户.客户号 AND 签订日期<{^2005-1-1}

10. 显示没有签订任何订单的职员信息(职员号和姓名),正确的SQL语句是 C A)SELECT 职员.职员号,姓名FROM 职员JOIN 订单

ON 订单.职员号=职员.职员号 GROUP BY 职员.职员号 HAVING COUNT(*)=0 B)SELECT 职员.职员号,姓名FROM 职员 LEFT JOIN 订单

ON 订单.职员号=职员.职员号 GROUP BY 职员.职员号 HAVING COUNT(*)=0 C)SELECT职员号,姓名FROM 职员

WHERE 职员号 NOT IN (SELECT 职员号 FROM 订单) D)SELECT 职员.职员号,姓名FROM 职员

WHERE 职员.职员号<>(SELECT 订单.职员号 FROM 订单) 11. 有以下SQL语句:

SELECT 订单号,签订日期,金额FROM 订单,职员 WHERE 订单.职员号=职员.职员号AND 姓名=“李二“ 与如上语句功能相同的SQL语句是 B

A)SELECT 订单号,签订日期,金额FROM 订单

WHERE EXISTS (SELECT * FROM 职员 WHERE 姓名=“李二“) B)SELECT 订单号,签订日期,金额FROM 订单WHERE

EXISTS (SELECT * FROM 职员 WHERE 职员号=订单.职员号 AND 姓名=“李二“) C)SELECT 订单号,签订日期,金额FROM 订单

WHERE IN ( SELECT 职员号 FROM 职员 WHERE 姓名=“李二“) SELECT 订单号,签订日期,金额FROM 订单WHERE D)SELECT 订单号,签订日期,金额FROM 订单WHERE

IN (SELECT 职员号 FROM 职员 WHERE 职员号=订单.职员号 AND 姓名=“李二“) 12. 从订单表中删除客户号为“1001“的订单记录,正确的SQL语句是 C A)DROP FROM 订单 WHERE 客户号=“1001“ B)DROP FROM 订单 FOR 客户号=“1001“ C)DELETE FROM 订单 WHERE 客户号=“1001“ D)DELETE FROM 订单FOR 客户号=“1001“

13. 将订单号为“0060“的订单金额改为169元,正确的SQL语句是 A A)UPDATE 订单 SET 金额=169 WHERE 订单号=“0060“ B)UPDATE 订单 SET 金额 WITH 169 WHERE 订单号=“0060“ C)UPDATE FROM 订单 SET 金额=169 WHERE 订单号=“0060“

D)UPDATE FROM 订单 SET 金额WITH 169 WHERE 订单号=“0060“ (14)~(21)使用的数据表如下:

当前盘当前目录下有数据库:大奖赛 dbc,其中有数据库表“歌手 dbf”、“评分 dbf” “歌手”表: 歌手号 1001 2001 3001 4001 …… 姓名 王蓉 许巍 周杰伦 林俊杰 “评分”表: 歌手号 1001 2001 3001 4001 …… 分数 9.8 9.6 9.7 9.8 评委号 101 102 103 104

14. 为“歌手”表增加一个字段“最后得分”的 SQL 语句是__A______。 A)ALTER TABLE 歌手 ADD 最后得分 F(6,2) B)ALTER DBF 歌手 ADD 最后得分 F 6,2

C)CHANGE TABLE 歌手 ADD 最后得分 F(6,2) D)CHANGE TABLE 学院 INSERT 最后得分 F 6,2

15. 插入一条记录到“评分”表中,歌手号、分数和评委号分别是“1001”、9.9 和“105”,正确

的 SQL 语句是__C______。

A)INSERT VALUES(“1001”,9“105”)INTO 评分(歌手号,分数,评委号) B)INSERT TO 评分(歌手号,分数,评委号)VALUES(“1001”,9.9“105”)

C)INSERT INTO 评分(歌手号,分数,评委号)VALUES(“1001”,9.9,“105”) D)INSERT VALUES(“100”9.9“105”)TO 评分(歌手号,分数,评委号)

16. 假设每个歌手的“最后得分”的主算方法是,去掉一个最高分生个最低分,取剩下分数的

平均分。根据“评分”表求每个歌手的“最后得分”并存储于表 TEMP 中。表 TEMP中有两个字段:“歌手号”和“最后得分”,并且按最后得分降序排列,生成表 TEMP 的 SQL语句是__D______。

A)SELECT 歌手号,(COUNT(分数)- MAX(分数)-MIN(分数))/(SUM(*)-2)最后得分;FROM 评分 INTO DBF TEMP GROUP BY 歌手号 ORDER BY 最后得分DESC

B)SELECT 歌手号,(COUNT(分数)-MAX(分数)-MIN(分数))/(SUM(*)-2)最后得分;FROM 评分 INTO DBF TEMP GROUP BY 评委号 ORDER BY 最后得分DESC

C)SELECT 歌手号,(SUM(分数)-MAX(分数)-MIN(分数))/(COUNT(*)-2)最后得分;FROM 评分 INTO DBF TEMP GROUP BY 评委号 ORDER BY 最后得分DESC

D)SELECT 歌手号,(SUM(分数)-MAX(分数)-MIN(分数))/(COUNT(*)-2)最后得分;FROM评分INTO DBF TEMP GROUP BY歌手号ORDER BY最后得分DESC 17. 与“SELECT * FROM*歌手 WHERE NOT(最后得分>9.00 OR 最后得分<8.00)”等价

的语句是__B______。

A)SELECT * FROM 歌手 WHERE 最后得分 BETWEEN 9.00 AND 8.00 B)SELECT * FROM 歌手 WHERE 最后得分>=8.00 AND 最后得分<=9.00 C)SELECT * FROM 歌手 WHERE 最后得分>9.00 OR 最后得分<8.00 D)SELECT * FROM 歌手 WHERE 最后得分<=8.00 AND 最后得分>=9.00

18. 为“评分”表的“分数”字段添加有效性规则:“分数必须大于等于 0 并且小于等于10”,

正确的 SQL 语句是___B_____。

A)CHANGE TABLE 评分 ALTER 分数 SET CHECK 分数>=0 AND 分数<=10 B)ALTER TABLE 评分 ALTER 分数 SET CHECK 分数>=0 AND 分数<=10 C)ALTER TABLE 评分 ALTER 分数 CHECK 分数>=0 AND 分数<=10

D)CHANGE TABLE 评分 ALTER 分数 SET CHECK 分数>=0 OR 分数<=10

19. 根据“歌手”表建立视图 myview,视图中含有包括了“歌手号”左边第一位是“1”的所有记

录,正确的 SQL 语句是___A_____。

A)CREATE VIEW myview AS SELECT * FROM 歌手 WHERE LEFT(歌手号,1)=“1” B)CREATE VIEW myview AS SELECT * FROM 歌手 WHERE LIKE(“1”歌手号) C)CREATE VIEW myview SELECT * FROM 歌手 WHERE LEFT(歌手号,1)=“1” D)CREATE VIEW myview SELECT * FROM 歌手 WHERE LIKE(“1”歌手号) 20. 删除视图 myview 的命令是___D_____。 A)DELETE myview VIEW B)DELETE myview C)DROP myview VIEW D)DROP VIEW myview

21. 假设 temp. dbf 数据表中有两个字段“歌手号”和“最后得分”下面程序的功能是:将

temp. dbf 中歌手的“最后得分”填入“歌手”表对应歌手的“最后得分”字段中(假设已增加了该字段)在下线处应该填写的 SQL 语句是_B_______。 USE 歌手

DO WHILE . NOT. EOF()

REPLACE 歌手最后得分 WITH a[2]

SKIP ENDDO

A)SELECT * FROM temp WHERE temp.歌手号=歌手.歌手号 TO ARRAY a B)SELECT * FROM temp WHERE temp.歌手号=歌手.歌手号 INTO ARRAY a C)SELECT * FROM temp WHERE temp.歌手号=歌手.歌手号 TO FILE a D)SELECT * FROM temp WHERE temp.歌手号=歌手.歌手号 INTO FILE a

与“SELECT DISTINCT”歌手号 FROM 歌手 WHERE 最后得分>ALL (SELECT 最后得分 FROM)歌手 WHERE SUBSTR(歌手号,1,1)=“2”)等价的 SQL语句是__A______。 A)SELECT DISTINCT 歌手号 FROM 歌手 WHERE 最后得分>=(SELECT MAX(最后得分)FROM 歌手 WHERE SUBSTR (歌手号,1,1)=“2”)

B)SELECT DISTINCT 歌手号 FROM 歌手 WHERE 最后得分>=(SELECT MIN(最后得分)FROM 歌手 WHERE SUBSTR (歌手号,1,1)=“2”)

C)SELECT DISTINCT 歌手号 FROM 歌手 WHERE 最后得分>=ANY(SELECT MAX(最后得分)FROM 歌手 WHERE SUBSTR (歌手号,1,1)=“2”)

D)SELECT DISTINCT 歌手号 FROM 歌手 WHERE 最后得分>=SOME(SELECT MAX (最后得分)FROM 歌手 WHERE SUBSTR (歌手号,1,1)=“2”) 22-30题使用的数据如下:

当前盘当前目录下有数据库db_stock,其中有数据库表stock.dbf,该数据库表的内容是: 股票代码 600600 600601 600602 600603 600604 600605 000001 000002 股票名称 青岛啤酒 方正科技 广电电子 兴业房产 二纺机 轻工机械 深发展 深万科 单价 7.48 15.20 10.40 12.76 9.96 14.59 7.48 12.50 交易所 上海 上海 上海 上海 上海 上海 深圳 深圳 22. 执行如下SQL语句后

SELECT * FROM stock INTO DBF stock ORDER BY 单价 A A) 系统会提示出错信息

B) 会生成一个按“单价”升序排序的表文件,将原来的stock.dbf文件覆盖 C) 会生成一个按“单价”降序排序的表文件,将原来的stock.dbf文件覆盖 D) 不会生成排序文件,只在屏幕上显示一个按“单价”升序排序的结果

23. 如果在建立数据库表stock.dbf时,将单价字段的字段有效性规则设为“单价>0”,通

过该设置,能保证数据的 B A) 实体完整性 B) 域完整性 C) 参照完整性 D) 表完整性 24. 在当前盘当前目录下删除表stock的命令是 C A) DROP stock B) DELETE TABLE stock C) DROP TABLE stock D) DELETE stock 25. 有如下SQL语句

SELECT max(单价) INTO ARRAY a FROM stock 执行该语句后 A

A) a[1]的内容为15.20 B) a[1]的内容为6 C) a[0]的内容为15.20 D) a[0]的内容为6 26. 有如下SQL语句

SELECT 股票代码,avg(单价) as 均价 FROM stock; GROUP BY 交易所 INTO DBF temp

执行该语句后temp表中第二条记录的“均价”字段的内容是 B A) 7.48 B) 9.99 C) 11.73 D) 15.20 27. 将stock表的股票名称字段的宽度由8改为10,应使用SQL语句 C A) ALTER TABLE stock股票名称 WITH c(10) B) ALTER TABLE stock股票名称 c(10)

C) ALTER TABLE stock ALTER股票名称 c(10) D) ALTER stock ALTER 股票名称 c(10) 28. 有如下SQL语句

CREATE VIEW stock_view AS SELECT * FROM stock WHERE 交易所=“深圳” 执行该语句后产生的视图包含的记录个数是 B A) 1 B) 2 C) 3 D) 4 29. 有如下SQL语句

CREATE VIEW view_stock AS SELECT 股票名称AS名称,单价FROM stock 执行该语句后产生的视图含有的字段名是 B A) 股票名称、单价 B) 名称、单价 C) 名称、单价、交易所 D) 股票名称、单价、交易所 30. 执行如下SQL语句后

SELECT DISTINCT 单价 FROM stock;

WHERE 单价=( SELECT min(单价)FROM stock) INTO DBF stock_x 表stock_x中的记录个数是 B A) 1 B) 2 C) 3 D) 4

二、填空题

1. SQL SELECT语句中的WHERE短语用于实现关系的选择操作。

31. 在SQL的SELECT 查询中使用DISTINCT短语消除查询结果中的重复记录。

1. 在SQL的SELECT语句将查询结果存储在一个临时表中,应该使用INTO TABLE子句。

2. 设有学生选课表SC(学号,课程号,成绩),用SQL语言检索每门课程的课程号

及平均分的语句是 SELECT 课程号,AVG(成绩) FROM SC GROUP BY 课程号

3. 在SQL的嵌套查询中,量词ANY和SOME是同义词。

4. 设有S(学号,姓名,性别)和SC(学号,课程号,成绩)两个表,下面SQL的SELECT语

句检索选修的每门课程的成绩都高于或等于85分的学生的学号、姓名和性别SELECT 学号,姓名,性别 FROM S; WHERE NOT EXIST;

(SELECT * FROM SC WHERE SC.学号=S.学号 AND 成绩<85) 5. 如下命令将“产品”表的“名称”字段名修改为“产品名称”:

ALTER TABLE 产品RENAME名称 TO 产品名称。 6. SQL支持集合的并运算,运算符是UNION。

7. 在SQL的CAEATA TABLE 语句中,为属性说明取值范围(约束)的是CHECK短语。

8. 使用SQL 的CREATE TABLE 语句建立数据库表时,使用PRIMARY KEY子句说明主索引。

习题五

一、单选题

1. 以纯文本形式保存结果的设计器是 A A)查询设计器 B)表单设计器 C)菜单设计器 D)以上三种都不是 2. 查询设计器中\联接\选项卡对应的SQL短语是 B A)WHERE B)JOIN C)SET D)ORDER BY 3. 下面关于查询描述正确的是 C

A)可以使用CREATE VIEW打开查询设计器

B)使用查询设计器可以生成所有的SQL查询语句

C)使用查询设计器生产的SQL语句存盘后将存放在扩展名为QPR的文件中 D)使用DO语句执行查询时,可以不带扩展名 4. 以下关于查询的描述正确的是 D A)查询保存在项目文件中 B)查询保存在数据库文件中 C)查询保存在表文件中 D)查询保存在查询文件中 5. 以下关于查询描述正确的是 D A)不能根据自由表建立查询 B)只能根据自由表建立查询 C)只能根据数据库表建立查询 D)可以根据数据库表和自由表建立查询 6. 使用菜单操作方法打开一个在当前目录下已经存在的查询文件zgjk.qpr后,在命令窗口

生成的命令是 B

A)OPEN QUERY zgjk.qpr B)MODIEY QUERY zgjk.qpr C)DO QUERY zgjk.qpr D)CREATE QUERY zgjk.qpr 7. 下面有关对视图的描述正确的是 D

A)可以使用MODIFY STRUCTURE命令修改视图的结构 B)视图不能删除,否则影响原来的数据文件 C)视图是对表的复制产生的

D)使用SQL对视图进行查询时必须事先打开该视图所在的数据库 8. 在Visual FoxPro中,以下关于视图描述中错误的是 D A)通过视图可以对表进行查询 B)通过视图可以对表进行更新 C)视图是一个虚表 D)视图就是一种查询 9. 查询设计器和视图设计器的主要不同表现在于 B A)查询设计器有\更新条件\选项卡,没有\查询去向\选项 B)查询设计器没有\更新条件\选项卡,有\查询去向\选项 C)视图设计器没有\更新条件\选项卡,有\查询去向\选项 D)视图设计器有\更新条件\选项上,也有\查询去向\选项 10. 在Visual FoxPro 中以下叙述正确的是 A A)利用视图可以修改数据 B)利用查询可以修改数据

C)查询和视图具有相同的作用

D)视图可以定义输出去向

二、填空题

1. 在Visual FoxPro的查询设计器中筛选选项卡对应的SQL短语是 WHERE 。 2. 查询设计器的“排序”排序依据选项卡对应于SQL SELECT语句的 ORDER BY 短语。

3. 在Visual FoxPro中,要运行查询文件query1.pqr,可以使用命令 DO query1.pqr 4. 视图保存在 数据库 文件中

5. 视图设计器中含有的、但查询设计器中却没有的选项卡是 更新条件

习题六

一、单选题

1. 在Visual Foxpro中,用于建立或修改过程文件的命令是 B A)MODIFY <文件名> B)MODIFY COMMAND <文件名> C)MODIFY STRUCTURE <文件名> D)CREATE <文件名> 2. 清除主窗口屏幕的命令是 A

A) CLEAR B) CLEAR ALL C) CLEAR SCREEN D) CLEAR WINDOWS 3. 下列程序段的输出结果是 B ACCEPT TO A IF A=[123456] S=0 ENDIF S=1 ? S RETURN A)0 B)1 C)由A的值决定 D)程序出错 4. 数据表stock.dbf的内容是 C 股票代码 股票名称 单价 交易所 600600 青岛啤酒 7.48 上海 600601 方正科技 15.20 上海 600602 广电电子 10.40 上海 600603 兴业房产 12.76 上海 600604 二纺机 9.96 上海 600605 轻工机械 14.59 上海 000001 深发展 7.48 深圳 000002 深万科 12.50 深圳 执行下列程序以后,内存变量a的内容是 CLOSE DATABASE a=0

USE stock

GO TOP

DO WHILE .NOT.EOF() IF 单价>10 a=a+1 END IF SKIP END DO A)1 B)3 C)5 D)7 5. 数据表教师的内容如下,下列程序段的输出结果是 C CLOSE DATA a=0

USE 教师 GO TOP

DO WHILE .NOT. EOF()

IF主讲课程=\数据结构\主讲课程=\语言\a=a+1 ENDIF SKIP ENDDO ?a A)4 B)5 C)6 D)7

6. 在 DO WHILE ? ENDDO循环结构中,LOOP命令的作用是 B A)退出过程,返回程序开始处

B)转移到DO WHILE语句行,开始下一个判断和循环

C)终止循环,将控制转移到本循环结构ENDDO后面的第一条语句继续执行 D)终止程序执行

7. 如果在命令窗口输入并执行命令:”LIST名称”后在主窗口中显示 记录号 名称 1 电视机

5、下面程序运行后,输出结果是 x=5 y=3

do sub with x,y ?x,y return

proc sub para a,b x=a*a y=b+b ?x,y Return

A) 5 3 B) 25 3 C) 25 6 D) 25 6 25 6 25 6 5 325 6

6、以下程序的功能是:生成20个200到300之间的随机整数,输出其中能被5整除的数并求出它们的和。请填空。 for i=1 to 20

x=Int(Rnd()*200+100)

if (答案:mod(x,5) 或 x%5 =0 ) ? x

S=S+ (答案: x ) endif endfor

三、编程题

1、给定成绩表score表(如图所示),其中前4项已有数据。

请编写符合下列要求的程序:计算每一个学生的总学分并存入对应的学分字段。学分的计算方法是:物理60分以上(包括60分)2学分,否则0分,高数60分上(包括60分)3学分,否则0分,英语60分以上(包括60分)4学分,否则0分。

参考程序:

use score

Do while not eof() Xf=0 If 物理>=60 Xf=xf+2 Endif If 高数>=60 Xf=xf+3 Endif If 英语>=60

Xf=xf+4

Endif

Repl 学分 with xf

Skip Enddo return

综合练习二

一、SQL题

1、查找学分大于3分的课程名。

答案:sele 课程名 from 课程 where 学分>3

2、查找与“张三”同龄的学生的姓名和年龄。

答案:sele 姓名,年龄 from 学生 where 年龄 in (sele 年龄 from 学生 where 姓名=’张三’)

3、查找学生“李四”所选课程的课程号、课程名、学分及考试成绩。 答案:sele 课程.课程号,课程名,学分,成绩 from 学生,课程,选修;

where学生.学号=选修.学号 and 选修.课程号=课程.课程号 and 姓名=’李四’

4、查询每一个学生的平均成绩,并将查询结果按平均成绩的升序排序。 答案:sele avg(成绩) from 选修 group by 学号 order by avg(成绩)

5、删除课程表中课程号为“C03”的课程信息。 答案:Delete from 课程 where 课程号=”C03”

二、程序分析题

1、程序运行后,显示的内容是: s = 1

for a=8 to 1 step -1

s = s + a Endfor ? s, a

A) 36 0 B) 36 1 2、下面程序运行后,输出的结果是 dime a(10),b(3)

C) 37 0 D) 37 1

s=0

for i=1 To 10

a(i)=i endfor

For i=1 To 3

b(i)=a(i*i) EndFor

For i=1 To 3

s=s+b(i) EndFor ?s

A)55 B) 35 C) 14 D) 9

3、程序运行后,s的值是多少? S=0

For i=1 TO 15

x=2*i-1

ifmod(x, 3)=0

s=s+1 endif Endfor ?s

A)1 B) 5 C) 27 D) 45

4、程序运行后 Input “n=” to n For i = 3 To n

For j = 2 To sqrt(i) If MOD(i,j)= 0 Exit Endif Endfor

If j >sqrt(i) ? i Endif Endfor

A) 输出n以内的素数 B) 输出n以内的奇数

C) 输出n以内的偶数 D) 输出n以内能被j整除的数

5、下面程序运行后,显示的内容是 *** 主程序 *** x=10 y=5

y=f1(x)

?x,y return

*** 函数过程 *** Function f1 para x x = 20 y = 2

z = x * y return z

A)10 5 B) 20 5 C)20 40 D)10 40

6、将下面程序正确填空,使程序运行后的输出结果为: 5 456 34567 2345678 123456789 clear

a=【1】&&答案:【1】'123456789' For i =1 To 5

? Space(【2】) + subs(a, 6-I ,2*i-1 ) &&答案:【2】6-i Endfor

三、编程题

给定Score1表(如图所示),其表结构是:学号C(10)、少数民族L、优秀干部L、三好生L、考试成绩I、总成绩I。其中,前五项已有数据。

请编写符合下列要求的程序:计算每一个学生的总成绩。总成绩的计算方法是:考试成绩+加分,加分的规则是:如果该生是少数民族(相应数据字段为 .T.)加分5分,优秀干部加分10分,三好生加分20分,加分不累计,取最高的.。

参考程序: Use score1 scan Jf=0 Do case

Case 三好生 Jf=20

Case 优秀干部 Jf=10

Case 少数民族

Jf=5 Endcase

Repl 总成绩 with 考试成绩+Jf Endscan

综合练习三

一、SQL题

1、所有“男”职工的基本信息。

答案:Select * from 职工 where 性别='男'

2、参加“唱歌队”或“篮球队”的职工号和姓名

答案:Select 职工号,姓名 from 职工,参加,社团 where 职工.职工号=参加.职工号

and 参加.编号=社团.编号 and (社团名称='唱歌队' or 社团名称='篮球队')

3、与“Z1008”号职工同龄的所有职工信息。

答案:Select * from 职工 where 年龄=( select 年龄 from 职工 where 职工号='Z1008')

4、参加人数大于20人的社团编号和参加人数。 答案:Select 编号,cnt(*) as 参加人数 from 参加 group by 编号 having 参加人数>20

5、一条社团记录,编号为S07,社团名称为文学社,负责人为赵勇,活动地点为文学院。

答案:Insert into 社团 values('S07','文学社','赵勇','文学院')

二、程序分析题

1、写出下列程序的运行结果。 clear a=1

do while a<5 b=1

do while b<5 if a*b<10 b=b+1 else exit endif enddo a=a+1 enddo

本文来源:https://www.bwwdw.com/article/ssj6.html

Top