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

字號(hào):

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