数据库教材习题参考答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《中文Visual FoxPro 应用系统开发教程》

习题参考答案

(说明:只提供选择题、填空题、程序设计等题目的参考答案,供读者参考)

第1讲习题

二、选择题

1.A 2.A 3.B 4.B

第2讲习题

二、选择题

1.D 2.B 3.D 4.B 5.C

第3讲习题

二、选择题

1.B 2.A 3.A 4.A5.C

三、填空题

(1) CREATE DATABASE DHGL

(2) CREATE TABLE CKB( 仓库号 C(5),城市 C(10),面积 I)

第4讲习题

一、选择题

1.C2.D 3.B 4.D 5.A 6.C 7.C 8.C 9.D 10.D

11.D 12.B 13.C 14.C 15.B 16.B 17.A 18.B 19.B 20.D 21.B

二、填空题

1.一组内存变量

2.函数、算术运算、关系运算、逻辑运算

3.单引号、双引号、方括号

4.8

5.2005

6.30

7.1

8.100

9.国庆假期,10,国庆假期

10.Year(出生日期)<1982 .and.性别=’男’

第5讲习题

一、选择题

1.C 2.D 3.C 4.D 5.B 6.B 7.C 8.A 9.A 10.C11.C 12.B

二、填空题

1.Record n,next n,rest,all

2.①go 7 ②skip 3 ③ DELETE for 姓名=“张明丽”

DELETE FROM XSB WHERE 姓名=“张明丽”

④Append Blank

⑤insert INTO XSB (学号,姓名)VALUES(‘05057202’,’李鹃’)

⑥DELETE NEXT 10 FOR 性别=’男’

⑦Pack

⑧ZAP

⑨BROWSE FOR YEAR(出生日期)<1983

⑩BROWSE FIELDS 学号,姓名,性别,专业,出生日期FOR 性别=’女’

第6讲习题

一、选择题

1.A 2.B 3.B 4.C 5.A 6.B 7.B 8.C 9.C 10.B

11.C 12.D 13.B 14.C

二、填空题

(1)重复值

(2) 侯选索引 ,惟一索引

(3) cdx ,结构复合索引

(4) set order to xm

(5) 当前记录

(6) 所有记录

(7) found() , eof()

(8)(9)不要求

三、编写Visual FoxPro 命令练习

假定有职工表,结构如下:

职工(编号(C,4),姓名(C,8),性别(C,2),单位(C,16),出生日期(D,8),职称(C,6),工资(N,8,2))其中,编号为主关键字,并已经建立主索引(bh)。

试写出完成下列操作的Visual FoxPro 的命令。

1.打开职工表:use 职工

2.修改表的结构:modify structure

3.显示所有职称为“讲师”的记录:disp for 职称=’讲师’

4.逻辑删除年龄大于60岁的记录:

delete for year(date())-year(出生日期)>60

delete FROM 职工WHERE year(date())-year(出生日期)>60

5.浏览所有单位是“外语系”的职工的编号、姓名、职称和工资:

browse fields 编号,姓名,职称,工资For 单位=’外语系’

6.追加一条空白记录:

append blank

INSERT INTO 职工(编号) V ALUES(‘‘)

7.将记录指针移动到文件最后一条记录:go bottom

8.将记录指针快速定位在编号为“2101”的记录上:

set order to bh

seek ‘2101’

9.给每位女职工的工资增加20元。

Replace 工资with 工资+20 for 性别=’女’

UPDATE 职工SET 工资=工资+20 WHERE 性别=’女’10.将记录指针定位在第一位男职工记录上。

Locat for 性别=’男’

11. 给表增加一个字段“奖金N(7,2)”(用SQL命令)

ALTER TABLE 职工ADD奖金N(7,2)

第7讲习题

二、填空题

1.Set relation to <关联表达式> into <工作区别名> 2.父,普通,清理

3.级联,限制,忽略

4.级联,限制,忽略

5.限制忽略

6.单个表表单,一对多表单

DO FORM <表单名>

第8讲习题

一、选择题

1.D 2.C3.A

二、填空题

1.分组依据

2.筛选条件

3.更新

4. SQL语句

第9讲习题

一、选择题

1.D 2.B 3.D 4.B 5.C 6.D

二、填空题

1.Structured Query Language(结构化查询语言)的缩写

2.Having <条件>

3. is null

4. SUM ,avg

三、操作题(写出下列各题的SELECT命令,并上机验证。)

1. 把本讲的所有例题上机验证。(略)

2. 在学生表(XSB.DBF)中,检索出市场营销专业出生日期在1982年以后的女生的信息。

Select * from xsb where 性别=’女’.and.专业=’市场营销’.and.year(出生日期)>1982

3. 在学生表中,检索出企业管理专业、出生日期在1985年以前的学生的信息,并以高考成绩的降序输出。

Select * from xsb where 专业=’企业管理’.and.year(出生日期)<1985 order by 高考分数 desc

4. 求各专业的学生人数、高考分数的总分和平均分,并按平均分的降序输出。

Select 专业,count(*),sum(高考分数),avg(高考分数) from xsb group by 专业 order by 4

5.将计算机科学专业同学的信息复制到表KXXS中,并按学号升序排序。

SELECT * FROM XSB WHERE 专业=’计算机科学’;

ORDER BY 学号 DESC ;

INTO TABLE KXXS

第10讲习题

二、填空题

3.表名,圆点(1、2不要求)

三、操作题

1.期末,学生会选出优秀学生名单表(MD1),团委选出优秀团员表(MD2),两个表结构相同,都以学号为主关键字建立了索引。假定一名同学可以同时获得两种优秀称号但只能获得一份奖品(奖品相同)。请给出完成下列操作的SQL命令。

(1)列出所有获优秀学生而非优秀团员的同学名单。

SELECT * FROM MD1 WHERE 学号 NOT IN (SELECT 学号 FROM MD2)

(2)列出所有获得两个优秀称号的同学名单。

SELECT * FROM MD1 WHERE 学号 IN (SELECT 学号 FROM MD2)

(3)列出所有获奖同学的名单。

SELECT * FROM MD1 UNION SELECT * FROM MD2 WHERE 学号 NOT IN (SELECT 学号 FROM MD1)

2.在“销售管理”数据库中有3个表,商品.dbf、部门.dbf和销售.dbf。它们的结构如下:(其中带下划线的字段为主索引,销售中部门号和商品号为普通索引,已建立。)

商品(商品号C6,品名C18,单价N(8,2))

部门(部门号C6,部门名称C18,部门经理C8,电话C12)

相关文档
最新文档