第六章结构化程序设计
一、选择题
1、WAIT命令用于让用户输入一个。
A)数字 B)字符 C)字符串 D)以上都是
2、在交互式输入命令中,可以接受逻辑型数据的命令包括______。
A)INPUT和ACCEPT B)WAIT和INPUT C)INPUT和@…GET D)INPUT和@…SAY
3、执行命令 ACCEPT″请输入数据:″TO XYZ 时,可以通过键盘输入的内容包括______。
A)字符串 B)数值和字符串
C)数值,字符串和逻辑值 D)数值,字符串,逻辑值和表达式
4、执行命令INPUT″请输入数据:″TO AAA时,如果要通过键盘输入字符串,应当使用的定
界符包括______。
A)单引号 B)单引号或双引号
C)单引号、双引号或方括弧 D)单引号、双引号、方括弧或圆点
5、在VFP中,可以通过键盘接受数值的命令有_______。
A)ACCEPT B)ACCEPT和WAIT
C)INPUT和ACCEPT D)INPUT和 @ 5,10 SAY...GET..
6、比较WAIT、ACCEPT和INPUT三条命令,需要以回车键表示输入结束的命令是_____。
A)WAIT、ACCEPT、INPUT B)WAIT、ACCEPT
C)ACCEPT、INPUT D)INPUT、WAIT
7、以下关于ACCEPT命令的说明,正确的是______。
A)将输入作为字符接收 B)将输入作为数值接收
C)将输入作为逻辑型数据接收 D)将输入作为备注型接收
8、结构化程序设计所规定的三种基本控制结构是_______。
A)输入,处理,输出 B)树型,网型,环型 C)顺序,选择,循环 D)主程序,子程序,函数
9、能将高级语言编写的源程序转换成目标程序的是_______。
A)编程程序 B)编译程序 C)解释程序 D)链接程序
10、VFP中的DO CASE-ENDCASE语句属于_______。
A)顺序结构 B)选择结构 C)循环结构 D)模块结构
11、当前数据库中有五个字段:学号(C,4)、姓名(C,6)、政治(N,3.0)、英语(N,3.0)、数
学(N,3.0),记录指针指向一个非空的记录。要使用SCATTER TO X命令把当前记录的字段值存到数组X中,数组X ______。
A)不必事先定义
B)必须用DIMENSION X 事先定义
C)必须用DIMENSION X(5)事先定义
D)必须用DIMENSION X(1),X(2),X(3),X(4),X(5)事先定义
12、要判断数值型变量Y是否能够被7整除,错误的条件表达式为______。
A)MOD(Y,7)=0 B)INT(Y/7)=Y/7 C)0=MOD(Y,7) D)INT(Y/7)=MOD(Y,
7)
13、在VFP中,命令文件的扩展名是______。
A)TXT B)PRG C)DBT D)FMT
14、以下有关VFP中过程文件的叙述,其中正确的是______。
A)先用SET PROCEDURE TO 命令关闭原来已打开的过程文件,然后用DO <过程名>执行
B)可直接用DO <过程名>执行
C)先用SET PROCEDURE TO <过程文件名>命令打开过程文件,然后用USE <过程名>执行
D)先用SET PROCEDURE TO <过程文件名>命令打开过程文件,然后用DO <过程名>执行
15、执行 SET DEVICE TO PRINT 命令之后,能在打印机上实现输出的命令是______。
A)?姓名 B)@ 10,10 SAY 姓名 C)LIST 姓名 D)@ 10,10 GET 姓名
16、一个过程文件最多可以包含128个过程,每个过程的第一条语句是______。
A)PARAMETER B)DO <过程名> C) <过程名> D)PROCEDURE <过程名>
17、在下列命令组合中,不能配对使用的是______。
A)@ PROMPT 和 MENU TO B)DO WITH和 PARAMETERS
C)IF和 ENDIF D)DO CASE和 ENDDO
18、在VFP中,用于建立或修改过程文件的命令是_______。
A)MODIFY <文件名> B)MODIFY COMMAND <文件名>
C)MODIFY PROCEDURE <文件名> D)CREATE COMMAND <文件名>
19、在VFP中,可以在同种类型的数据之间进行“-”(减号)运算的数据类型是______。
A)数值型、字符型、逻辑型 B)数值型、字符型、日期型
C)数值型、日期型、逻辑型 D)逻辑型、字符型、日期型
20、要在屏幕的第二行第二列开始显示姓名(C,8),存款数额(N,6,2)和存入日期(D)三个字段
的值,应该使用命令______。
A)@ 2,2 SAY 姓名,存款数额,存入日期
B)@ 2,2 SAY 姓名+存款数额+存入日期
C)@ 2,2 SAY 姓名+STR(存款数额,6,2)+DTOC(存入日期)
D)@ 2,2 SAY 姓名+STR(存款数额,6,2)+CTOD(存入日期)
21、在DO WHILE/ENDDO循环中,若循环条件设置为.T.,则下列说法中正确的是。
A)程序无法跳出循环 B)程序不会出现死循环
C)用EXIT可以跳出循环 D)用LOOP可以跳出循环
22、用户自定义函数或过程中接受参数,应使用命令。
A) PROCEDURE B)
FUNCTION C)WHILE D)PARAMETERS
23、用户自定义函数或过程可以定义在。
A)独立的程序文件 B)对象的事件代码、方法代码中
C)数据库的存储过程中 D)过程文件
24、在命令窗口赋值的变量默认的作用域是。
A)全局 B)局部 C)私有 D)不一定
25、使用命令DECLARE mm(2,3)定义的数组,包含的数组元素(下标变量)的个数为。
A)2个 B)3个 C)5个 D)6个
26、下列语句可以将变量A、B的值互换。
A)A=B B)A= (A+B)/2 C)A=A+B D)A=C
B=A B= (A-B)/2 B=A-B C=B
A=A-B B=C
27、结构化程序设计的三种基本逻辑结构是______。
A)选择结构、循环结构和嵌套结构 B)顺序结构、选择结构和循环结构
C)选择结构、循环结构和模块结构 D)顺序结构、递归结构和循环结构
28、如果一个过程不包含RETURN语句,或RETURN语句中没有指定表达式,那么该过程_____。
A)没有返回值 B)返回0 C)返回.T. D)返回.F.
29、作为整个应用程序入口点的主程序至少应具有以下功能_____。
A)初始化环境
B)初始化环境、显示初始的用户界面、控制事件循环,退出时恢复环
境
C)初始化环境、显示初始用户界面
D)初始化环境、显示初始用户界面、控制事件循环
30、下面关于过程调用的陈述中,______是正确的。
A)实参与形参的数量必须相等
B)当实参的数量多于形参的数量时,出现运行时错误。
C)当形参的数量多于实参的数量时,多余的实参为逻辑假
D)上面B和C都对
31、将内存变量定义为全局变量的Visual FoxPro命令是______。
A)LOCAL B)PRIVATE C)PUBLIC D)GLOBAL
32、下列说法中正确的是______。
A)若函数不带参数,则调用时函数名后面的圆括号可以省略
B)函数若有多个参数,则参数名间应用空格隔开
C)调用函数时,参数的类型、个数和顺序不一定要一致
D)调用函数时,函数名后的圆括号不论有无参数都不能省略
33、在VFP中,已经建立了一个过程文件ABC.PRG,打开此过程文件的命令是。
A) OPEN PROCEDURE TO ABC B) DO PROCEDURE ABC
C) SET PROCEDURE TO ABC D) RUN PROCEDURE ABC
34、顺序键入以下命令:
STORE ″21.47″TO A
B=INT(&A+4)
? B
屏幕上显示的结果为。
A)24 B)25 C)25.47 D)21.474
35、设数据库文件STD.DBF中包含8个字段,并有以下命令序列:
DIMENSION DATA(10)
USE STD
SCATTER TO DATA
? DATA(10)
执行以上命令序列后,屏幕显示的结果是。
A)空 B).T. C).F. D)0
36、有以下命令序列:
STORE 123.456 TO A
STORE STR(A+A,5) TO B
? LEN(B),B
执行以上命令序列,最后一条命令显示的结果是。
A)3 123 B)3 264 C)5 246 D)5 247
37、给出以下程序的运行结果:
SET TALK OFF
X=0
Y=0
DO WHILE X<100
X=X+1
IF INT(X/2)=X/2
LOOP
ELSE
Y=Y+X
ENDIF
ENDDO
? "Y=",Y
RETURN
运行结果为______。
A) Y=500 B) Y=1500 C) Y=2000 D) Y=2500
38、有如下两个程序段:
*****程序段 1***** *****程序段 2*****
USE CLASS USE CLASS
LOCATE FOR 政治面目="团员" LOCATE FOR 政治面目="团员"
DO WHILE FOUND() DO WHILE政治面目="团员"
DISPLAY DISPLAY
CONTINUE SKIP
ENDDO ENDDO
若在完全相同的环境下分别执行上面的两个程序段,则______。
A)程序段2输出的记录不可能比程序段1输出的记录多
B)程序段1输出的记录不可能比程序段2输出的记录多
C)程序段1和程序段2输出的记录一样多
D)无法判定
39、在使用@命令进行格式化输入时,为了保证只输入字母,应该在PICTURE短语中使用模
式符______。
A)A B)X C)N D)Z
40、有如下程序段:
DO CASE
CASE X>100
??″1″
CASE X>200
??″2″
OTHERWISE
??″3″
ENDCASE
若在X=300的情况下执行这个程序段,屏幕上将显示______。
A)1 B)2 C)12 D)3
41、有如下命令序列:
X=″A″
Y=X
A=″黄河长江″
? X+&X-Y-&Y
执行以上命令序列后,屏幕显示表达式X+&X-Y-&Y的结果是______。
A)黄河长江 B)A黄河长江A黄河长江
C)A黄河长江A D)A黄河长江黄河长江
42、有如下命令序列:
SET DELETED ON
USE ABC
GO 3
DELETE NEXT 2
GO 4
RECALL
USE
执行最后一条RECALL命令时,去掉删除标记的记录个数是______。
A)0 B)1 C)2 D)3
43、已知proc.prg程序清单如下: proc_1.prg程序清单如下:
SET TALK OFF PARAMETERS a,b
n=20 b=a*b
t=1 IF a<=2
DO proc_1 WITH n,t RETURN
?t ENDIF
SET TALK ON DO proc_1 WITH a-2,b
RETURN RETURN
程序proc.prg的功能是______。
A)输出20以内偶数的乘积 B)输出20以内奇数的乘积
C)输出结果为1 D)输出结果为0
44、有如下命令序列:
SELECT 1
USE F1
SELECT 2
USE F2
SELECT 1
SET RELATION TO RECNO()-2 INTO B
GOTO 5
?RECNO(2)
最后一条命令的输出结果是。
A)5 B)4 C)3 D)1
45、清除屏幕从10行,17列到14行,52列的正确语句是。
A)@10,17 TO CLEAR 14,52 B)@10,17 CLEAR 14,52
C)@10,17 TO 14,52 CLEAR D)CLEAR FROM @10,17 TO 14,52
46、有如下命令序列
SELECT 1
USE FILE1
SELECT 2
USE FILE2
SELECT 3
USE FILE 3
执行以上命令序列后,要想向FILE2.DBF中追加记录,同时保持数据库打开的状态不变,应当使用命令。
A) USE FILE2 B) GO FILE2 C) SELECT 2 D) SELECT 4
APPEND APPEND APPEND USE FILE2
APPEND
47、有如下命令
DISPLAY 姓名,出生日期 FOR 性别=″女″
执行这个命令后,屏幕显示的是所有性别字段值为“女”的记录,这时文件指针_____。
A)指向最后一个性别为″女″的记录 B)指向最后一个性别为″女″的记录的下一个记录
C)指向文件尾 D)状态视库文件中数据记录的实际情况而定
48、有如下命令序列
CLEAR MEMORY
DIMENSION ARRAY(10)
LIST MEMORY
最后一条命令显示定义的内存变量的数是。
A)10 B)1 C)0 D)11
49、在命令文件中,调用另一个命令文件用命令。
A) CALL <命令文件名> B) LOAD <命令文件名>
C) PROCEDURE <命令文件名> D) DO <命令文件名>
50、执行下列语句序列
A=2200
DO CASE
CASE A<1000
B=5/100
CASE A>1000
B=10/100
CASE A>2000
B=15/1000
CASE A>3000
B=20/100
ENDCASE
变量B的值是。
A)0.05 B)0.10 C)0.15 D)0.20
51、有以下程序段:
DO CASE
CASE 计算机<60
?″计算机成绩是:″+″不及格″
CASE 计算机>=60
?″计算机成绩是:″+″及格″
CASE 计算机>=70
?″计算机成绩是:″+″中″
CASE 计算机>=80
?″计算机成绩是:″+″良″
CASE 计算机>=90
?″计算机成绩是:″+″优″
ENDCASE
设学生数据库当前记录的“计算机”字段的值是89,执行上面程序段之后,屏幕输出。
A)计算机成绩是:不及格 B)计算机成绩是:及格
C)计算机成绩是:良 D)计算机成绩是:优
52、执行以下命令序列:
USE ZGGZ
SUM 工资 FOR 工资>=500 TO QWE
COPY TO QAZ FIELDS 职工号,姓名 FOR 工资>=500
USE QAZ
NUM=RECCOUNT()
AVER=QWE/NUM
? AVER
最后显示的值是。
A)所有工资在500元以上的职工人数 B)所有工资在500元以上的职工平均工资数
C)所有职工的平均工资数 D)出错
53、有以下程序段:
@5,10 SAY "请输入1─4" GET ANS
READ
CX="PG"+ANS+".PRG"
DO &CX
其功能是根据用户输入的数字,转去执行子程序PG1、PG2、PG3、PG4之一。但该程序段有一个明显的错误,为此应当做以下修改。
A)增加STORE " " TO ANS 作为第一条命令
B)把@ 5,10 SAY "请输入1─4" TO ANS 命令改为 ACCEPT " 请输入1─4" TO ANS
C)把 CX="PG"+ANS+".PRG" 命令中的"+".PRG" 部分去掉
D)把DO &CX 命令的&去掉
54、执行如下程序
SET TALK OFF
S=0
I=1
INPUT "N=?" TO N
DO WHILE S<=N
S=S+I
I=I+1
ENDDO
? S
SET TALK ON
如果输入N值为5,则最后S的显示值是。
A)1 B)3 C)5 D)6
55、某程序中有如下程序段:
STORE "" TO PT
@ 5,10 SAY "是否开始打印?(Y/N):"
@ 3,10 GET PT VALID PT $"YN" PICTURE"!"
READ
IF PT="Y"
DO PT.PRG && 打印
ENDIF
如果希望程序执行后能够实现打印输出,则对于程序的提问。
A)只能输入 Y B)只能输入y C)输入Y或y D)可以直接敲回车键
56、执行如下程序:
STORE "" TO ANS
DO WHILE .T.
CLEAR
@ 3,10 SAY "1.添加2.删除 3.修改 4.退出"
@ 5,15 SAY "请输入选择:" GET ANS
READ
IF TYPE("ANS")="C".AND.VAL(ANS)<=3.AND.VAL(ANS)<>0
PROG= "PROG" +ANS+ ".PRG"
DO & PROG
ENDIF
QUIT
ENDDO
如果在"请输入选择:"时,键入4,则系统。
A)调用子程序PROG4.PRG B)调用子程序&PROG.PRG
C)返回FOXBASE提示状态 D)返回操作系统状态
以下57~62题的操作均基于下面条件:
已建立学生数据库STD.DBF,数据库结构为:学号(C,6),姓名(C,8),性别(C,2),出生日期(D),平均成绩(N,6,2)。用LIST命令显示记录如下:
记录号# 学号姓名性别出生日期平均成绩
1 021501 刘淑敏女 10/05/84 88.2
2 021502 杨立宏男 03/12/85 70.6
3 021503 马燕女 09/23/8
4 67.2
4 021504 赵雅洁女 12/10/84 80.8
5 021505 王力军男 11/21/84 90.5
57、依次执行以下命令:
USE STD
姓名="郑小洋"
SKIP 2
?″姓名是:″+姓名
最后一条命令的输出结果是。
A)姓名是:郑小洋 B)姓名是:马燕 C)姓名是:杨立宏 D)姓名是:赵
雅洁
58、使用INDEX ON 性别+DTOC(出生日期,1) TO RQ建立索引之后,接着执行LIST命令,
所显示记录的姓名顺序是。
A)王力军、杨立宏、马燕、刘淑敏、赵雅洁
B)马燕、刘淑敏、赵雅洁、王力军、杨立宏
C)杨立宏、王力军、赵雅洁、刘淑敏、马燕
D)刘淑敏、杨立宏、马燕、赵雅洁、王力军
59、索引文件打开后,下列命令操作中不受索引文件影响的是。
A) SKIP B) DISPLAY ALL C) FIND D) GO 5
60、有如下程序段:
USE STD
INDEX ON 性别 TO XB
TOTAL ON性别 TO STD_1
执行以上程序段之后,数据库STD_1.DBF中的记录个数为。
A)1 B)2 C)3 D)4
61、上题所生成的数据库STD_1.DBF中被汇总的字段是。
A)记录个数 B)平均成绩
C)平均成绩、出生日期 D)平均成绩、出生日期、记录个数
62、要显示当前记录的学号,姓名,性别,以下命令错误的是。
A) ? 学号,姓名,性别 B) DISPLAY学号,姓名,性别
C) @ 5,10 SAY学号,姓名,性别 D) @ 5,10 SAY学号+姓名+性别
二、填空题
1、PUBLIC用于定义。在本次Visual FoxPro运行期间,所有过程都可以使用这些变量。
2、VFP根据表达式的来确定表达式的类型。
3、命题“n是小于正整数k的偶数”用逻辑表达式表示是。
4、PRIVATE用于定义,它用于定义当前过程的变量,并将以前过程定义的同名变量保
存起来,在当前过程中使用该变量而不影响这些同名变量的原始值。
5、有程序段如下:
STORE 0 TO X,Y
DO WHILE.T.
X=X+1
Y=Y+X
IF X>=100
EXIT
ENDIF
ENDDO
? "Y="+STR(Y,3)
这个程序是计算 [1] 的,执行后的结果是 [2] 。
6、请阅读下列判断一个自然数是否为质数的程序,并将程序填写完整。
SET TALK OFF
INPUT″请输入一个大于1的自然数:″TO N
K=0 &&K的值为0表示所输入的自然数是质数,为1表示不是质数
J=2
DO WHILE J IF MOD(N,J) [1] [2] LOOP ELSE K=1 EXIT ENDIF ENDDO IF K=0 ? [3] +" 是质数" ENDIF ? "再见!!" SET TALK ON RETURN 7、下面的函数通过参数a、b、c接收一元二次方程ax2+bx+c=0的三个系数,并求解这个方 程:如果有实根,通过参数x1和x2返回它的两个根,函数的返回值为.T.;如果没有实根或出现其他异常情况,函数的返回值为.F.,请填空。 PARAMETERS a,b,c,x1,x2 IF a =0 RETURN .F. ENDIF Delta=b*b-4*a*c IF delta<0 [1] ENDIF x1= [ 2] x2=(-b-SQR(delta))/(2*a) RETURN .T. 8、有如下FoxBASE程序: *SUB.PRG PARAMETERS R,A PI=3.14 A=PI*R*R RETURN 在命令状态下执行了如下命令序列: AREA=0 ? AREA 最后一条命令执行后显示的结果是12.56,请填空。 9、设数据库文件PHONE.DBF中包含了“姓名”,“电话”和“地址”三个字符型字段。 以下程序的功能是按用户输入的任一电话号码进行查找,如果存在该号码,则显示其单位地址,关闭文件并结束程序。请将程序补充完整。 SET TALK OFF USE PHONE CLEAR DO WHILE .T. PHN=SPACE(8) @ 10,20 SAY″电话号码:″ [1] READ LOCATE FOR PHN=电话 IF FOUND() @ 12,20 SAY″单位地址:″+ 地址 [2] ENDIF ENDDO CLOSE ALL SET TALK ON RETURN 10、在青年歌手大赛中,歌手的得分情况由GS.DBF和PW.DBF两个数据库(除“最后得分” 字段以外,其余字段已存放了相应数据)进行统计。 评委数据库PW.DBF中放有10个评委给每位歌手所打的分数,数据库结构为:歌手编号(C,4),评委1(N,5,2),评委2(N,5,2),…,评委10(N,5,2) 歌手数据库GS.DBF中存有每位歌手的基本情况和最后得分,数据库结构为: 歌手编号(C,4),姓名1(C,8),选送地区(C,20),最后得分(N,5,2) 1)以下程序的功能是根据10个评委所给分数,计算并填写“最后得分”字段,具体计 算方法是去掉一个最高分,去掉一个最低分,再对其余得分求平均。请填空: SELECT 0 USE GS INDEX ON 歌手编号 TO GS SELECT 0 USE PW SET RELATION TO 歌手编号 INTO GS GO TOP DO WHILE [1] SCATTER TO TEMP I=2 STORE TEMP(2) TO PMIN, PMAX, S DO WHILE [2 ] I=I+1 S=S+TEMP(I) DO CASE CASE TEMP(I)>PMAX PMAX= TEMP(I) CASE TEMP(I) PMIN= TEMP(I) [3] ENDDO SELECT GS REPLACE 最后得分 WITH [4] [5] [6] ENDDO 2)将GS.DBF按“最后得分”字段由高到低排序,“最后得分”相同时,按歌手编号 升序建立排序文件GSPX.DBF的命令是。 3)计算GS.DBF中所有歌手“最后得分”的平均值,并将结果保存在变量PJ中的命令 是。 4)以下程序是根据GS.DBF中“选送地区”字段的前两个汉字是否为“北京”而使用 PROG1.PRG和PROG2.PRG进行不同的处理: …… IF LEFT(选送地区,4)="北京" DO PROG1 ELSE DO PROG2 ENDIF …… 以上程序段中的判断条件LEFT(选送地区,4)=″北京″,也可以用函数SUBSTR或AT 描述。使用SUB函数描述时,判断条件可改写为 [1] ;使用AT函数描述时,判断条件可改写为[2] 。 11、有如下售书数据库BOOK.DBF,BOOK.DBF中的记录如下: 书号单价数量总计 B0168 19.8 3 B6915 12.6 36 B9023 40.0 100 B4682 18.0 40 B6329 28.0 56 B8127 2.0 20 要逐条计算总计并填入“总计”字段之中,计算按照如下规则: 若数量小于等于10,总计等于“单价*数量” 若数量大于50, 总计等于“单价*数量*(1-5/100)” 若数量在11与50之间,总计等于“单价*数量(1-10/100)” 请填空: SET TALK OFF USE BOOK GO TOP DO WHILE [ 1 ] DO CASE CASE 数量<=10 REPLACE 总计 WITH单价*数量 CASE [ 2 ] REPLACE 总计 WITH 单价*数量*(1-10/100) CASE 数量>50 REPLACE 总计 WITH 单价*数量*(1-5/100) ENDCASE [3] ENDDO LIST USE SET TALK ON RETURN 12、售书数据库BOOK.DBF(如上题所示),现需要调整一些书的单价,然后用调整后的“单价 *数量”的值填入“总计”字段,下边程序的功能是根据用户输入的书号查找到记录,并由用户决定是否对该记录进行修改,请填空: SET TALK OFF USE BOOK INDEX ON 书号 TO BOOKI DO WHILE .T. CLEAR DISP ALL FIELDS 书号 ACCEPT″请输入书号″TO BNO [1] IF FOUND() DISPLAY ACCEPT″修改/不修改继续/终止程序(Y/N/E)″ TO SR ELSE ACCEPT″书号不存在!继续/终止程序(N/E)″ TO SR ENDIF DO CASE CASE UPPER(SR)=″Y″ INPUT″请输入新单价:″ TO XDJ REPLACE [2] ,总计 WITH 单价*数量 CASE UPPER(SR)=″N″ [3] CASE UPPER(SR)=″E″ [4] ENDCASE ENDDO USE SET TALK ON RETURN 13、下面程序的功能是修改P2.DBF中记录内容,为了避免破坏数据库数据,先把记录内容 存入数组BUFFER中,用户先对数组进行修改,确定修改后,再把数组中的数据存入数据库中,请填空: SET TALK OFF DIMENSION BUFFER(3) STORE″Y″TO ANS, CON USE P2 DO WHILE UPPER(CON)=″Y″ CLEAR @ 2,5 SAY″修改第几条记录?″ [1] GO RNO SCATTER TO BUFFER @ 4,10 SAY″学号″GET BUFFER(1) @ 6,10 SAY″姓名″GET BUFFER(2) @ 8,10 SAY″所属系″GET BUFFER(3) [2] ACCEPT″确实修改记录吗?(Y/N)″TO ANS IF UPPER(ANS)=″Y″ [3] ENDIF ACCEPT″继续吗?(Y/N)″TO CON ENDDO USE SET TALK ON RETURN 14、设有Student.DBF(学号,姓名,民族)和score.DBF (学号,成绩)两个数据库,要在它 们之间建立逻辑连接,然后为每个少数民族考生的成绩增加5分,最后显示全体考生的学号、姓名和成绩。请对如下程序填空: SET TALK OFF SELECT 1 USE student [1] TO inx SELECT 2 USE score SET RELATION TO [2] REPLACE 成绩 WITH [3] FOR [4] LIST 学号, [5] ,成绩 SET RELATION TO CLOSE DATA SELECT 1 SET TALK OFF RETURN 15、下面是一个口令设置程序,请在其中填空,完成此程序。 SET TALK OFF CLEAR PASS= "ABCDEFG" PASSWORD= "" @ 10,20 SAY "请输入口令:" SET CONSOLE [1] ACCEPT TO PASSWORD SET CONSOLE [2] IF PASSWORD<>PASS ? CHR(7) WAIT"口令输入错误!敲任何键退出。" QUIT ELSE ? "欢迎使用本系统!" P=INKEY(3) ENDIF DO ZXT &&执行相应程序。 RETURN 参考答案 一、选择题 1. B 2.C 3.A 4.C 5.D 6.C 7.A 8.C 9.B 10.B 11.A 12.D 13.B 14.D 15.B 16.D 17.D 18.B 19.B 20.C 21.C 22.D 23.D 24.A 25.D 26.C 27.B 28.C 29.B 30.D 31.C 32.D 33.C 34.B 35.C 36.D 37.D 38.C 39.A 40.A 41.B 42.B 43.A 44.C 45.C 46.C 47.C 48.B 49.D 50.B 51.B 52.B 53.A 54.D 55.C 56.D 57.B 58.A 59.B 60.B 61.B 62.B 二、填空题 1.全局变量 2.运算符 3.n 4.私有变量 5.[1] 100以内自然数的和 [2]Y=* * * 6.[1] <>0 [2 ] J=I+1 [3 ] STR(N) 7.[1]RETURN .F. [2 ](-B+SQR(DELTA))/(2*A) 8.DO SUB WITH 2,AREA 9.[1] GET PHN [2 ] CONTINUE 10.1)[1]NOT.EOF() [2 ]I<=10 [3]ENDCASE [4]S-PMAX-PMIN [5]SELE PW [6]SKIP 2)SORT ON 最后得分/D,歌手编号 TO GSPX 3)AVER 最后得分 TO PJ 4)[1] SUBS(选送地区,1,4)=“北京”[2 ] AT(“北京”,选送地区) 11.[1] .NOT. EOF() [2]数量>10.AND.数量<=50 [3]SKIP 12.[1]SEEK或LOCATE FOR书号= BNO [2]单价WITH XDJ [3]LOOP [4]EXIT 13.[1]INPUT TO RNO [2] READ [3]GATHER FROM BUFFER 14.[1]INDEX ON 学号 [2]学号 INTO A [3]成绩+5 [4]A->民族<>"汉" [5]A->姓名 第六章数据库一览 1. 概述 全局数据库一览XList是新华分布式控制系统XDPS2.0中的一个模块。 XList工作在系统的人机接口工作站(MMI)上,主要用来监测全局数据库XDB中测点实时数据的变化。XList提供了较为完善的观察手段,确保用户能够集中注意力,观察所 关心的测点数据,如: ●根据测点的静态特性过滤输出:测点类型,服务器,节点号,测点组,测点名。 ●根据测点的动态特性过滤输出:品质坏点,扫描切除点,报警点,报警未确认点。 ●在命令行中指定过滤参数,程序启动后直接显示目标测点。这一功能常用于指定MMI 触摸连接参数。 ●单个测点查找。 ●暂停XList扫描XDB。 ●测点显示输出项目选择。 ●打印输出。 XList还能与系统中的其他模块协同工作,方便系统的调试和控制。如: ●调用单点Single在线修改测点设置和实时数据。 ●拷贝指定测点至系统其他模块,如趋势Trend。 XList具有简便直观的操作界面,绝大部分的功能和设置均反映在工具条上,一目了然。用户无需到菜单或对话框中去查找所需的功能。 2. 安装 XList作为XDPS系统的一个模块,通常随其他模块,由集成的安装程序统一安装,并设置工作环境。 为了确保系统中各模块能够协调可靠地工作,一般情况下,不建议用户单独安装或拷贝XList。 3. 设置 XList的运行环境无需特别设置,基本上依据操作系统的设置而定。 XList的预定义测点组可以通过配置文件PointGrp.Cfg设置。每次修改PointGrp.Cfg 文件后,用户必须重新启动XDPS系统的启动程序NetWin,以便XList重新从XDB中读入新的 测点组设置。 如果,系统中没有PointGrp.Cfg文件,XList依然能够正常运行。 测点组的含义和PointGrp.Cfg文件的格式,详见其用户使用手册《附录三 XDPS常用程序命令行参数说明》。 1、请简述满足1NF、2NF和3NF的基本条件。并完成下题:某信 息一览表如下,其是否满足3NF,若不满足请将其化为符合3NF 的关系。(本小题12分) 第一范式的关系应满足的基本条件是元组中的每一个分量都必须是不可分割的数据项。 第二范式,指的是这种关系不仅满足第一范式,而且所有非主属性完全依赖于其主码。 第三范式,指的是这种关系不仅满足第二范式,而且它的任何一个非主属性都不传递依赖于任何主关键字。 考生情况(考生编号,姓名,性别,考生学校) 考场情况(考场号,考场地点) 考场分配(考生编号,考场号) 成绩(考生编号,考试成绩,学分) 2、某信息一览表如下,其是否满足3NF,若不满足请将其化为符 合3NF的关系。(12分) 配件关系:(配件编号,配件名称,型号规格) 供应商关系(供应商名称,供应商地址) 配件库存关系(配件编号,供应商名称,单价,库存量) 3、简述满足1NF、2NF和3NF的基本条件。并完成下题:已知教学关系, 教学(学号,姓名,年龄,性别,系名,系主任,课程名,成绩),试 问该关系的主键是什么,属于第几范式,为什么如果它不属于3NF,请把它规范到3NF。 4、请确定下列关系的关键字、范式等级;若不属于3NF,则将其化为3NF 。 例 1.仓库(仓库号,面积,电话号码,零件号,零件名称,规格,库存数量) 例1答案: 仓库号+零件号;1NF; 仓库(仓库号,面积,电话号码) 零件(零件号,零件名称,规格) 保存(仓库号,零件号,库存数量) 例2. 报名(学员编号,学员姓名,培训编号,培训名称,培训费,报名日期),每项培训有多个学员报名,每位学员可参加多项培训。例2答案: 学员编号+培训编号;1NF; 第六章关系数据理论 (我们数据库老师给的资料,蛮有用的,分享下) 一、求最小依赖集 例:设有依赖集:F={AB→C,C→A,BC→D,ACD→B,D→EG,BE→C,CG→BD,CE→AG},计算与其等价的最小依赖集。 解: 1、将依赖右边属性单一化,结果为: F1={AB→C,C→A,BC→D,ACD→B,D→E,D→G,BE→C,CG→B,CG→D,CE→A,CE→G } 2、在F1中去掉依赖左部多余的属性。对于CE→A,由于C→A成立,故E是多余的;对于ACD→B,由于(CD)+=ABCEDG,故A是多余的。删除依赖左部多余的依赖后:F2={AB→C,C→A,BC→D,CD→B,D→E,D→G,BE→C,CG→B,CG→D,CE→G } 3、在F2中去掉多余的依赖。对于CG→B,由于(CG)+=ABCEDG,故CG→B是多余的。删除依赖左部多余的依赖后: F3={AB→C,C→A,BC→D,CD→B,D→E,D→G,BE→C,CG→D,CE→G } CG→B与CD→B不能同时存在,但去掉任何一个都可以,说明最小依赖集不唯一。 二、求闭包 例:关系模式R(U,F),其中U={A,B,C,D,E,I},F={A→D,AB→E,BI→E,CD→I,E→C},计算(AE)+。 解:令X={AE},X(0)=AE; 计算X(1);逐一扫描F集合中各个函数依赖,在F中找出左边是AE子集的函数依赖,其结果是:A→D,E→C。于是X(1)=AE∪DC=ACDE; 因为X(0)≠ X(1),且X(1)≠U,所以在F中找出左边是ACDE子集的函数依赖,其结果是:CD→I。于是X(2)=ACDE∪I=ACDEI。 虽然X(2)≠X(1),但在F中未用过的函数依赖的左边属性已没有X(2)的子集,所以不必再计算下去,即(AE)+=ACDEI。 三、求候选键 例1:关系模式R(U,F),其中U={A,B,C,D},F={A→B,C→D},试求此关系的候选键。解:首先求属性的闭包: (A)+=AB,(B)+ =B,(C)+ =CD,(D)+ =D (AB)+ =AB,(AC)+=ABCD=U,(AD)+ =ABD,(BC)+ =BCD,(BD)+ =BD,(CD)+ =CD (ABD)+ =ABD,(BCD)+ =BCD, 因(AC)+=ABCD=U,且(A)+=AB,(C)+ =CD,由闭包的定义,AC→A,AC→B,AC →B,AC→D,由合并规则得AC→ABCD=U; 由候选码的定义可得AC为候选码。 第六章信息系统与数据库 一、选择题 1.以下列出了计算机信息系统抽象结构层次,其中的数据库管理系统和数据库________。 A.属于业务逻辑层 B 属于资源管理层 C 属于应用表现层 D 不在以上所列层次中 2. 以下列出了计算机信息系统抽象结构的4个层次,在系统中为实现相关业务 功能(包括流程、规则、策略等)而编制的程序代码属于其中的________。 A 基础设施层 B 业务逻辑层 C 资源管理层 D 应用表现层 3. 以下列出了计算机信息系统抽象结构的4个层次,系统中的硬件、系统软件 和网络属于其中的________。 A.基础设施层 B.业务逻辑层 C.资源管理层 D.应用表现层 4. 以下列出了计算机信息系统抽象结构层次,在系统中可实现分类查询的表单 和展示查询结果的表格窗口________。 A属于业务逻辑层 B属于资源管理层 C属于应用表现层 D不在以上所列层次中 5. 以下关于SQL语言的说法中,错误的是________ A.SQL的一个基本表就是一个数据库 B .SQL语言支持三级体系结构 C.一个基本表可以跨多个存储文件存放 D.SQL的一个二维表可以是基本表,也可以是视图 6. 信息系统采用B/S模式时,其“查询SQL请求”和“查询结果”的“应答”发生在________之间。 A浏览器和Web服务器 B 浏览器和数据库服务器 C Web服务器和数据库服务器 D 任意两层 7. 关系数据库的SQL查询操作由3个基本运算组合而成,其中不包括________ 。 A 连接 B 选择 C 投影 D 比较 8. 信息系统采用的B/S模式,实质上是中间增加了________ 的C/S模式。 A Web服务器 B 浏览器 C 数据库服务器 D 文件服务器 9. 在信息系统的B/S模式中,ODBC/JDBC是________之间的标准接口。 A Web服务器与数据库服务器 B 浏览器与数据库服务器 C 浏览器与Web服务器 D 客户机与Web服务器 10. 计算机信息系统中的B/S三层模式是指________。 A 应用层、传输层、网络互链层 B 应用程序层、支持系统层、数据库层 C浏览器层、Web服务器层、DB服务器层 D 客户机层、HTTP网络层、网页层 11. ODBC是________,用户可以直接将SQL语句送给ODBC。 A一组对数据库访问的标准 B数据库查询语言标准 C数据库应用开发工具标准 D数据库安全标准 12. 所谓“数据库访问”,就是用户根据使用要求对存储在数据库中的数据进行 操作。它要求________ 。 A.用户与数据库可以不在同一计算机上而通过网络访问数据库;被查询的数据 可以存储在多台计算机的多个不同数据库中 B.用户与数据库必须在同一计算机上;被查询的数据存储在计算机的多个不同 数据库中 C.用户与数据库可以不在同一计算机上而通过网络访问数据库;但被查询的数 据必须存储同一台计算机的多个不同数据库中 D.用户与数据库必须在同一计算机上;被查询的数据存储在同一台计算机的指 定数据库中 13.ODBC是________,用户可以直接将SQL语句送给ODBC。 A.一组对数据库访问的标准 B.数据库查询语言标准 C. 数据库应用开发工具标准 D.数据库安全标准 14. SQL查询语句:SELECT SNANE,DEPART,CNAME,GRADE FROM S,C,SC WHERE S.SNO=SC.SNO AND https://www.doczj.com/doc/ae10259864.html,O=https://www.doczj.com/doc/ae10259864.html,O AND S.SEX=‘男’; 涉及的S,C和SC三个表。S和SC表之间和C和SC表之间分别通过公共属性________作连接操作。 A SNO,CNO B CNO,SNO C CNO,SEX D SNO,SEX 15. 在C/S模式的网络数据库体系结构中,应用程序都放在________上。 A Web浏览器 第一章数据库系统概述 选择题 1实体-联系模型中,属性是指(C) A.客观存在的事物 B.事物的具体描述 C.事物的某一特征 D.某一具体事件 2对于现实世界中事物的特征,在E-R模型中使用(A) A属性描述B关键字描述C二维表格描述D实体描述 3假设一个书店用这样一组属性描述图书(书号,书名,作者,出版社,出版日期),可以作为“键”的属性是(A) A书号B书名C作者D出版社 4一名作家与他所出版过的书籍之间的联系类型是(B) A一对一B一对多C多对多D都不是 5若无法确定哪个属性为某实体的键,则(A) A该实体没有键B必须增加一个属性作为该实体的键C取一个外关键字作为实体的键D该实体的所有属性构成键 填空题 1对于现实世界中事物的特征在E-R模型中使用属性进行描述 2确定属性的两条基本原则是不可分和无关联 3在描述实体集的所有属性中,可以唯一的标识每个实体的属性称为键 4实体集之间联系的三种类型分别是1:1 、1:n 、和m:n 5数据的完整性是指数据的正确性、有效性、相容性、和一致性 简答题 一、简述数据库的设计步骤 答:1需求分析:对需要使用数据库系统来进行管理的现实世界中对象的业务流程、业务规则和所涉及的数据进行调查、分析和研究,充分理解现实世界中的实际问题和需求。 分析的策略:自下而上——静态需求、自上而下——动态需求 2数据库概念设计:数据库概念设计是在需求分析的基础上,建立概念数据模型,用概念模型描述实际问题所涉及的数据及数据之间的联系。 3数据库逻辑设计:数据库逻辑设计是根据概念数据模型建立逻辑数据模型,逻辑数据模型是一种面向数据库系统的数据模型。 4数据库实现:依据关系模型,在数据库管理系统环境中建立数据库。 二、数据库的功能 答:1提供数据定义语言,允许使用者建立新的数据库并建立数据的逻辑结构 2提供数据查询语言 3提供数据操纵语言 4支持大量数据存储 5控制并发访问 三、数据库的特点 答:1数据结构化。2数据高度共享、低冗余度、易扩充3数据独立4数据由数据库管理系统统一管理和控制:(1)数据安全性(2)数据完整性(3)并发控制(4)数据库恢复 第二章关系模型和关系数据库 选择题 1把E-R模型转换为关系模型时,A实体(“一”方)和B实体(“多”方)之间一对多联系在关系模型中是通过(A)来实现的 Normalization Questions and Answers Database Systems,CSCI4380-01 Sibel Adal? October28,2002 Question1Suppose you are given a relation R=(A,B,C,D,E)with the following functional dependencies:{CE→D,D→B,C→A}. a.Find all candidate keys. b.Identify the best normal form that R satis?es(1NF,2NF,3NF,or BCNF). c.If the relation is not in BCNF,decompose it until it becomes BCNF.At each step,identify a new relation,decompose and re-compute the keys and the normal forms they satisfy. Answer. a.The only key is{C,E} b.The relation is in1NF c.Decompose into R1=(A,C)and R2=(B,C,D,E).R1is in BCNF,R2is in2NF.Decompose R2 into,R21=(C,D,E)and R22=(B,D).Both relations are in BCNF. Question2Suppose you are given a relation R=(A,B,C,D,E)with the following functional de-pendencies:{BC→ADE,D→B}. a.Find all candidate keys. b.Identify the best normal form that R satis?es(1NF,2NF,3NF,or BCNF). c.If the relation is not in BCNF,decompose it until it becomes BCNF.At each step,identify a new relation,decompose and re-compute the keys and the normal forms they satisfy. Answer. a.The keys are{B,C}and{C,D} b.The relation is in3NF c.It cannot be put into BCNF,even if I remove D and put into a relation of the form(B,C,D)(I need C for the functional dependency),the resulting relation would not be in BCNF. Question3Suppose you are given a relation R=(A,B,C,D,E)with the following functional de-pendencies:BD→E,A→C. a.Show that the decomposition into R1=(A,B,C)and R2=(D,E)is lossy.You can show using any method.My suggestion is to show how spurious tuples result from this decomposition with respect to the table below: A B C D E 12345 18344 1 【7.1】假定DMA要求customers可能的discnt值在0.00和10.00之间,而且数值之间的差距只能为0.02,所以可接受的值为0.00,0.02,0.04,......,9.96,9.98,10.00。请用适当的Create Table语句实现这样的约束。注意,因为可能的值很多,所以用CHE子句是不合适的;需要另外定义一个表来实现这一约束。 Use sales create table discnts ([discnt] float(2) not null, primary key([discnt]), check ([discnt] <= 10.00), ) declare @i float set @i=0.00 while @i<10.00 begin insert into discnts values(@i) set @i=@i+0.02 continue end create table customers (cid char(4) not null,cname varchar(13) , city varchar(20),[discnt] float(2) not null, primary key (cid), foreign key ([discnt] )references discnts); 【7.2】根据X/Open中更新视图的约束,下面哪一条SQL语句是合法的?(括一号中说明了视图是在哪个例子中创建的。) (1)update agentorders set month='jun'; (2)update agentorders set month='jun' where pid='c001'; (3)update agentorders set month='axx' where aid='a03'; (1)合法。 (2)不合法。 (3)合法 【7.3】创建一个触发器,当向表orders中插入一个新订单时被触发,自动地更新表products的quantity列。触发器必须把在orders指定的qty从products相应行的quantity中减去。 use sales go create trigger BT on orders for insert 第6章关系数据库理论 1 .理解并给出下列术语的定义: 函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码(All 一key )、1 NF 、ZNF 、3NF 、BcNF 、多值依赖、4NF 。 定义1:设R(U)是属性集U上的关系模式。X,Y是属性集U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作X→Y。(即只要X上的属性值相等,Y上的值一定相等。) 术语和记号: X→Y,但Y不是X的子集,则称X→Y是非平凡的函数依赖。若不特别声明,总是讨论非平凡的函数依赖。X→Y,但Y是X的子集,则称X→Y是平凡的函数依赖。 若X→Y,则X叫做决定因素(Determinant)。 若X→Y,Y→X,则记作X←→Y。 若Y不函数依赖于X,则记作X → Y。 定义2:在R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有X’→ Y,则称Y对X完全函数依赖 若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖 定义3:若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式(1NF)。 定义4:若关系模式R∈1NF,且每一个非主属性完全函数依赖于码,则关系模式R∈2NF 。(即1NF消除了非主属性对码的部分函数依赖则成为2NF)。 定义5:关系模式R 中若不存在这样的码X、属性组Y及非主属性Z(Z不是Y的子集)使得X→Y,Y →X,Y → Z成立,则称R∈3NF。 定义6:关系模式R∈1NF 。若X→Y且Y不是X的子集时,X必含有码,则R∈BCNF。 定义7:关系模式R∈1NF,如果对于R的每个非平凡多值依赖X→→Y(Y不是X的子集,Z=U-X-Y 不为空),X都含有码,则称R∈4NF。 2.建立一个关于系、学生、班级、学会等诸信息的关系数据库。 学生:学号、姓名、出生年月、系名、班号、宿舍区。 班级:班号、专业名、系名、人数、入校年份。 系:系名、系号、系办公地点、人数。 学会:学会名、成立年份、办公地点、人数。 语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。 请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。指出各关系模式的候选码、外部码,有没有全码存在? 解:(1)关系模式如下: 学生:S(Sno,Sname,Sbirth,Dept,Class,Rno) 班级:C(Class,Pname,Dept,Cnum,Cyear) 系:D(Dept,Dno,Office,Dnum) 学会:M(Mname,Myear,Maddr,Mnum) (2)每个关系模式的最小函数依赖集如下: A、学生S (Sno,Sname,Sbirth,Dept,Class,Rno) 的最小函数依赖集如下:Sno→Sname,Sno→Sbirth,Sno→Class,Class→Dept,DEPT→Rno 一、填空 1.目前,数据库系统支持的主要数据模型有__层次__模型、__网状__模型和关系模型。 2.与文件系统相比较,数据库系统的冗余度__小__,数据共享性__高___。3.关系模型的三类完整性是__实体完整性__、__参照完整性__和用户自定义完整性。若基本关系R中含有与另一个基本关系S的主码Ks相对应的属性组F,则对于R中每一个元组在F上的值必须为_空值___或者_S中主码某个值 __。4.由于数据库系统在三级模式之间提供了__外模式/模式_和__模式/内模式__两层映象功能,这就保证了数据库系统具有较高的数据独立性。 5.1NF的关系消除__非主属性对码的部分函数___依赖后,可将范式等级提高到2NF。2NF的关系消除__非主属性对码的传递函数___依赖后,可将范式等级提高到3NF。 6.E-R图的主要元素是实体、属性和_实体之间的联系___。 7.关系代数中专门的关系运算包括:选择、投影、__连接___和__除__。 8.SQL语言中的GRANT语句的功能是__授权__;REVOKE语句的功能是__收回权限__。 9.数据库的逻辑模型设计阶段,任务是将_E-R模型___转换成关系模型。 二、选择 1.关系模型中,同一个表中的不同属性命名( C ) A.可相同 B.必须相同 C.必须不同 D.可相同,但数据类型不同2.逻辑数据独立性是指( B ) A.模式变,用户不变 B.模式变,应用程序不变 C.应用程序变,模式不变 D.子模式变,应用程序不变 3.进行自然联接运算的两个关系必须具有( B ) A.相同属性个数 B.公共属性 C.相同关系名 D.相同关键字4.数据库具有( D ),最小冗余,较高的数据独立性和易于扩充等特点。 A.程序结构化 B.程序标准化 C.数据模块化 D.数据结构化 5. 任何由二个属性组成的关系( D ) A.可能为1NF B.可能为2NF C.可能为3NF D.必为3NF 6.数据库管理系统是位于____之间的一层数据管理软件。( B ) A.硬件与软件 B.用户与操作系统 C.硬件与操作系统 D.数据库与操作系统 7.数据库中,层次模型( A ) A.有且仅有一个结点无双亲,其他结点有且仅有一个双亲 B.有一个以上结点无双亲 C.每个结点都无双亲 D.有一个结点有多于一个双亲 8.一个关系中的候选关键字( B ) A.至多一个 B.可多个 C.必须多个 D.至少3个 9. 在数据库技术中,独立于计算机系统的模型是( A ) A.E-R模型 B.层次模型 《数据库习题答案》来自五星文库 点这里,有很多篇《数据库习题答案》 在线阅读本文: 数据库习题答案 导读:第三章习题,1.关系数据库设计理论,数据依赖范式和关系模式的规范化设计方法,其中数据依赖起着核心的作用,2.关系数据库中的关系模式至少要满足第一范式,如果每个属性值都是不可再分的最小数据单位,(2)试分析模式R的数据冗余问题,关系R中的C属性会存在在数据冗余,相应地原来存储在一张二维表内的数据就要分散存储到多张二维表中,第四章习题,A删除基本表B修改基本表中的数据,A数据项B 元组,C表D数据库 第三章习题 一、单项选择题 1.在关系模型R中,函数依赖X→Y的语义是(B )A.在R的某一关系中,若两个元组的X值相等,则Y值也相等 B.在R的每一关系中,若两个元组的X值相等,则Y值也相等 C.在R的某一关系中,X值应与Y值相等 D.在R的每一关系中,X值应与Y值相等 2.设学生关系模式为:学生(学号,姓名,年龄,性别,成绩,专业),则该关系模式的主键是( B ) A.性别B.学号 C.学号,姓名D.学号,姓名,性别 3.如果X→Y(Y不包含于X,且Y不能决定X)和Y→Z成立,那么X→Z成立。这条规则称为( B ) A.自反律B.传递律 C.伪传递律D.增广律 4.关系模式R2NF,则R一定是(b ) A.1NF B.3NF C.BCNF D.4NF 5.设一关系模式为:运货路径(顾客姓名,顾客地址,商品名,供应商姓名,供应商地址),则该关系模式的主键是( C )A.顾客姓名,供应商姓名,供应商地址B.顾客姓名,商品名 C.顾客姓名,供应商姓名,商品名D.顾客姓名,顾客地址 6.下列有关范式的叙述中正确的是(B ) A.如果关系模式R1NF,且R中主属性完全函数依赖于主键,则R是2NF B.如果关系模式R3NF,则R2NF一定成立 C.如果关系模式R1NF,则只要消除了R中非主属性对主键的传递依赖,则R可转换成2NF D.如果关系模式R1NF,则只要消除了R中非主属性对主键的部分依赖,则R可转换成3NF 7.关系模式学生(学号,课程号,名次),若每一名学生每门课程有一定的名次,每门课程每一名次只有一名学生,则以下叙述中错误的是( B ) A.(学号,课程号)和(课程号,名次)都可以作为候选键B.只有(学号,课程号)能作为候选键 C.该关系模式属于第三范式 D.该关系模式属于BCNF 8.已知关系模式R(ABCD),F={A→C,B→C,C→D },则以下成立的是( B ) A.A→B B.A→D C.AD→BC D.AC→BD 9.如果X→Y且ZU成立,那么XZ→YZ成立,这条规则称为(D )A.自反律B.传递律` C.伪传递律D.增广律 范式分解 主属性:包含在任一候选关键字中的属性称主属性。 非主属性:不包含在主码中的属性称为非主属性。 函数依赖: 是指关系中一个或一组属性的值可以决定其它属性的值。函数依赖正象一个函数 y = f(x) 一样,x的值给定后,y的值也就唯一地确定了。 如果属性集合Y中每个属性的值构成的集合唯一地决定了属性集合X中每个属性的值构成的集合,则属性集合X函数依赖于属性集合Y,计为:Y→X。属性集合Y中的属性有时也称作函数依赖Y→X的决定因素(determinant)。例:身份证号→姓名。部分函数依赖: 设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。 完全函数依赖: 在R(U)中,如果Y函数依赖于X,并且对于X的任何一个真子集X',都有Y不函数依赖于X',则称Y对X完全函数依赖。否则称Y对X部分函数依赖。 【例】; 举个例子就明白了。假设一个学生有几个属性 SNO 学号 SNAME 姓名 SDEPT系 SAGE 年龄 CNO 班级号 G 成绩 对于(SNO,SNAME,SDEPT,SAGE,CNO,G)来说,G完全依赖于(SNO, CNO), 因为(SNO,CNO)可以决定G,而SNO和CNO都不能单独决定G。 而SAGE部分函数依赖于(SNO,CNO),因为(SNO,CNO)可以决定SAGE,而单独的SNO也可以决定SAGE。 传递函数依赖: 设R(U)是属性集U上的关系,x、y、z是U的子集,在R(U)中,若x→y,但y→x,若y→z,则x→z,称z传递函数依赖于x,记作X→TZ。 如果X->Y, Y->Z, 则称Z对X传递函数依赖。 计算X+ (属性的闭包)算法: a.初始化,令X+ = X; b.在F中依次查找每个没有被标记的函数依赖,若“左边属性集”包含于X+ ,则令X+ = X+∪“右边属性集”, 并为访问过的函数依赖设置标记。 第六章结构化程序设计 一、选择题 1、WAIT命令用于让用户输入一个。 A)数字 B)字符 C)字符串 D)以上都是 2、在交互式输入命令中,可以接受逻辑型数据的命令包括______。 A)INPUT和ACCEPT B)WAIT和INPUT C)INPUT和@…GET D)INPUT和@…SAY 3、执行命令 ACCEPT″请输入数据:″TO XYZ 时,可以通过键盘输入的内容包括______。 A)字符串 B)数值和字符串 C)数值,字符串和逻辑值 D)数值,字符串,逻辑值和表达式 4、执行命令INPUT″请输入数据:″TO AAA时,如果要通过键盘输入字符串,应当使用的定 界符包括______。 A)单引号 B)单引号或双引号 C)单引号、双引号或方括弧 D)单引号、双引号、方括弧或圆点 5、在VFP中,可以通过键盘接受数值的命令有_______。 A)ACCEPT B)ACCEPT和WAIT C)INPUT和ACCEPT D)INPUT和 @ 5,10 SAY...GET.. 6、比较WAIT、ACCEPT和INPUT三条命令,需要以回车键表示输入结束的命令是_____。 A)WAIT、ACCEPT、INPUT B)WAIT、ACCEPT C)ACCEPT、INPUT D)INPUT、WAIT 7、以下关于ACCEPT命令的说明,正确的是______。 A)将输入作为字符接收 B)将输入作为数值接收 C)将输入作为逻辑型数据接收 D)将输入作为备注型接收 8、结构化程序设计所规定的三种基本控制结构是_______。 A)输入,处理,输出 B)树型,网型,环型 C)顺序,选择,循环 D)主程序,子程序,函数 9、能将高级语言编写的源程序转换成目标程序的是_______。 A)编程程序 B)编译程序 C)解释程序 D)链接程序 10、VFP中的DO CASE-ENDCASE语句属于_______。 A)顺序结构 B)选择结构 C)循环结构 D)模块结构 11、当前数据库中有五个字段:学号(C,4)、姓名(C,6)、政治(N,3.0)、英语(N,3.0)、数 学(N,3.0),记录指针指向一个非空的记录。要使用SCATTER TO X命令把当前记录的字段值存到数组X中,数组X ______。 A)不必事先定义 B)必须用DIMENSION X 事先定义 C)必须用DIMENSION X(5)事先定义 D)必须用DIMENSION X(1),X(2),X(3),X(4),X(5)事先定义 12、要判断数值型变量Y是否能够被7整除,错误的条件表达式为______。 A)MOD(Y,7)=0 B)INT(Y/7)=Y/7 C)0=MOD(Y,7) D)INT(Y/7)=MOD(Y, 7) 13、在VFP中,命令文件的扩展名是______。 数据库范式练习题 1、请简述满足1NF、2NF和3NF的基本条件。并完成下题:某信息一览表 如下,其是否满足3NF,若不满足请将其化为符合3NF的关系。(本小题12分) 第一范式的关系应满足的基本条件是元组中的每一个分量都必须是不可分割的数据项。 第二范式,指的是这种关系不仅满足第一范式,而且所有非主属性完全依赖于其主码。 第三范式,指的是这种关系不仅满足第二范式,而且它的任何一个非主属性都不传递依赖于任何主关键字。 考生情况(考生编号,姓名,性别,考生学校) 考场情况(考场号,考场地点) 考场分配(考生编号,考场号) 成绩(考生编号,考试成绩,学分) 2、某信息一览表如下,其是否满足3NF,若不满足请将其化为符合3NF的关系。(12分) 配件关系:(配件编号,配件名称,型号规格) 供应商关系(供应商名称,供应商地址) 配件库存关系(配件编号,供应商名称,单价,库存量) 3、简述满足1NF、2NF和3NF的基本条件。并完成下题:已知教学关系, 教学(学号,姓名,年龄,性别,系名,系主任,课程名,成绩),试问该关系的主键是什么,属于第几范式,为什么?如果它不属于3NF,请把它规范到3NF。 4、请确定下列关系的关键字、范式等级;若不属于3NF,则将其化为3NF 。例1.仓库(仓库号,面积,电话号码,零件号,零件名称,规格,库存数量)例1答案: 仓库号+零件号;1NF; 仓库(仓库号,面积,电话号码) 零件(零件号,零件名称,规格) 保存(仓库号,零件号,库存数量) 例2. 报名(学员编号,学员姓名,培训编号,培训名称,培训费,报名日期),每项培训有多个学员报名,每位学员可参加多项培训。 例2答案: 学员编号+培训编号;1NF; 学员(学员编号,学员姓名) 培训(培训编号,培训名称,培训费) 报名(学员编号,培训编号,报名日期) 第六章习题 一、选择题: 为了作图方便,本章用匸二)形框代替CD’形框表示实体的属性。 1.在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它是数据库设计的—阶段。 A.需求分析 B.概念设计 C.逻辑设计 D.物理设计 答案:B 2.E-R图是数据库设计的工具之一,它适用于建立数据库的—o A.概念模型 B.逻辑模型 C.结构模型 D.物理模型 答案:A 3.在关系数据库设计屮,设计关系模式是—的任务。 A.需求分析阶段 B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段 答案:C 4.数据库物理设计完成后,进入数据库实丿施阶段,下列各项中不属于实施阶段的工作是—。 A.建立库结构 B.扩充功能 C.加载数据 D.系统调试 答案:B 5.数据库概念设计的E-R方法中,用属性描述实体的特征,属性在E-R图中,用—表示。 A.矩形 B.四边形 C.菱形 D.椭圆形 答案:D 6.在数据库的概念设计中,最常用的数据模型是—。 A形象模型 B.物理模型C.逻辑模型D.实体联系模型 答案:D 7.在数据库设计中,在概念设计阶段可用E-R方法,其设计出的图称为—o A.实物示意图 B.实用概念图 C.实体表示图 D.实体联系图 答案:D 8.从E-R模型关系向关系模型转换时,一个M:N联系转换为关系模式时,该关系模式的关键字是—0 A. M端实体的关键字 B. N端实休的关键字 C. M端实体关键字与N端实体关键字组合 D.重新选取其他属性 答案:C 9.当局部E-R图合并成全局E-R图时可能出现冲突,不属于合并冲突的是—o A.属性冲突 B.语法冲突 C.结构冲突 D.命名冲突 第六章计算机信息系统与数据库 6.1计算机信息系统 知识点与学习要求 1.掌握计算机信息系统的含义及主要特点。 2.区分数据库、数据库管理系统和数据库系统的不同概念和内容。 3.了解信息系统中两种数据可访问模式。 内容简介 1.什么是计算机信息系统 计算机信息系统是特指一类以提供信息服务为主要目的的数据密集型、人机交互式的计算机应用系统。它具有四个重要特点: (1)涉及的数据量很大,有时甚至是海量的。一般需存放在辅助存储器中,内存中只暂存当前要处理的一小部分数据。 (2)绝大部分数据是持久的,即不随程序运行结束而消失,而需长期保留在计算机系统中。(持久性) (3)这些持久数据为多个应用程序和多个用户所共享,甚至在一个单位或更大范围内共享。(共享性) (4)除具有数据采集、传输、存储和管理等基本功能外,还可向用户提供信息检索、统计报表、事务处理、规划、设计、指挥、控制、决策、报警、提示、咨询等多种信息服务。(功能多样性) 注意:请读者注意信息与数据这两个概念的区别和联系。 (1)计算机是一种基于二进制运算的信息处理机器,任何需要由计算机进行处理的信息,都必须进行一定程度的形式化,并表示成二进制编码的形式。这就引进了数据的概念。数据是计算机中对事实、概念或指令进行描述的一种特殊格式。 (2)在信息处理领域中,信息指的是人们要解释的那些数据的含义。计算机信息处理,微观上就是由计算机进行数据处理的过程,实际上就是数据处理,数据处理的目的是获取有用的信息。在许多场合,如果不引起混淆的话,信息和数据通常并不严格加以区分。 2. 数据库系统的基本概念 在数据库系统中有几个相互关联又有区别的重要基本概念。 (1)数据库。是指长期存储在计算机内、有组织、可共享的数据集合。其特点是:它是长期存放数据的“仓库”、其中的数据可以被“共享”且数据以一定方式来组织、描述和存储的。 (2)数据模型。数据库中的数据是以指定的“数据模型”进行存储的。根据不同数据模型,数据库可分为关系数据库、层次数据库和网状数据库。 (3)关系数据库。采用关系模型的数据库就是关系数据库,它采用二维表结构来表示各类实体及其间的联系,二维表由行和列组成。一个关系数据库由许多张二维组成。 (4)数据库管理系统。数据库管理系统是信息系统资源管理层中的重要部分,是操纵和管理数据库的大型软件。它的任务是统一管理和控制数据库的建立、运用和维护,用户定义数据和操纵数据,并保证数据安全性、完整性、多用户并发使用及数据库恢复。 (5)数据库系统的特点。 ①数据结构化。数据面向全局应用,用数据模型描述数据和数据之间的关系。 第六章习题答案 一、选择填空 1、A 2、C 3、D 4、B 5、D 6、A 7、C 8、A 9、D 10、A 11、C 12、A 13、B 14、C 15、C 16、D 17、B 18、C 19、A 20、D 21、C 22、B 二、判断下列描述的正确性,对者划√,错者划×。 1、√ 2、× 3、× 4、× 5、√ 6、√ 7、× 8、√ 9、×10、√ 11、√12、√13、√14、√15、×16、√17、√18、√19、√20、× 21、×22、× 三、分析下列程序的输出结果。 1、运行该程序输出结果如下所示。 Default constructor called Constructor called a=0,b=0 a=4,b=8 2、运行该程序输出结果如下所示。 a=7,b=9 3、运行该程序输出结果如下所示。 104 4、运行该程序输出结果如下所示。 1035,789.504 5、运行该程序输出结果如下所示。 1 {} {0,1,2,3,4,5,6,7,8} 1 {11,12,13,14,15,16,17,18,19} {19,18,17,16,15,14,13,12,11} 6、运行该程序输出结果如下所示。 Starting1: Default constructor called. Default constructor called. Default constructor called.Eding1: Starting2: Constructor: a=5,b=6 Constructor: a=7,b=8 Constructor: a=9,b=10 Ending2: Destructor called.a=9,b=10 Destructor called.a=7,b=8 Destructor called.a=5,b=6 Destructor called.a=5,b=6 Destructor called.a=3,b=4 数据库设计三大范式 引言 数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。 范式说明 第一范式(1NF):数据库表中的字段都是单一属性的,不可再分。这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、日期型等。 例如,如下的数据库表是符合第一范式的: 而这样的数据库表是不符合第一范式的: 很显然,在当前的任何关系数据库管理系统(DBMS)中,傻瓜也不可能做出不符合第一范式的数据库,因为这些DBMS不允许你把数据库表的一列再分成二列或多列。因此,你想在现有的DBMS中设计出不符合第一范式的数据库都是不可能的。 第二范式(2NF):数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖(部分函数依赖指的是存在组合关键字中的某些字段决定非关键字段的情况),也即所有非关键字段都完全依赖于任意一组候选关键字。 假定选课关系表为SelectCourse(学号, 姓名, 年龄, 课程名称, 成绩, 学分),关键字为组合关键字(学号, 课程名称),因为存在如下决定关系: (学号, 课程名称) →(姓名, 年龄, 成绩, 学分) 这个数据库表不满足第二范式,因为存在如下决定关系: (课程名称) →(学分) (学号) →(姓名, 年龄) 即存在组合关键字中的字段决定非关键字的情况。 由于不符合2NF,这个选课关系表会存在如下问题: (1) 数据冗余: 同一门课程由n个学生选修,"学分"就重复n-1次;同一个学生选修了m门课程,姓名和年龄就重复了m-1次。 (2) 更新异常: 若调整了某门课程的学分,数据表中所有行的"学分"值都要更新,否则会出现同一门课程学分不同的情况。 (3) 插入异常: 假设要开设一门新的课程,暂时还没有人选修。这样,由于还没有"学号"关键字,课程名称和学分也无法记录入数据库。 (4) 删除异常: 假设一批学生已经完成课程的选修,这些选修记录就应该从数据库表中删除。但是,与此同时,课程名称和学分信息也被删除了。很显然,这也会导致插入异常。 把选课关系表SelectCourse改为如下三个表: 学生:Student(学号, 姓名, 年龄); 课程:Course(课程名称, 学分); 选课关系:SelectCourse(学号, 课程名称, 成绩)。 这样的数据库表是符合第二范式的,消除了数据冗余、更新异常、插入异常和删除异常。 另外,所有单关键字的数据库表都符合第二范式,因为不可能存在组合关键字。 第三范式(3NF):在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式。所谓传递函数依赖,指的是如果存在"A → B →C"的决定关系,则C传递函数依赖于A。因此,满足第三范式的数据库表应该不存在如下依赖关系: 关键字段→非关键字段x →非关键字段y 假定学生关系表为Student(学号, 姓名, 年龄, 所在学院, 学院地点, 学院电话),关键字为单一关键字"学号",因为存在如下决定关系:第六章--数据库一览
数据库范式练习题
数据库第六章关系数据理论习题讲解
第六章信息系统与数据库
(完整版)数据库课后习题及答案
数据库范式习题答案
第六章 数据库保护习题(徐玲)
数据库系统原理教程习题答案第6章习题
数据库原理复习题1
数据库习题答案-3
数据库范式理解例题
数据库第六章习题综合要点
数据库范式练习题
数据库复习第六章习题.docx
第六章 计算机信息系统与数据库
数据库第六章习题答案
数据库设计范式