2002年下半年全國(guó)高等教育自學(xué)考試
數(shù)據(jù)庫(kù)及其應(yīng)用
(課程代號(hào):2120)
第一部分 選擇題(共40分)
一、單項(xiàng)選擇題(本大題共20小題,每小題2分,共40分)在每小題列出的四個(gè)選項(xiàng)中只有一個(gè)是符合題目要求的,請(qǐng)將其代碼填在題后的括號(hào)內(nèi)。錯(cuò)選或未選均無(wú)分。
1.英文縮寫DBA代表( )
A.數(shù)據(jù)庫(kù)管理員 B.數(shù)據(jù)庫(kù)管理系統(tǒng) C.數(shù)據(jù)定義語(yǔ)言 D.數(shù)據(jù)操縱語(yǔ)言
2.若在實(shí)體R的諸屬性中,屬性A不是R的主鍵,卻是另一個(gè)實(shí)體S的主鍵,則稱A為R的( )
A.候選鍵 B.外部鍵 C.非主屬性 D.主屬性
3.數(shù)據(jù)庫(kù)系統(tǒng)與文件系統(tǒng)本質(zhì)的不同表現(xiàn)在( )
A.數(shù)據(jù)庫(kù)中的數(shù)據(jù)是按一定的數(shù)據(jù)結(jié)構(gòu)組織的
B.數(shù)據(jù)庫(kù)中的數(shù)據(jù)項(xiàng)需指明數(shù)據(jù)類型和取值范圍
C.數(shù)據(jù)庫(kù)提供了便利的存取方法
D.數(shù)據(jù)庫(kù)具有更高的數(shù)據(jù)存儲(chǔ)量
4.設(shè)一位教師可講授多門課程,一門課程可由多位教師講授,教師與課程之間是( )
A.一對(duì)一的聯(lián)系 B.一對(duì)多的聯(lián)系 C.多對(duì)一的聯(lián)系 D.多對(duì)多的聯(lián)系
5.關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言具有一體化的特點(diǎn),該特點(diǎn)的提出主要是對(duì)比( )
A. 操作系統(tǒng)命令 B.非關(guān)系模型的數(shù)據(jù)操縱語(yǔ)言 C.高級(jí)程序設(shè)計(jì)語(yǔ)言 D.自然語(yǔ)言
6.在下述局部E-R圖中,標(biāo)出*號(hào)的圖形元素是( )
A.實(shí)體 B.實(shí)體的屬性 C.聯(lián)系 D.聯(lián)系的屬性
7.計(jì)算表達(dá)式"-3+5<3.OR.2^2%3>1"的值時(shí),運(yùn)算順序?yàn)? )
A.+ - ^ % < > .OR. B.- ^ % + < > .OR.
C.- + ^ % < > .OR. D.- % ^ + < > .OR.
8.執(zhí)行語(yǔ)句"?{99/05/01}-{99/06/01}"后,輸出結(jié)果為( )
A.30 B.-31 C.31 D.-30
9.下列標(biāo)識(shí)符中不是FoxPro函數(shù)的是( )
A. SQRT B. LOG C. EXP D. LIST
10.在下列語(yǔ)句中,錯(cuò)誤的語(yǔ)句是( )
A. STORE 2*3 TO a,b B. a=2*3
C. STORE 2*3, 2+3 TO a,b D. SAVE SCREEN TO c
11.函數(shù)調(diào)用SUBSTR("daughter",4)的結(jié)果是( )
A. ghter B. ghte C. hter D. 空串
12.執(zhí)行語(yǔ)句"? STUFF("MS Windows OS",4,8,"D")"后,輸出結(jié)果為( )
A. MSDOS B. MS DOS C. MS D OS D. MSD OS
13.對(duì)兩個(gè)數(shù)據(jù)庫(kù)文件進(jìn)行連接操作,在工作區(qū)2、3中分別打開這兩個(gè)數(shù)據(jù)庫(kù)文件。設(shè)內(nèi)存變量p1中的內(nèi)容為兩庫(kù)的一個(gè)公共字段名,內(nèi)存變量dbnam存放新數(shù)據(jù)庫(kù)文件的文件名"綜合考試"。在工作區(qū)2執(zhí)行連接操作,正確的語(yǔ)句是( )
A. JOIN WITH C TO &dbnam FOR p1=C->&p1
B. JOIN WITH C TO &dbnam FOR &p1=C->p1
C. JOIN WITH C TO &dbnam FOR &p1=C->&p1
D. JOIN WITH C TO &dbnam FOR p1=C->p1
14.在當(dāng)前打開的數(shù)據(jù)庫(kù)文件zg.dbf中,教工的職稱、工資存于"職稱"、"工資"字段。統(tǒng)計(jì)職稱為"教授"的平均工資、并存入變量pj中的命令是( )
A. AVERAG 工資 TO pj FOR 職稱=教授
B. AVERAG 工資 ALL TO pj FOR 職稱="教授"
C. AVERAG 工資 TO pj FOR"職稱"=教授
D. AVERAG "工資" TO pj FOR 職稱="教授"
15.如果用一個(gè)未被索引的庫(kù)文件更新當(dāng)前庫(kù)文件,則選用UPDATE命令的選項(xiàng)是( )
A. FIELDS B. UNIQUE C. RANDOM D. FOR
16.FoxPro中的每個(gè)工作區(qū)同時(shí)最多允許打開的數(shù)據(jù)庫(kù)文件數(shù)目是( )
A.1 B.2 C.8 D.任意
17.FoxPro中數(shù)據(jù)庫(kù)文件的通用型字段中存放的是( )
A. 圖片、圖像、聲音文件 B.字符型數(shù)據(jù)
C.數(shù)值型數(shù)據(jù) D.指向圖片、圖像、聲音等文件的指針
18.FoxPro中的報(bào)表設(shè)計(jì)窗口中的Detail區(qū)用于定義( )
A.一次性出現(xiàn)在整個(gè)報(bào)表前面的標(biāo)題的信息 B.每一頁(yè)上部的標(biāo)題、日期、頁(yè)號(hào)等信息
C.每個(gè)記錄都要打印一次的信息 D.一次性打印在整個(gè)報(bào)表尾部的信息
19.用CREATE MENU test命令進(jìn)入菜單設(shè)計(jì)窗口建立菜單時(shí),存盤后在磁盤上出現(xiàn)文件( )
A. test.mpr 和test.mnt B. test.mnx和test.mpr
C. test.mpb 和test.mpx D. test.mnx和test.mnt
20.FoxPro中的項(xiàng)目管理器用于( )
A.管理項(xiàng)目開發(fā)人員 B.管理項(xiàng)目中各類文件
C.控制項(xiàng)目進(jìn)度 D.控制項(xiàng)目開發(fā)費(fèi)用
第二部分 非選擇題(共60分)
二、填空題(本大題共10小題,每小題1分,共10分)不寫解答過(guò)程,將正確的答案寫在每小題的空格內(nèi)。錯(cuò)填或不填均無(wú)分。
21.聯(lián)系是數(shù)據(jù)庫(kù)技術(shù)的重要特點(diǎn),至于怎樣實(shí)現(xiàn)聯(lián)系,取決于_______。
22.數(shù)據(jù)庫(kù)系統(tǒng)采用映射技術(shù)的好處有:有利于數(shù)據(jù)庫(kù)的使用、安全性好、保密性強(qiáng)、保證數(shù)據(jù)共享和_______。
23.實(shí)體間聯(lián)系分為三種:一對(duì)一聯(lián)系、_______、多對(duì)多聯(lián)系。
24.屬性是信息世界中廣泛使用的一個(gè)術(shù)語(yǔ),它對(duì)應(yīng)于數(shù)據(jù)世界的_______。
25.當(dāng)采用關(guān)系模型設(shè)計(jì)應(yīng)用系統(tǒng)時(shí),關(guān)系模式的規(guī)范化并不是范式越高越好,因?yàn)榉妒降囊?guī)范化程度越高,當(dāng)進(jìn)行_______操作時(shí),系統(tǒng)的開銷會(huì)更大。
26.對(duì)數(shù)據(jù)庫(kù)應(yīng)用程序進(jìn)行測(cè)試的目的是_______。
27.數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的過(guò)程是"概念設(shè)計(jì)→_______→物理設(shè)計(jì)"。
28.數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)包括_______特性設(shè)計(jì)和行為特性設(shè)計(jì)。
29.FoxPro的_______可用于生成屏幕文件。
30.事件驅(qū)動(dòng)是一種程序運(yùn)行機(jī)制,它根據(jù)操作者的動(dòng)作控制_______,從而完成相應(yīng)的功能。
三、程序分析題(每小題5分,共15分)
31.數(shù)據(jù)庫(kù)文件gz.dbf有如下記錄:
Record# 編號(hào) 姓名 年齡 職稱 工資
1 3001 張 立 36 講師 690
2 3002 王 方 31 講師 680
3 3003 李 平 22 助教 820
4 3004 朱 巖 46 副教授 960
5 3005 陳 劍 40 教授 1100
6 3006 陳國(guó)青 50 副教授 920
7 3007 趙 麗 47 教授 1200
運(yùn)用下列程序,給出輸出結(jié)果。
SET TALK OFF
USE gz
SUM ALL 工資 TO b FOR 年齡>45 .AND. 工資<1000
REPLACE 工資 WITH 工資+100 FOR 年齡>=50 .AND.職稱='副教授' ALL
REPLACE 職稱 WITH '教授' FOR 年齡 >=50 ALL
LIST FOR 年齡 >=50
?b
RETURN
輸出結(jié)果:
32.數(shù)據(jù)庫(kù)文件gz.dbf有如下記錄:
Record# 編號(hào) 姓名 年齡 職稱 工資
1 1001 吳 青 36 講師 670
2 1002 張 平 31 講師 680
3 1003 李立平 22 講師 820
4 1004 朱國(guó)海 46 副教授 960
5 1005 陳玉玲 40 教授 1100
6 1006 方 華 50 副教授 920
7 1007 李 蕓 47 教授 1200
8 1008 李 立 26 講師 690
運(yùn)用下列程序,給出文件file2.txt的內(nèi)容。
SET TALK OFF
USE gz
REPLACE ALL 工資 WITH 工資+60 FOR 職稱="講師".AND. 工資<700
GO TOP
SORT ON 工資 TO gz1
USE gz1
COPY TO file2 SDF FIELDS 編號(hào),姓名,職稱,工資 FOR 職稱="講師"
USE
RETURN
文件file2.txt中內(nèi)容:
33.數(shù)據(jù)庫(kù)文件user.dbf用于存放住戶信息,其字段有:tno(電話號(hào)碼,字符型),uname(姓名,字符型),addr(地址,字符型);數(shù)據(jù)庫(kù)文件charge.dbf用于存放住戶每月的電話交費(fèi)信息,其字段有:tno(電話號(hào)碼,字符型),tmonth(月份,數(shù)值型),money(電話費(fèi),數(shù)值型)。
user.dbf的內(nèi)容如下 ┆ charge.dbf的內(nèi)容如下
tno uname addr ┆ tno tmonth moeny
123 u1 a1 ┆ 456 1 100
456 u2 a2 ┆ 123 2 90
789 u3 a3 ┆ 456 2 150
┆ 789 1 300
┆ 123 1 60
┆ 456 3 80
給出下述程序的輸出結(jié)果。
SET TALK OFF
CLEAR ALL
SELECT B
USE charge
INDEX ON tno TO charge
SELECT A
USE user
SET RELATION TO tno INTO charge
SCAN
SELECT charge
AVERAGE money TO mm REST WHILE tno=user->tno
SELECT user
?tno+SPACE(2)+unmae+SPACE(2)+STR(mm,3)
ENDSCAN
CLEAR ALL
RETURN
輸出結(jié)果為:
四、程序設(shè)計(jì)(每小題5分,共25分)
34.數(shù)據(jù)庫(kù)文件stud1.dbf的字段有學(xué)號(hào)、姓名、性別、專業(yè),數(shù)據(jù)庫(kù)文件stud2.dbf的字段有學(xué)號(hào)、數(shù)學(xué)、物理、英語(yǔ),數(shù)據(jù)庫(kù)文件stud3.dbf的字段有學(xué)號(hào)、大學(xué)生修養(yǎng)。下述程序?qū)崿F(xiàn)將前述三個(gè)數(shù)據(jù)庫(kù)文件按學(xué)號(hào)關(guān)聯(lián)。完成下述程序。
SET TALK OFF
CLEAR ALL
SELECT 1
USE stud1
SELECT 2
USE stud2
____(1)____
SELECT 3
USE stud3
____(2)____
SELECT 1
SET RELATION TO 學(xué)號(hào) INTO B
____(3)____
LIST FIELDS 學(xué)號(hào),姓名,專業(yè),B->數(shù)學(xué),C->大學(xué)生修養(yǎng)
SET RELATION TO
CLOSE ALL
SET TALK ON
RETURN
(1)
(2)
(3)
35.數(shù)據(jù)庫(kù)文件grades.dbf用于存放學(xué)生的成績(jī),其字段有:sname(姓名,字符型),grade(成績(jī),數(shù)值型)。下述程序的功能是:查找至少學(xué)過(guò)兩門課程的學(xué)生姓名。完成下述程序。
SET TALK OFF
USE grades
INDEX ON sname TO grades
DO WHILE ___(1)__
mname=sname
COUNT TO num WHILE __(2)__
IF __(3)__
? mname
ENDIF
ENDDO
USE
RETURN
(1)
(2)
(3)
36.下述程序的功能是:求數(shù)組a中數(shù)組元素的最大值。完成下述程序。
SET TALK OFF
DIME a(10)
a=0
FOR i=1 TO 10
@i,20,SAY "整數(shù)" GET a(i)
ENDFOR
__(1)__
__(2)__
FOR i=1 TO 10
IF __(3)__ THEN
maxval=i
ENDIF
ENDFOR
? a(maxval)
RETURN
(1)
(2)
(3)
37.數(shù)據(jù)庫(kù)文件item.dbf用于存放商品信息,其字段有:iname(商品名,字符型),itype(型號(hào),字符型),price(單價(jià),數(shù)值型)。下述程序的功能是:查找單價(jià)最高的商品。完成下述程序。
SET TALK OFF
____(1)____
SCATTER TO ary BLANK
SCAN
IF price>ary(3)
____(2)____
ENDIF
____(3)____
?ary(1)+ary(2)+STR(art(3))
USE
RETURN
(1)
(2)
(3)
38.數(shù)據(jù)庫(kù)文件schoola.dbf和schoolb.dbf具有相同的結(jié)構(gòu),其字段有:course(課程名,字符型),chour(學(xué)時(shí)數(shù),數(shù)值型),credit(學(xué)分,數(shù)值型),flag(標(biāo)志,邏輯型)。下述程序的功能是:查找在schoola.dbf和schoolb.dbf中都有的課程名稱。完成下述程序。
SET TALK OFF
SELECT B
USE schoolb ALIAS new
INDEX ON ____(1)____ TO schoolb
SELECT A
USE schoola ALIAS old
INDEX ON course TO schoola
REPLACE ALL flag WITH .F.
UPDATE ON course FROM ____(2)____ REPLACE flag WITH .T.
SCAN ____(3)____
? course
ENDSCAN
CLEAR ALL
RETURN
(1)
(2)
(3)
五、綜合題(每小題5分,共10分)
39.數(shù)據(jù)庫(kù)文件z.dbf存在,說(shuō)明函數(shù)abc()、uvw()及主程序?qū)崿F(xiàn)的功能。
SET TALK OFF
SET PROCEDURE TO ulty
USE z
srecord=abc()
DO WHILE SPACE(0) <> srecord
GO xyz()
DISPLAY
ENDDO
USE
SET PROCEDURE TO
RETURN
文件ulty.prg的內(nèi)容如下:
FUNCTION abc
PRIVATE mstr, mno
mstr=SPACE(0)
DO WHILE .T.
mno=uvw()
IF mno=0
EXIT
ENDIF
mstr=mstr+LTRIM(TRIM(STR(mno)))+'#'
ENDDO
RETURN mstr
FUNCTION nvw
PRIVATE mno
mno=0
@10,10SAY "記錄號(hào)" GET mno VALID mno>=0 .AND. mno<=RECCOUNT("z")
READ
RETURN mno
FUNCTION xyz
PRIVATE mno, prt
prt=AT('#',srecord)
mno=VAL(SUBSTR(srecord,1,prt-1))
srecord=SUBSTR(srecord,prt+1)
RETURN mno
abc()的功能:
uvw()的功能:
主程序?qū)崿F(xiàn)的功能:
40.描述學(xué)生的關(guān)系模式R(SNO,SD,MN,CNO,G),其中SNO表示學(xué)號(hào),SD表示系名,MN表示系主任姓名,CNO表示課程號(hào),G表示學(xué)生成績(jī)。其數(shù)據(jù)語(yǔ)義是:一個(gè)系有若干學(xué)生,但一個(gè)學(xué)生只屬于一個(gè)系;一個(gè)系只有一名系主任;一個(gè)學(xué)生可以選修多門課程,每門課程有若干學(xué)生選修;每個(gè)學(xué)生所學(xué)的每門課程都有一個(gè)成績(jī)。完成如下要求:
(1)給出關(guān)系模式R上的所有函數(shù)依賴;
(2)關(guān)系模式R存在哪些數(shù)據(jù)存儲(chǔ)異常問(wèn)題?
(3)具體說(shuō)明每一種數(shù)據(jù)存儲(chǔ)異常所反映的存儲(chǔ)異常問(wèn)題的語(yǔ)義。