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

2019-04-14 20:49

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]


南昌大学数据库管理系统课后习题汇总(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:排污费征收制度的性质

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: