07年自考“數(shù)據(jù)庫及其應(yīng)用Foxpro”實驗題(1)

字號:

第1組實驗題
    上機步驟和操作說明
    (1)Windows NT用戶注冊,用戶名為個人賬號,口令欄直接按回車。
    (2)進入Visual FoxPro(VFP)系統(tǒng)環(huán)境,中途不要退出。
    (3)在VFP命令窗口中鍵入以下兩條命令:
    SET DEFAULT TO Z:\<目錄名> (目錄名即你的賬號,目錄已建好)
    SET SAFETY OFF
    第一條命令的目的是設(shè)置你的缺省工作目錄,這樣,操作命令中就不要再帶路徑名。
    (4)按題目要求創(chuàng)建數(shù)據(jù)庫,錄入數(shù)據(jù),編寫程序。
    (5)在程序編輯器窗口錄入、修改程序,編輯完畢,保存后再執(zhí)行。
    (6)第3題和第4題的各小題,都要分別保存為一個程序文件。文件名要用“賬號+題號”命名,例如:C100_3,表示是C100賬戶的第3題的程序。C108_4_2表示是C108賬戶的第4題的第(2)小題的程序。
    (7)做題次序不限,實現(xiàn)方法不限。題目中所謂的“表”即指“數(shù)據(jù)庫文件”。為減少錄入的負擔,表名、字段名、變量名等盡量不要用漢字,可用英文或漢語拼音。
    現(xiàn)有關(guān)于圖書借閱管理數(shù)據(jù)庫的模式如下:
    圖書(書號,書名,作者,單價,數(shù)量)
    讀者(讀者號,姓名,年齡,部門)
    借閱(書號,讀者號,借書日期,還書標記)
    讀者與圖書是多對多聯(lián)系。同一種圖書同日只能借一次、一本。
    要求完成如下操作:
    1.按題目要求建立表結(jié)構(gòu),各表各個字段的名字、數(shù)據(jù)類型、長度等根據(jù)語義和查詢的需要自行決定。根據(jù)查詢需要建立索引。(15分)
    2.利用你所熟悉的方法向各表錄入適量的、滿足題目需要的數(shù)據(jù)。各數(shù)據(jù)項的取值范圍應(yīng)該合理、有效,并與查詢要求相呼應(yīng)。(10分)
    3.編寫一個供圖書登記入庫的錄入程序。要求在登記一種圖書后屏幕詢問:“繼續(xù)錄入嗎?”,根據(jù)用戶回答決定程序流程。要求不退出本程序能繼續(xù)進行錄入操作。(20分)
    4.用FoxPro語言或SQL語言編寫程序完成以下查詢。以下三題依次為15分、20分、20分。
    (1)列出全部圖書目錄,包括書號、書名、作者、單價,且在最后一行顯示:
    圖書的平均單價為 xxxx元。
    (2)列出讀者所借閱過的圖書的書號、書名,重復(fù)的書只允許出現(xiàn)一次。
    (3)列出借書逾期(超過30天)未還者的讀者清單,內(nèi)容包括讀者號、姓名和書號。
    第1組實驗題
    現(xiàn)有關(guān)于圖書借閱管理數(shù)據(jù)庫的模式如下:
    圖書(書號,書名,作者,單價,數(shù)量)
    讀者(讀者號,姓名,年齡,部門)
    借閱(書號,讀者號,借書日期,還書標記)
    讀者與圖書是多對多聯(lián)系。同一種圖書同日只能借一次、一本。
    要求完成如下操作:
    1.按題目要求建立表結(jié)構(gòu),各表各個字段的名字、數(shù)據(jù)類型、長度等根據(jù)語義和查詢的需要自行決定。根據(jù)查詢需要建立索引。(15分)
    答:見第1組實驗題答案文件夾。
    2.利用你所熟悉的方法向各表錄入適量的、滿足題目需要的數(shù)據(jù)。各數(shù)據(jù)項的取值范圍應(yīng)該合理、有效,并與查詢要求相呼應(yīng)。(10分)
    答:見第1組實驗題答案文件夾。
    3.編寫一個供圖書登記入庫的錄入程序。要求在登記一種圖書后屏幕詢問:“繼續(xù)錄入嗎?”,根據(jù)用戶回答決定程序流程。要求不退出本程序能繼續(xù)進行錄入操作。(20分)
    答:程序清單如下
    set talk off
    clear
    use 第1組實驗題答案文件夾\tushu
    define window w1 from 5,5 to 25,75 system title “圖書登記錄入窗口”;
    close float grow zoom minimize
    define window w2 from 10,10 to 15,50 in window w1 system title “對話窗口”;
    close float grow zoom minimize
    dimension a(5)
    action=.t.
    answer=.t.
    do while action
    scatter to a blank
    activate window w1
    do while .t.
    clear
    @ 1,5 say “書號:” get a(1)
    @ 1,35 say “書名:” get a(2)
    @ 3,5 say “作者:” get a(3)
    @ 3,35 say “單價:” get a(4)
    @ 5,5 say “數(shù)量:” get a(5)
    read
    activate window w2
    @ 1,5 say “輸入正確嗎?[Y/N]” get answer picture “L”
    read
    if answer
    append blank
    gather from a
    exit
    else
    deactivate window w2
    loop
    endif
    enddo
    @ 1,5 say “還繼續(xù)錄入嗎?[Y/N]” get action picture “L”
    read
    deactivate window w2
    enddo
    use
    deactivate window w1,w2
    return
    4.用FoxPro語言或SQL語言編寫程序完成以下查詢。以下三題依次為15分、20分、20分。
    (1)列出全部圖書目錄,包括書號、書名、作者、單價,且在最后一行顯示:
    圖書的平均單價為 xxxx元。
    答:程序清單如下
    set talk off
    clear
    use 第1組實驗題答案文件夾\tushu
    list off fields 書號,書名,作者,單價
    average 單價 to ave
    ? “ 圖書的平均單價為”+str(ave,6,2)+“元”
    use
    set talk on
    return
    (2)列出讀者所借閱過的圖書的書號、書名,重復(fù)的書只允許出現(xiàn)一次。
    答:程序清單如下
    set talk off
    clear
    select 2
    use 第1組實驗題答案文件夾\tushu index 第1組實驗題答案文件夾\tushu1
    select 1
    use 第1組實驗題答案文件夾\jieyu
    index on 書號 to 第1組實驗題答案文件夾\jieyu0 unique
    set relation to 書號 into B
    list off fields 書號,b.書名,b.作者,b.單價
    close databases
    set talk on
    return
    (3)列出借書逾期(超過30天)未還者的讀者清單,內(nèi)容包括讀者號、姓名和書號。
    答:程序清單如下
    set talk off
    clear
    select 2
    use 第1組實驗題答案文件夾\duzhe index 第1組實驗題答案文件夾\duzhe1
    select 1
    use 第1組實驗題答案文件夾\jieyu index 第1組實驗題答案文件夾\jieyu2
    set relation to 讀者號 into B
    list off fields 讀者號,b.姓名,書號 for (date()-借書日期-36525)>30 and (not 還書標記)
    close databases
    set talk on
    return
    第2組實驗題
    上機步驟和操作說明
    (1)Windows NT用戶注冊,用戶名為個人賬號,口令欄直接按回車。
    (2)進入Visual FoxPro(VFP)系統(tǒng)環(huán)境,中途不要退出。
    (3)在VFP命令窗口中鍵入以下兩條命令:
    SET DEFAULT TO Z:\<目錄名> (目錄名即你的賬號,目錄已建好)
    SET SAFETY OFF
    第一條命令的目的是設(shè)置你的缺省工作目錄,這樣,操作命令中就不要再帶路徑名。
    (4)按題目要求創(chuàng)建數(shù)據(jù)庫,錄入數(shù)據(jù),編寫程序。
    (5)在程序編輯器窗口錄入、修改程序,編輯完畢,保存后再執(zhí)行。
    (6)第3題和第4題的各小題,都要分別保存為一個程序文件。文件名要用“賬號+題號”命名,例如:C100_3,表示是C100賬戶的第3題的程序。C108_4_2表示是C108賬戶的第4題的第(2)小題的程序。
    (7)做題次序不限,實現(xiàn)方法不限。題目中所謂的“表”即指“數(shù)據(jù)庫文件”。為減少錄入的負擔,表名、字段名、變量名等盡量不要用漢字,可用英文或漢語拼音。
    現(xiàn)有關(guān)于倉庫管理數(shù)據(jù)庫的模式如下:
    倉庫(倉庫號,面積,地址,管理員)
    貨物(貨號,貨物名,單價,重量)
    存放(倉庫號,貨物號,數(shù)量)
    倉庫與貨物是多對多聯(lián)系。一個倉庫只設(shè)一名管理員。
    要求完成如下操作:
    1.按題目要求建立表結(jié)構(gòu),各表各個字段的名字、數(shù)據(jù)類型、長度等根據(jù)語義和查詢的需要自行決定。根據(jù)查詢需要建立索引。 (15分)
    2.利用你所熟悉的方法向各表錄入適量的、滿足題目需要的數(shù)據(jù)。各數(shù)據(jù)項的取值范圍應(yīng)該合理、有效,并與查詢要求相呼應(yīng)。 (10分)
    3.編寫一個菜單程序。水平菜單項為:錄入、刪除、修改、查詢。要求選擇前三個菜單項后分別執(zhí)行程序p_insert.prg、p_delete.prg和p_update.prg;選擇查詢菜單項后彈出下級菜單,其菜單項為:順序查詢、索引查詢。 (20分)
    4.用FoxPro語言或SQL語言編寫程序完成以下查詢。(以下三題依次為15分、20分、20分)
    (1)列出倉庫清單,要包含所有倉庫的所有屬性,且在最后一行顯示:
    所有倉庫的總面積為 xxxxx平方米。
    (2)列出各個倉庫的庫存情況清單,包括的數(shù)據(jù)項為倉庫號、貨號、貨物名、(每種)貨物的總價。重量小于50千克的貨物不在其內(nèi)。以倉庫號為第一序、貨物號為第二序,升序排列。
    (3)列出每個倉庫的倉庫號,以及每個倉庫單位面積內(nèi)所承受的平均重量,并按平均承重值從大到小排序。