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