数据库总复习题+答案Word格式.docx
《数据库总复习题+答案Word格式.docx》由会员分享,可在线阅读,更多相关《数据库总复习题+答案Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
13.关系数据库中的关键字是指(D)。
A.能唯一决定关系的字段B、不可改动的专用保留字
C.关键的很种要的字段D.能唯一标识记录的那个属性
14.在VisualFoxPro中,一个表可以创建(A)个主索引。
A.1B.2C.3D.若干
15.在VisualFoxPro的数据类型中,备注型标识符是(D)。
A.LB.CC.DD.M
16.数据库GZ.DBF已经打开,库中含有字段:
"
性别"
,"
职务"
基本工资"
职务补贴"
等。
统计该库中所有女职工,职务是"
科长"
和"
处长"
的基本工资和职务补贴的平均值,其命令是(C)。
A.AVERAGEWHILE(性别="
女"
)·
AND·
(职务="
·
OR·
职务="
)基本工资,职务补贴
B.AVERAGEFOR性别="
基本工资,职务补贴
C.AVERAGEFOR性别="
D.AVERAGEALLFOR职务="
性别="
17.在VisualFoxPro中,可对字段设置默认值的表(A)。
A.必须是数据库表B.必须是自由表
C.自由或数据库表D.不能设置字段的默认值
18.在使用项目管理器时,如果要移去一个文件,在提示的框中选择“移去”按钮,系统将会把所选择的文件移走。
被移走的文件将会(A)。
A.被保留在原目录中B.不被保留在原目录中
C.将被从磁盘删除
D.也可能保留在原来的目录中,也可能被保留在其他目录中
19.在VFP中,与XBETWEEN10AND20等价的表达式是( D )。
A.X>10ANDX<20
B.X>=10ANDX<20
C.X>10ANDX<=20
D.X>=10ANDX<=20
20.一个学生选多门课,一门课可被多个学生选,实体学生与实体课程之间是(C)。
A.一对一的联系B.一对多的联系C.多对多的联系D.多对一的联系
21.VisualFoxpro中,参照完整性规则不包括(C)。
A.更新规则B.删除规则C.查询规则D.插入规则
22.默认值为.F.的数据类型是(B)。
A.字符型B.逻辑型C.备注型D.通用型
23.在SQL的SELECT查询中,( C )消除查询结果中的重复记录。
A.通过指定主关系键B.通过指定惟一索引
C.使用DISTINCT子句D.使用HAVING子句
24.在VisualFoxPro中,视图存在于( D )中。
A.表B.视图C.查询D.数据库
25.为了设置两个表之间的数据参照完整性,要求这两个表是( A )。
A.同一个数据库中的两个表B.两个自由表
C.一个自由表和一个数据库表D.没有限制
26若所建立索引的字段值不允许重复,并且一个表中只能创建一个,它应该是(A)。
A.主索引B.惟一索引C.候选索引D.普通索引
27.参照完整性的规则不包括(D)。
A.更新规则B.删除规则C.插入规则D.检索规则
28.下面有关HAVING子句描述错误的是(B)。
A.HAVING子句必须与GROUPBY子句同时使用,不能单独使用
B.使用HAVING子句的同时不能使用WHERE子句
C.使用HAVING子句的同时可以使用WHERE子句
D.使用HAVING子句的作用是限定分组的条件
29.扩展名为DBC的文件是( C )。
A.表单文件B.数据库表文件C.数据库文件D.项目文件
30.结构化程序设计的三种基本结构是( )。
A.选择结构、循环结构和嵌套结构B.顺序结构、选择结构和循环结构
C.选择结构、循环结构和模块结构D.顺序结构、递归结构和循环结构
31.清除主窗口屏幕的命令是( A )。
A.CLEARB.CLEARALLC.CLEARSCREEND.CLEARWINDOWS
32.在VisualFoxPro中,,永久关系建立后,( B )。
A.在数据库关闭后自动取消B.如不删除将长期保存
C.无法删除D.只供本次运行使用
33.表设计器创建一个自由表时,不能实现的操作是( D )。
A.设置某字段可以接受NULL值B.设置表中某字段的类型为通用型
C.设置表的索引D.设置表中某字段的默认值
34.在VisualFoxPro中,以下叙述正确的是( A )。
A.利用视图可以修改数据B.查询和视图具有相同的作用
C.利用查询可以修改数据D.视图可以定义输出去向
35.在VisualFoxPro中,同一个表所有备注字段的内容存储在( C )。
A.该表文件中B.不同的备注文件
C.同一个备注文件D.同一个数据库文件
36.Caption是对象的( A )属性。
A.标题B.名称C.背景是否透明D.字体尺寸
37.单击鼠标左键时激发( A )事件。
A.ClickB.DblClickC.MouseUpD.MouseDown
38.表示当前表单的关键字是(B)。
A.ThisB.ThisformC.ThisformsetD.Thisset
39.下列四项中说法不正确的是(
C
)。
A.数据库减少了数据冗余
B.数据库中的数据可以共享
C.数据库避免了一切数据的重复
D.数据库具有较高的数据独立性
40.在VisualFoxPro中,下列数据中属于常量的是(
D
A.TOP B..Y. C.T D.12/11/2003
41.在下列记录定位命令中,不能用FOUND()函数值检测其操作是否成功的命令是(
)D
A.SEEK B.FIND C.LOCATE……CONTINUE D.SKIP
42.在没有打开索引文件的情况下,若使用APPEND命令追加1条记录,其功能等同于命令序列(
A)GOTOEOF B)GOTOBOTTOM C)GOTOBOTTOM D)GOTOBOTTOM
INSERT INSERTBEFORE INSERTAFTER INSERT
43.已知有如下表:
S(S#,SN,SEX,AGE,DEPT)各属性依次为学号,姓名,性别,年龄,系别,检索所有比“王华”年龄大的学生姓名、年龄和性别,正确的SQLSELECT命令是(
)A
A.SELECTSN,AGE,SEXFROMS;
WHEREAGE>
(SELECTAGEFROMSWHERESN="
王华"
)
B.SELECTSN,AGE,SEXFROMSWHERESN="
C.SELECTSN,AGE,SEXFROMS;
(SELECTAGEWHERESN="
D.SELECTSN,AGE,SEXFROMSWHEREAGE>
王华
AGE
44.使用SQL命令进行分组检索时,为了去掉不满足条件的分组,应当(
A.使用WHERE子句
B.先使用WHERE子句,再使用HAVING子句
C.先使用HAVING子句,再使用WHERE子句
D.在GROUP
BY后面使用HAVING子句
45.不论索引是否生效,定位到相同记录上的命令是(C)。
A、GOTOPB、GOBOTTOMC、GO6D、SKIP
46.命令“?
STR(34.567,4,3)”的输出结果是(A)。
A、34.6B、34.567C、34.57D、34.5
47.日期型转换成字符型的函数名是(A)。
A、DTOC()B、CTOD()C、DTOT()D、TTOD()
48.下列函数表达式格式错误的是(C)。
A、ABS(-3)B、MAX(2,3,4)C、ROUND(4.75)D、SQRT(9)
49.在VFP中,不能使用“向导”来建立的是(D)。
A、表单B、自由表C、查询D、程序文件
50.对于索引文件,下列说法错误的是(C)。
A、结构复合索引文件名与相关的表同名,并以CDX为扩展名
B、在一个表中可以建立多个索引
C、一个索引表达式中,只能有一个字段
D、索引标识不必与索引关键字字段同名
二、填空题
1.数据管理经过了手工文档、文件系统和数据库系统三个发展阶段。
1.DBMS的含义是数据库管理系统。
2.在关系模型中,把数据看成是二维表,每一个二维表称为一个关系。
3.在VisualFoxPro中,通过建立主索引或候选索引来实现实体完整性约束。
4.自由表的扩展名是dbf。
5.利用查询设计器设计查询,可以实现多项功能,查询设计器最终实质上是生成一条
SQLselect语句。
6.数据库系统的特点是:
数据结构化、数据共享性好、减少了数据冗余、有较高的数据独立性和与用户接口。
7.真正删除当前数据库文件中所有记录的命令是ZAP。
8.VisualFoxPro提供了大量的辅助设计工具,可分为向导,生成器和设计器。
9.在使用DISPLAY命令显示库文件记录时,若同时省略范围和FOR.WHILE(条件)时,命令作用是显示当前一条记录的全部内容。
10.对象的属性描述了对象的状态,方法描述了对象的行为。
11.备注型字段的宽度固定为4字节,日期型字段的宽度固定为8字节。
12.函数MOD(-12,-5)的值是-2。
13.关闭所有工作区上已打开的所有数据库文件及相关的各种文件,当前工作区为1号工作区的命令是closeall。
14.在打开数据库文件的同时打开了索引文件,在主索引文件中指向当前记录的上一条记录的命令是skip-1。
15.如下程序的输出结果是21。
I=3
DOWHILEI<
21
I=I+2
ENDDO
?
I
16.有如下程序
INPUTTOA
IFA=10
S=1
ENDIF
S=12
S
假定从键盘输入的A的值10,则上面程序的执行结果是12。
17.有2个数A和B,下列程序段的功能是找出其中最小的那个数,请填空。
INPUTTOB
IFA<
B
”A=”,A
ELSE
”B=”,B
以下各题使用名为“学生成绩管理”的数据库,内有如下三张表:
(1)选课表
(2)课程表
(3)学生表
三、表结构设计
学生表的表结构如下表所示,请在()内填空:
字段名
类型
宽度
小数位数
学号
(字符型)
(8)
姓名
字符型
性别
(2)
出生日期
(日期型)
入校总分
数值型
(5)
(1)
党员
(逻辑型)
1
籍贯
(字符型)
20
简历
备注型
(4)
照片
(通用型)
4
四、表单设计
设计界面如图1所示的“圆周长计算”表单,要求:
利用输入圆的半径,单击“计算”按钮,得到圆的周长,计算公式为d=2
r。
运行后如图2所示。
请填空。
图1图2
属性设置
对象名
属性名
属性值
Form1
caption
(计算圆周长)
Label1
(caption)
请输入圆的半径:
Label2
caption
(圆的周长是:
)
Text1
(value)
1-右
Text2
Command1
(计算)
(Command2)
退出
命令按钮Command1的click事件代码:
r=val(thisform.text1.value)
thisform.text2.value=str(2*3.14*r)
命令按钮Command2的click事件代码:
(thisform.release)
五、按要求写出SQL-SELECT命令
1.
1)查询所有学生的学号、姓名和籍贯
Select学号,姓名,籍贯;
Form学生
2)查询“党员”学生的学号、姓名、出生日期和入校总分
Select学号,姓名,出生日期,入学总分;
From学生;
Where党员
3)查询课程号为“001”的最高分和最低分
Select课程号,max(成绩),min(成绩);
From选课;
Where课程号=”001”
4)统计选修“大学英语”的学生人数
Selectcount(*);
From选课,课程;
Where选课.课程号=课程.课程号and课程.课程名=”大学英语”
5)查询学生的学号、姓名、选修的所有课程名、成绩,并按学号升序排序
Select学生.学号,学生.姓名,课程.课程号,选课.成绩;
From学生,课程,选课;
Where学生.学号=选课.学号and选课.课程号=课程.课程号;
Orderby学生.学号asc
6)查询每门课程的课程号、课程名和平均成绩,结果按课程号降序排列。
Select课程.课程号,课程.课程名,avg(选课.成绩);
From课程,选课;
Where课程.课程号=选课.课程号;
Orderby课程.课程号desc
2.现有关系数据库如下:
学生(学号,姓名,性别,专业、奖学金)
课程(课程号,名称,学分)
学习(学号,课程号,分数)
请用关系代数表达式实现下列1—4小题,用SQL语言实现下列小题。
1)检索“国际贸易”专业中获得奖学金的学生信息,包括学号、姓名、课程名和分数;
关系代数表达式
Π学号,姓名,课程名,分数(σ奖学金>
0∧专业=国际贸易(学生∞学习∞课程))
SQL语言
Select学生.学号,学生.姓名,课程.名称,学习.分数;
From学生,课程,学习;
Where学生.学号=学习.学号and课程.课程号=学习.课程号and奖学金=.t.and学生.专业=“国际贸易“
2)检索学生成绩得过满分(100分)的课程的课程号、名称和学分;
关系代数表达式
Π课程号,名称,学分(σ分数=100(学习∞课程))
Select课程.课程号,课程.名称,课程.学分;
From课程,学习;
Where课程.课程号=学习.课程号and学习.分数=100;
Groupby课程.课程号
2)检索没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学号、姓名和专业;
关系代数表达式
Π学号,姓名,专业(σ奖学金<
=0∧分数>
95(学生∞学习))
SQL语言
SELECT学生.学号,姓名,专业;
FROM学生,学习;
WHERE学生.学号=学习.学号AND学习.课程号=课程.课程号AND奖学金<
=0AND分数>
95
4)检索没有任何一门课程成绩在80分以下的学生的信息,包括学号、姓名和专业;
Π学号,姓名,专业(学生)—Π学号,姓名,专业(σ分数<
80(学生∞学习))
SELECT学号,姓名,专业;
FROM学生;
WHERE学号NOTIN;
(SELECT学号FROM学习WHERE分数<
80)
5)检索没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学号、姓名和专业;
同3
6)检索没有任何一门课程成绩在80分以下的所有学生的信息,包括学号、姓名和专业;
同4
7)对成绩得过满分(100分)的学生,如果没有获得奖学金的,将其奖学金设为1000元;
UPDATE学生;
SET奖学金=1000;
WHERE奖学金<
=0AND学号IN;
(SELECT学号FROM学习WHERE分数=100)
8)定义学生成绩得过满分(100分)的课程视图AAA,包括课程号、名称和学分;
CREATEVIEWAAA(课程号,名称,学分)ASSELECT课程号,名称,学分;
FORM课程;
WHERE课程号IN;
(SELECT课程号FROM学习WHERE分数=100)
六、程序设计
1.编写程序,其功能是统计学生表中入校总分介于450到500分之间(包括450和500)的学生人数。
Use学生
N=0
Dowhile.not.eof()
If入校总分>
=450and入校总分<
=500
N=N+1
Endif
Skip
Enddo
n
use
2.编写程序,其功能是:
请用户输入待查询学生的学号,若找到则显示该学生的学号、姓名、性别、籍贯等信息,否则显示“没有此人!
”。
Use学生
Accept“请输入学号:
”tonum
Locaforxh=num
Iffound()
?
学号,姓名,性别,籍贯
else
“没有此人!
”
Endif
Use
3.编写程序,其功能是修改选课表中的成绩:
低于60分的成绩均加10分,高于60分(包括60)的成绩均加5分。
Use选课
Dowhile.not.eof()
If成绩<
60
Repl成绩with成绩+10
Else
Repl成绩with成绩+5
Skip
Enddo
4.编一程序,在表xscj.dbf(表结构为:
姓名C、数学N、语文N、外语N、总分N、平均分N、等级C)中,划分并填写等级:
平均分在90分以上(含90分)为优秀,80分以上(含80分)为良好,70分以上(含70分)为中等,60分以上(含60分)为及格,否则为不及格。
Usexscj
Dowhile.not.eof()
repl总分with数学+语文+外语,平均分with(数学+语文+外语)/3
Docase
Case平均分>
=90and平均分<
=100
Replace等级with“优秀“
Case平均分>
=80and平均分<
=89
Replace等级with“良好“
=70and平均分<
=79
Replace等级with“中等“
=60and平均分<
=69
Replace等级with“及格“
Otherwise
Replace等级with“不及格“
Endcase
Use