第 1 頁(yè):筆試 |
第 4 頁(yè):機(jī)試 |
1.基本操作題
(1)新建一個(gè)名為“圖書管理”的項(xiàng)目。
(2)在項(xiàng)目中建立一個(gè)名為“輔導(dǎo)書”的數(shù)據(jù)庫(kù)。
(3)將考生文件夾下的所有自由表添加到“輔導(dǎo)書”數(shù)據(jù)庫(kù)中。
(4)在項(xiàng)目中建立查詢book_qu,查詢價(jià)格大于等于27的圖書(book表)的所有信息,查詢結(jié)果按價(jià)格升序排序。
【參考答案】
(1)在“命令”窗口輸入命令:CREATE PROJECT圖書管理,新建一個(gè)項(xiàng)目管理器,保存到考生文件夾下。
(2)具體步驟如下:
① 在項(xiàng)目管理器中,單擊“數(shù)據(jù)”選項(xiàng)卡,然后選擇列表框中的“數(shù)據(jù)庫(kù)”選項(xiàng),單擊“新建”命令按鈕。
、 彈出“新建數(shù)據(jù)庫(kù)”對(duì)話框,單擊“新建數(shù)據(jù)庫(kù)”圖標(biāo)按鈕。
、 彈出“創(chuàng)建”對(duì)話框,輸入新的數(shù)據(jù)庫(kù)名稱“輔導(dǎo)書”,保存到考生文件夾下。
(3)具體步驟如下:
、 在項(xiàng)目中新建數(shù)據(jù)庫(kù)后,彈出數(shù)據(jù)庫(kù)設(shè)計(jì)器,在其上右擊鼠標(biāo),選擇“添加表”快捷菜單命令。
、 彈出“打開”對(duì)話框,依次將考生文件夾下所有自由表添加到數(shù)據(jù)庫(kù)中。
(4)具體步驟如下:
、 在“數(shù)據(jù)”選項(xiàng)卡中選擇“查詢”選項(xiàng),然后單擊“新建”命令按鈕。
② 彈出“新建查詢”對(duì)話框,單擊“新建查詢”圖標(biāo)按鈕。
、 彈出查詢?cè)O(shè)計(jì)器,按照系統(tǒng)要求,先將數(shù)據(jù)表book添加到查詢?cè)O(shè)計(jì)器中。
、 在查詢?cè)O(shè)計(jì)器的“字段”選項(xiàng)卡中,將“可用字段”列表框中的字段全部添加到右邊的“選定字段”列表框中。
、 單擊“篩選”選項(xiàng)卡,在“字段名”下拉列表框中選擇“book.價(jià)格”字段,在“條件”下拉列表框中選擇>=,在“實(shí)例”文本框中輸入27。
、 單擊“排序依據(jù)”選項(xiàng)卡,將“選定字段”列表框中的“book.價(jià)格”字段添加到右邊的“排序條件”中,在“排序選項(xiàng)”選項(xiàng)區(qū)中選中“升序”單選按鈕。
⑦ 利用菜單命令“查詢”→“運(yùn)行查詢”,瀏覽查詢結(jié)果。
、 查詢文件以book_qu名保存在考生文件夾下。
【試題解析】
本試題考查的是通過項(xiàng)目管理器來完成數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)表的基本操作。項(xiàng)目的建立可以通過在命令窗口輸入命令來實(shí)現(xiàn);數(shù)據(jù)庫(kù)的建立及數(shù)據(jù)庫(kù)表的添加,可以通過項(xiàng)目管理器中的命令按鈕,打開相應(yīng)的設(shè)計(jì)器進(jìn)行操作。
2.簡(jiǎn)單應(yīng)用題
(1)在考生文件夾下有一個(gè)數(shù)據(jù)庫(kù)stsc,其中有數(shù)據(jù)庫(kù)表student、score和course。利用SQL語句查詢選修了C++課程的學(xué)生的全部信息,并將結(jié)果按學(xué)號(hào)升序存放在cplus.dbf文件中(庫(kù)的結(jié)構(gòu)同student,并在其后加入課程號(hào)和課程名字段)。
(2)在學(xué)生文件夾下有一個(gè)數(shù)據(jù)庫(kù)stsc,其中有數(shù)據(jù)庫(kù)表student,使用報(bào)表向?qū)гO(shè)計(jì)一個(gè)名為P1的報(bào)表,存放在考生文件夾下。
要求:選擇student表中所有字段,報(bào)表樣式為經(jīng)營(yíng)式;報(bào)表布局:列數(shù)為1,方向?yàn)榭v向,字段布局為列;排序字段選擇學(xué)號(hào)(升序);報(bào)表標(biāo)題為“學(xué)生基本情況一覽表”。
【參考答案】
(1)具體步驟如下:
、 在“命令”窗口輸入命令:MODIFY COMMAND query。
② 進(jìn)入程序編輯窗口,輸入如下程序段。
****下面是query.prg文件的程序段****
SELECT student.*,score.課程號(hào),course.課程名;
FROM stsc!student INNER JOIN stsc!score;
INNER JOIN stsc!course;
ON score.課程號(hào)=course.課程號(hào);
ON student.學(xué)號(hào)=score.學(xué)號(hào);
WHERE AT("C++",course.課程名)>0;
ORDER BY student.學(xué)號(hào);
INTO TABLE cplus.dbf
、 保存設(shè)計(jì)結(jié)果,在“命令”窗口輸入命令:DO query,系統(tǒng)將查詢結(jié)果自動(dòng)保存到新表中。
(2)具體步驟如下:
、 在“新建”對(duì)話框中選中“報(bào)表”單選按鈕,再單擊“向?qū)А眻D標(biāo)按鈕。
、 彈出“向?qū)нx取”對(duì)話框,在列表框中選擇“報(bào)表向?qū)А边x項(xiàng),單擊“確定”按鈕。
、 進(jìn)入報(bào)表向?qū)У淖侄芜x取界面,選擇stsc數(shù)據(jù)庫(kù)作為報(bào)表的數(shù)據(jù)源。利用“全部添加”圖標(biāo)按鈕,將數(shù)據(jù)表student的所有字段添加到“選定字段”列表框中,
、 單擊“下一步”按鈕進(jìn)入“分組記錄”設(shè)計(jì)界面,跳過此步驟,單擊“下一步”命令按鈕,進(jìn)入“選擇報(bào)表樣式”設(shè)計(jì)界面,在“樣式”列表框中選擇“經(jīng)營(yíng)式”選項(xiàng)。
、 單擊“下一步”按鈕,進(jìn)入“定義報(bào)表布局”設(shè)計(jì)界面,設(shè)置“列數(shù)”為1,“方向”為縱向,“字段布局”為列。
、 單擊“下一步”按鈕進(jìn)入“排序記錄”設(shè)計(jì)界面,將“可用字段或索引標(biāo)識(shí)”列表框中的“學(xué)號(hào)”字段添加到右邊的“選定字段”列表框中,并選中“升序”單選按鈕。
、 單擊“下一步”按鈕,進(jìn)入最后的“完成”設(shè)計(jì)界面,在“標(biāo)題”文本框中輸入“學(xué)生基本情況一覽表”,為報(bào)表添加標(biāo)題,單擊“完成”命令按鈕。
、 系統(tǒng)彈出“另存為”對(duì)話框,將報(bào)表以P1文件名保存在考生目錄下,退出報(bào)表設(shè)計(jì)向?qū)А?/P>
【試題解析】
本試題(1)小題考查的是利用SQL查詢語句進(jìn)行查詢,其中注意每?jī)蓚(gè)表之間的關(guān)聯(lián)及字段的選取即可;(2)小題利用報(bào)表向?qū)瓿蓤?bào)表設(shè)計(jì),只要注意每個(gè)向?qū)Ы缑娴脑O(shè)計(jì)內(nèi)容即可。
3.綜合應(yīng)用題
系統(tǒng)已經(jīng)建立了order_detail表,并已追加記錄。
當(dāng)order_detail表中的單價(jià)修改后,應(yīng)該根據(jù)該表的“單價(jià)”和“數(shù)量”字段修改order_list表的總金額字段,現(xiàn)在有部分order_list記錄的總金額字段值不正確,請(qǐng)編寫程序挑出這些記錄,并將這些記錄存放到一個(gè)名為od_mod的表中(與order_list表結(jié)構(gòu)相同,自己建立),然后根據(jù)order_detail表的“單價(jià)”和“數(shù)量”字段修改od_mod表的總金額字段(注意,一個(gè)od_mod記錄可能對(duì)應(yīng)幾條order_detail記錄),最后,od_mod表的結(jié)果要求按總金額升序排序,編寫的程序最后保存為prog1.prg。
【參考答案】
具體步驟如下:
、 在“命令”窗口輸入命令:MODIFY COMMAND prog1。
、 進(jìn)入程序文件編輯器,在程序編輯窗口中輸入如下程序段:
*******prog1.prg文件中的程序段*******
SET TALK OFF
SET SAFETY OFF
SELECT 訂單號(hào),SUM(單價(jià)*數(shù)量)AS總金額;
FROM order_detail;
GROUP BY 訂單號(hào);
INTO CURSOR curtable
SELECT order_list.*;
FROM order_list,curtable;
WHERE order_list.訂單號(hào)=curtable.訂單號(hào)AND order_list.總金額<>curtable.總金額;
INTO TABLE od_mod
USE od_mod
DO WHILE NOT EOF()&&遍歷od_mod中的每一條記錄
SELECT curtable.總金額FROM curtable;
WHERE curtable.訂單號(hào)=od_mod.訂單號(hào);
INTO ARRAY AFieldsValue
REPLACE 總金額 WITH AFieldsValue
SKIP
ENDDO
CLOSE ALL
SELECT * FROM od_mod ORDER BY 總金額;
INTO CURSOR curtable
SELECT * FROM curtable INTO TABLE od_mod
SET SAFETY ON
SET TALK ON
、 保存設(shè)計(jì)結(jié)果,在“命令”窗口輸入命令:DO prog1,執(zhí)行程序文件。
【試題解析】
本試題考查的主要是SQL語句的應(yīng)用,包括數(shù)據(jù)定義、數(shù)據(jù)修改和數(shù)據(jù)查詢功能,設(shè)計(jì)過程中注意數(shù)據(jù)表和表中字段的選取,修改每條記錄時(shí),可利用DO-WHILE循環(huán)語句逐條處理表中每條記錄。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |