2003年1月份全國高等教育自學(xué)考試數(shù)據(jù)庫及其應(yīng)用試題

字號:

第一部分 選擇題 (共40分)
    一、單項選擇題(本大題共20小題,每小題2分,共40分)在每小題列出的四個選項中只有一個是符合題目要求的。請將其代碼填在題后的括號內(nèi)。錯選或未選均無分。
    1.在數(shù)據(jù)庫系統(tǒng)中,面向用戶、也就是用戶所涉及的數(shù)據(jù)庫被稱為( )
    A.外模式 B.概念模式
    C.存儲模式 D.模式
    2.數(shù)據(jù)模型表示的是數(shù)據(jù)庫框架,要構(gòu)建為數(shù)據(jù)庫,必須在框架的約束下填上( )
    A.具體數(shù)據(jù) B.取值范圍
    C.聯(lián)系 D.聯(lián)系方式
    3.學(xué)生實體通過“學(xué)號”、“姓名”、“年齡”、“性別”和“成績”等屬性來表明學(xué)生狀況,這是( )
    A.實體值 B.實體型
    C.屬性值 D.屬性型
    4.設(shè)一個倉庫存放多種商品,同一種商品只能存放在一個倉庫中,倉庫與商品是( )
    A.一對一的聯(lián)系 B.一對多的聯(lián)系
    C.多對一的聯(lián)系 D.多對多的聯(lián)系
    5.將1NF規(guī)范為2NF,應(yīng)( )
    A.消除了非主屬性對鍵的部分函數(shù)依賴
    B.消除了非主屬性對鍵的傳遞函數(shù)依賴
    C.消除了主屬性對鍵的部分函數(shù)依賴和傳遞函數(shù)依賴
    D.使每一個非主屬性都完全函數(shù)依賴于主鍵
    6.建立E—R模型的工作屬于數(shù)據(jù)庫生命周期中的( )
    A.分析階段 B.設(shè)計階段
    C.編碼階段 D.測試階段
    7.針對數(shù)據(jù)庫文件的某個關(guān)鍵字段的值,在邏輯上重新排列庫文件順序所建立的文件稱為
    ( )
    A.文本文件 B.索引文件
    C.排序文件 D.命令文件
    8.已知a=″car″,b=″bus″,c=″class″,d=″duck″,e=MIN(a,b,c,d),則e等于( )
    A.duck B.class
    C.bus D.car
    9.使下列程序不能正確運行的是( )
    STORE _______ TO add
    STORE ″20&add.10″ TO result
    ? &result
    A.{+} B.′+′
    C.″+″ D.[+]
    10.已知DIMENSION aa(2,3),該數(shù)組的第2個數(shù)組元素是( )
    A.aa(0,1) B.aa(1,0)
    C.aa(1,2) D.aa(2,1)
    11.計算表達式3+5>4.AND.″ab″-″c″$″babcd″的值時,運算順序為( )
    A.+>.AND.-$ B……AND.$+->
    C.+-$>.AND. D.+.AND.$->
    12.執(zhí)行語句″?LEN(SUBSTR(REPLICATE(″*″,10),4,5))″后輸出( )
    A.5 B.2
    C.4 D.6
    13.FoxPro中APPEND BLANK命令的功能是在當(dāng)前已打開的數(shù)據(jù)庫文件( )
    A.末尾追加一條空記錄
    B.頂部追加一條空記錄
    C.當(dāng)前記錄前追加一條空記錄
    D.當(dāng)前記錄后追加一條空記錄
    14.FoxPro中不能對數(shù)據(jù)庫文件中記錄進行操作的命令是( )
    A.EDIT B.CHANGE
    C.BROWSE D.MODIFY
    15.數(shù)據(jù)庫文件已按“專業(yè)”字段進行索引,并已打開索引文件,對各專業(yè)總分進行分類求和的命令是( )
    A.TOTAL ON ″總分″ TO cjzf
    B.TOTAL ON ″專業(yè)″ TO cjzf FIELDS 總分
    C.TOTAL ON 總分 TO cjzf
    D.TOTAL ON 專業(yè) TO cjzf FIELDS 總分
    16.當(dāng)前打開的一個數(shù)據(jù)庫文件中有20條記錄,運行命令″?EOF( )″的結(jié)果為。T.,則運行命令″? RECNO( )″的結(jié)果是( )
    A.20 B.21 C.0 D.1
    17.在某圖書數(shù)據(jù)庫中已按圖書名字段創(chuàng)建的索引文件已打開,并已對變量name1賦值“高等數(shù)學(xué)”,要使用name1來查找圖書,應(yīng)使用的命令是( )
    A.SEEK &name1 B.FIND name1
    C.FIND &name1 D.LOCATE FOR name1
    18.FoxPro中有關(guān)變量賦值語句正確的描述是( )
    A.ACCEPT能夠?qū)?shù)值型變量賦值
    B.INPUT只能對數(shù)值型變量賦值
    C.ACCEPT、INPUT都能對字符型變量賦值
    D.STORE只能對一個內(nèi)存變量賦值
    19.建立過程文件的FoxPro命令是( )
    A.MODIFY COMMAND B.MODIFY PROCEDURE
    C.CREATE COMMAND D.CREATE PROCEDURE
    20.以下程序結(jié)構(gòu)中錯誤的是( )
    A.IF… B.IF… C.DO WHILE… D.DO WHILE…
    ┇ ┇ ┇ ┇
    DO WHILE… ENDIF IF… IF…
    ┇ ┇ ┇ ┇
    ENDDO DO WHILE ENDIF ENDDO
    ┇ ┇ ┇ ┇
    ENDIF ENDDO ENDDO ENDIF
    第二部分 非選擇題 (共60分)
    二、填空題(本大題共10小題,每小題1分,共10分)
    不寫解答過程,將正確的答案寫在每小題的空格內(nèi)。錯填或不填均無分。
    21.數(shù)據(jù)庫維護功能包括:數(shù)據(jù)庫初始裝入,數(shù)據(jù)庫轉(zhuǎn)儲,_______及記載系統(tǒng)工作日志等功能。
    22.每個數(shù)據(jù)均需指明其數(shù)據(jù)類型和取值范圍,這是數(shù)據(jù)_______約束所必需的。
    23.在數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)模型有層次模型、_______、關(guān)系模型。
    24.聯(lián)系也是實體,所以聯(lián)系也可以有_______.
    25.若關(guān)系R∈2NF,且它的每一個非主屬性都_______,則稱R∈3NF.
    26.在數(shù)據(jù)字典中,對數(shù)據(jù)流“住戶”表示為:住戶=姓名+房號+面積,定義了組成該數(shù)據(jù)流的_______.
    27.建立局部E—R圖時,根據(jù)數(shù)據(jù)流圖中對數(shù)據(jù)的加工確定實體之間的_______.
    28.對關(guān)系模式執(zhí)行“分解”時,必須遵循規(guī)范化原則:分解后的關(guān)系要相互獨立且分解必須是_______.
    29.面向?qū)ο蟮姆椒ò褜ο蟮膶傩院蚠______集成到一個對象中。
    30.FoxPro在屏幕上激活窗口W的命令是_______.
    三、程序分析題(本大題共3小題,每小題5分,共15分)
    31.寫出下列程序的運行結(jié)果:
    SET TALK OFF
    STORE 3 TO x
    y=1
    x=x*y
    y=y+1
    sf=″**″
    ss=″x″+″&″+″sf.″+″y″
    ?″abc=″+STR(x,2)+′-′+STR(&ss,4)
    SET TALK ON
    RETURN
    程序執(zhí)行結(jié)果:
    33.數(shù)據(jù)庫文件xsk.dbf的內(nèi)容如下:
    編號 名稱 數(shù)量 單價
    A001 電視機 20 3500
    A002 攝象機 33 6000
    A001 電視機 31 3500
    B001 洗衣機 10 1200
    B002 冰 箱 15 2300
    閱讀下列程序
    SET TALK OFF
    SET DELETED ON
    USE xsk
    DELETE FOR 編號=″A001″
    GO 2
    DELETE
    RCALL FOR 數(shù)量<30
    COUNT TO sj
    ? sj
    USE
    SET TALK ON
    RETURN
    程序執(zhí)行結(jié)果:
    33.給出下述程序的執(zhí)行結(jié)果。
    SET TALK OFF
    CLEAR
    n=52
    p=2
    DO WHILE n< >1
    IF INT (n/p)=n/p THEN
    ? p
    n=INT(n/p)
    ELSE
    p=p+1
    ENDIF
    ENDDO
    RETURN
    程序執(zhí)行結(jié)果:
    四、程序設(shè)計(本大題共5小題,每小題5分,共25分)
    34.文件star.dbf用于存放演員信息,其字段有sname(姓名,字符型),sex(性別,字符型),knum(演電影數(shù),數(shù)值型)。下述程序的功能是:查找演員中演電影少的人數(shù)及其所演的電影部數(shù)。完成下述程序。
    SET TALK OFF
    USE star
    IF .NOT. EOF( )
    minval=knum
    num=0
    DO WHILE .NOT. EOF( )
    IF knum<=minval
    IF knum    ___(1)____
    ___(2)____
    ENDIF
    num=num+1
    ENDIF
    ___(3)____
    ENDDO
    ? STR(num)+STR(minval)
    ENDIF
    USE
    RETURN
    (1)
    (2)
    (3)
    35.已知數(shù)據(jù)庫文件stud.dbf存放學(xué)生成績,其字段有:xname(姓名,字符型),zcj(總成績,數(shù)值型),xh(學(xué)號,字符型),現(xiàn)要求對學(xué)生成績以降序排列。完成下列程序。
    SET TALK OFF
    USE stud
    FOR k=1 TO ____(1)____
    GOTO k
    SCATTER TO ary
    SCAN REST
    IF ____(2)____
    SCATTER TO xmp
    GATHER FROM ary
    FOR n=1 TO ____(3)____
    ary(n)=xmp(n)
    ENDFOR
    ENDIF
    ENDSCAN
    ____(4)____
    GATHER FROM ary
    ENDFOR
    USE
    SET TALK ON
    RETURN
    (1)
    (2)
    (3)
    (4)
    36.文件player.dbf用于存放球員信息,其字段有:pname(姓名,字符型),position(位置,字符型),goal(得分,數(shù)值型)。下述程序的功能是:查找得分少的所有球員信息。完成下述程序。
    SET TALK OFF
    USE player
    IF .NOT. EOF( )
    minval=goal
    ____(1)____=LTRIM (TRIM(STR(RECNO( )))
    SCAN
    DO CASE
    CASE ____(2)____
    minval=goal
    rstr=″#″+LTRIM(TRIM(STR(RECNO( ))))
    CASE goal=minval
    rstr=rstr+″#″+LTRIM(TRIM(STR(RECNO( ))))
    ENDCASE
    ENDSCAN
    LIST FOR AT(″#″+LTRIM(TRIM(STR(RECNO( ))))+″#″,rstr)< >____(3)____
    ELSE
    ?″press.dbf是空的″
    ENDIF
    USE
    RETURN
    (1)
    (2)
    (3)
    37. 文件lecture.dbf用于存放教師授課信息,其字段有:tname(姓名,字符型),cname(課程名,字符型),tyear(講授時間,數(shù)值 型)。下述程序的功能是:接收一個教師姓名,若其信息lecture.dbf中則顯示相應(yīng)信息;重復(fù)上述過程,直到接收的教師姓名為‘#’時,程序結(jié)束。 完成下述程序。
    SET TALK OFF
    USE lecture
    SCATTER FIELD tname TO tname MEMVAR BLANK
    INDEX ON tname TO leature
    DO WHILE ____(1)____
    CLEAR
    @10,10 SAY ″請輸入教師姓名″ GET m.tname
    READ
    IF LTRIM(TRIM(m.tname))< >′#′
    SEEK ____(2)____
    IF ____(3)____
    LOOP
    ENDIF
    DISPLAY FOR m.tname=tname
    WAIT
    ENDIF
    ENDDO
    USE
    RETURN
    (1)
    (2)
    (3)
    38. 文件newsa.dbf和newsb.dbf具有相同的結(jié)構(gòu),其字段有:newsp(報刊名稱,字符型),price(單價,數(shù)值型)。newsa在 newsp上建有索引文件newsa.idx,newsb在newsp上建有索引文件newsb.idx,下述程序的功能是:查找在newsa.dbf出 現(xiàn)但不在newsb.dbf中出現(xiàn)的報刊名稱。
    完成下述程序。
    SET TALK OFF
    SELECT B
    USE newsb ALIAS new INDEX newsb
    SELECT A
    USE newsa ALIAS old INDEX newsa
    DO WHILE ____(1)____ .OR……NOT.EOF(″new″)
    DO CASE
    CASE ____(2)____ .OR……NOT.EOF(″old″)。AND.newspnewsp
    ? newsp
    SKIP IN old
    CASE EOF(″old″)。OR……NOT……EOF(″new″)。AND.newsp>new->newsp
    ____(3)____
    OTHER
    SKIP
    SKIP IN new
    ENDCASE
    ENDDO
    CLEAR ALL
    RETURN
    (1)
    (2)
    (3)
    五、綜合題(本大題共2小題,每小題5分,共10分)
    39.說明函數(shù)rsum(i)、csum(i)及zsum( )的功能。
    SET TALK OFF
    SET PROCEDURE TO ulty
    DIME ary(3,3)
    ary=0
    FOR i=1 TO 3
    FOR j=1 TO 3
    @ 8+2*i,20+15*j GET ary(i,j)
    ENDFOR
    ENDFOR
    READ
    FOR i=1 TO 3
    ? rsum(i),csum(i),zsum( )
    ENDFOR
    SET PROCEDURE TO
    RETURN
    文件ulty.prg的內(nèi)容如下:
    FUNCTION rsum
    PARAMETER i
    PRIVATE msum,j
    msum=0
    FOR j=1 TO 3
    msum=msum+ary(i,j)
    ENDFOR
    RETURN msum
    FUNCTION csum
    PARAMETER i
    PRIVATE msum,j
    msum=0
    FOR j=1 TO 3
    msum=msum+ary(j,i)
    ENDFOR
    RETURN msum
    FUNCTION zsum
    PRIVATE msum,i
    msum=0
    FOR i=1 TO 3
    msum=msum+ary(i,i)
    ENDFOR
    RETURN msum
    rsum的功能是:
    csum的功能是:
    zsum的功能是:
    40.如下描述教學(xué)管理的數(shù)據(jù)庫R中記錄了教師講授的課程及教師所屬系的情況。
    R: 課程名 教師姓名 系
    C1 王宇 計算機系
    C2 吳敏 數(shù)學(xué)系
    C3 衛(wèi)民 數(shù)學(xué)系
    C4 張川 物理系
    C5 吳敏 數(shù)學(xué)系
    請回答下列問題:
    (1)R高為第幾范式?為什么?
    (2)是否存在刪除操作異常?若存在,試用樣值中的例子加以說明。
    (3)將它分解為高一級范式,分解后的關(guān)系是如何解決分解前所存在的刪除操作異常的?