第 1 頁:筆試 |
第 4 頁:上機(jī) |
一、基本操作題
在考生文件夾下的“訂貨管理”數(shù)據(jù)庫中完成下列基本操作:
(1)將order_detail、order_list和customer表添加到數(shù)據(jù)庫。
(2)為order_list表創(chuàng)建一個主索引,索引名和索引表達(dá)式均是“訂單號”。
(3)建立表order_list和表order_detail間的永久聯(lián)系(通過“訂單號”字段)。
(4)為建立聯(lián)系設(shè)置參照完整性約束:更新規(guī)則為“限制”,刪除規(guī)則為“級聯(lián)”,插入規(guī)則為“限制”。
【參考答案】
(1)在“命令”窗口輸入命令:MODIFY DATABASE訂貨管理,打開數(shù)據(jù)庫設(shè)計器。右擊數(shù)據(jù)庫設(shè)計器,選擇“添加表”快捷菜單命令,系統(tǒng)彈出“打開”對話框,將考生文件夾下的order_list、order_detail和customer三個數(shù)據(jù)表依次添加到數(shù)據(jù)庫中。
(2)在數(shù)據(jù)庫設(shè)計器中,右擊數(shù)據(jù)表order_list,選擇“修改”快捷菜單命令,系統(tǒng)彈出表設(shè)計器,在表設(shè)計器中選定“訂單號”字段,然后在后面的“索引”下拉列表框中為該字段選擇一個排序,最后在“索引”選項卡中,將索引類型設(shè)置為“主索引”。
(3)在數(shù)據(jù)庫設(shè)計中,將order_list表中“索引”下面的“訂單號”主索引字段拖到order_detail表中“索引”下面的“訂單號”索引字段上,建立兩個表之間的永久性聯(lián)系。
(4)在數(shù)據(jù)庫設(shè)計器中,選擇菜單命令“數(shù)據(jù)庫”→“清理數(shù)據(jù)庫”,然后右擊表order_list和表order_detail之間的關(guān)系線,在彈出的快捷菜單中選擇“編輯參照性關(guān)系”命令,彈出參照完整性生成器,根據(jù)題意,在3個選項卡中分別設(shè)置參照規(guī)則。
【試題解析】
本試題考查的是數(shù)據(jù)庫與數(shù)據(jù)庫表之間的基本操作,注意每個小題完成操作的環(huán)境,添加表和建立表之間的聯(lián)接以及設(shè)置參照完整性,都是在數(shù)據(jù)庫環(huán)境中完成的,而建立索引則是在表設(shè)計器中完成。
二、簡單應(yīng)用題
(1)為職工表設(shè)計一個名為zgb的快速報表。
(2)修改考生文件夾中的“工資查詢.prg”文件,此文件的功能為:
通過結(jié)構(gòu)復(fù)制數(shù)據(jù)表文件“工資表”生成一個含有職工號和基本工資的新數(shù)據(jù)表文件gzb.dbf,將原數(shù)據(jù)庫中基本工資大于1 500的職工記錄添加到新表中并瀏覽結(jié)果。
修改程序中的錯誤行,不得刪除或添加程序行,使程序正確運(yùn)行。
工資表的結(jié)構(gòu)和內(nèi)容如下:
職工號 部門號 基本工資 獎金
101001 101 1750 1200
101002 101 1000 400
102001 102 700 200
102002 102 900 350
103001 103 1500 600
103002 103 1200 400
【參考答案】
(1)具體步驟如下:
、 在“命令”窗口輸入命令:CREATE REPORT zgb。
、 彈出報表設(shè)計器,選擇菜單命令“報表”→“快速報表”。
③ 系統(tǒng)彈出“打開”對話框,選擇數(shù)據(jù)源表為“職工表”。
、 在“快速報表”對話框中單擊“字段布局”左側(cè)的按鈕(此為系統(tǒng)默認(rèn)),選中“標(biāo)題”復(fù)選框,為每一個字段添加一個字段名標(biāo)題,再選中“將表添加到數(shù)據(jù)庫環(huán)境中”復(fù)選框,把“職工表”作為數(shù)據(jù)源表添加到數(shù)據(jù)庫環(huán)境中,單擊“確定”按鈕,便為職工表建立了一個快速報表。
、 單擊工具欄中的“打印預(yù)覽”圖標(biāo)按鈕,查看報表效果。
(2)具體步驟如下:
① 根據(jù)題意,在“命令”窗口輸入命令:MODI COMM工資查詢.prg。
、 打開考生文件夾下的工資查詢.prg文件,查看程序中的錯誤行。
****工資查詢.prg的源程序內(nèi)容:****
SET TALK OFF
SET SAFE OFF
SELECT 1
USE 工資表.dbf
COPY STRU TO gzb.dbf 職工號,基本工資 ****Error****
SELECT 2
USE gzb.dbf
SELECT 1
GO TOP
DO WHILE ! BOF() ****Error****
IF 基本工資>=1500
SELECT 2
APPEND BLANK
REPLACE A->職工號WITH 職工號,A->基本工資 WITH 基本工資 &&*error*
SELECT 1
ENDIF
CONT ****Error****
ENDDO
SELECT 2
DISPLAY ALL
DELETE TABLE gzb.dbf ****Error****
CLOSE DATABASE
SET SAFE ON
SET TALK ON
*************************************
、 修改程序中的錯誤。
****下面是修改后的工資查詢.prg的程序內(nèi)容:****
SET TALK OFF
SET SAFE OFF
SELECT 1
USE 工資表.dbf
COPY STRU TO gzb.dbf FIELDS 職工號,基本工資
SELECT 2
USE gzb.dbf
SELECT 1
GO TOP
DO WHILE ! EOF()
IF 基本工資>=1500
SELECT 2
APPEND BLANK
REPLACE 職工號WITH A-> 職工號, 基本工資 WITH A-> 基本工資
SELECT 1
ENDIF
SKIP
ENDDO
SELECT2
DISPLAY ALL
DROP TABLE gzb.dbf
CLOSE DATABASE
SET SAFE ON
SET TALK ON
***********************************
、 在“命令”窗口輸入:DO 工資查詢.prg,運(yùn)行程序。
【試題解析】
本試題主要考查了快速報表的建立和SQL語句的簡單應(yīng)用。在(1)小題中可以通過菜單命令建立一個快速報表文件。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |