第四十套
基本操作題
在考生文件夾下,打開(kāi)Ecommerce數(shù)據(jù)庫(kù),完成如下操作:
1.首先打開(kāi)Ecommerce數(shù)據(jù)庫(kù),然后為表Customer增加一個(gè)字段,字段名為email、類(lèi)型為字符、寬度為20。
2.為Customer表的"性別"字段定義有效性規(guī)則,規(guī)則表達(dá)式為: 性別 $ "男女",出錯(cuò)提示信息為"性別必須是男或女",默認(rèn)值為"女"。
3.通過(guò)"會(huì)員號(hào)"字段建立客戶(hù)表Customer和訂單表OrderItem之間的永久聯(lián)系;通過(guò)"商品號(hào)"字段建立商品表Article和訂單表OrderItem之間的永久聯(lián)系。
4.為以上建立的聯(lián)系設(shè)置參照完整性約束:更新規(guī)則為"級(jí)聯(lián)";刪除規(guī)則為"限制";插入規(guī)則為"限制"。
本題主要考核點(diǎn):
表結(jié)構(gòu)的建立、修改、表的有效性規(guī)則的建立方法、如何為表之間建立永久性的聯(lián)系、參照完整性約束的編輯等知識(shí)點(diǎn)
本題解題思路:
第1題:打開(kāi)考生文件夾下的"Ecommerce"數(shù)據(jù)庫(kù),在"Ecommerce"數(shù)據(jù)庫(kù)設(shè)計(jì)器中,選中"Custome"表,點(diǎn)擊主菜單"數(shù)據(jù)庫(kù)"下的"修改",彈出表設(shè)計(jì)器,在表設(shè)計(jì)器的"字段"標(biāo)簽中添加一個(gè)新的字段,字段名為"email",字段類(lèi)型為"字符型",寬度為20。
第2題:在"Customer"的表設(shè)計(jì)器中,選中"性別"字段,并在"字段有效性"的"規(guī)則"文本框中輸入:性別 $ "男女",在"信息"文本框中輸入"性別必須是男或女",在"默認(rèn)值"文本框中輸入:"女"(雙引號(hào)不可少)。點(diǎn)擊"確定"按鈕,保存對(duì)結(jié)構(gòu)的修改。
第3題:在數(shù)據(jù)庫(kù)設(shè)計(jì)器中選中"Customer"表的"會(huì)員號(hào)"索引,并按下鼠標(biāo)左鍵,拖動(dòng)到"OrderItem"表的"會(huì)員號(hào)"索引時(shí),松開(kāi)左鍵,這時(shí)在兩個(gè)表的兩個(gè)索引之間有一條線(xiàn)連在一起,這樣兩個(gè)表就建立起了永久的聯(lián)系;以相同的方法為商品表Article和訂單表OrderItem之間通過(guò)"商品號(hào)"建立永久聯(lián)系。
第4題:在第3題建立好永久聯(lián)系之后,在"Customer"表和"OrderItem"表的"會(huì)員號(hào)"索引之間有一條線(xiàn),單擊這條表示兩個(gè)表之間聯(lián)系的線(xiàn),線(xiàn)會(huì)加粗,此時(shí)在主菜單中選擇"數(shù)據(jù)庫(kù)"中的"編輯參照完整性(I)",系統(tǒng)彈出"參照完整性生成器"對(duì)話(huà)框,在"更新規(guī)則"標(biāo)簽中,選擇"級(jí)聯(lián)"規(guī)則,在"刪除"規(guī)則中選擇"限制",在"插入規(guī)則"中選擇"限制",以相同的方法為商品表Article和訂單表OrderItem建立參照完整性約束,單擊"確定"保存所編輯的參照完整性。
二、簡(jiǎn)單應(yīng)用(2小題,每題20分,計(jì)40分)
在考生文件夾下,打開(kāi)Ecommerce數(shù)據(jù)庫(kù),完成如下簡(jiǎn)單應(yīng)用:
1. 使用報(bào)表向?qū)Ы⒁粋€(gè)簡(jiǎn)單報(bào)表。要求選擇客戶(hù)表Customer中所有字段;記錄不分組;報(bào)表樣式為隨意式;列數(shù)為"1",字段布局為"列",方向?yàn)?縱向";
排序字段為"會(huì)員號(hào)",升序;報(bào)表標(biāo)題為"客戶(hù)信息一覽表";報(bào)表文件名為myreport。
2.使用命令建立一個(gè)名稱(chēng)為sb_view的視圖,并將定義視圖的命令代碼存放
到命令文件pview.prg。視圖中包括客戶(hù)的會(huì)員號(hào)(來(lái)自Customer表)、姓名(來(lái)自Customer表)、客戶(hù)所購(gòu)買(mǎi)的商品名(來(lái)自article表)、單價(jià)(來(lái)自O(shè)rderItem
表)、數(shù)量(來(lái)自O(shè)rderItem表)和金額(OrderItem.單價(jià) * OrderItem.數(shù)量),結(jié)果按會(huì)員號(hào)升序排序。
本題主要考核點(diǎn):
報(bào)表向?qū)У氖褂茫妹罱⒁晥D等知識(shí)點(diǎn)
本題解題思路:
第1題:本題的主要考核點(diǎn)是使用報(bào)表向?qū)е谱鲌?bào)表。
啟動(dòng)報(bào)表向?qū)Э稍?文件"菜單中選擇"新建"或者單擊工具欄上的"新建"按鈕,打開(kāi)"新建"對(duì)話(huà)框,文件類(lèi)型選擇報(bào)表,單擊向?qū)О粹o。或者在"工具"菜單中選擇"向?qū)?子菜單,選擇"報(bào)表",或直接單擊工具欄上的"報(bào)表向?qū)?圖標(biāo)按鈕。然后按照向?qū)崾静僮骷纯伞?BR> 第2題:本題的主要考核點(diǎn)是用命令建立視圖。
CREA VIEW sb_view
SELECT Customer.會(huì)員號(hào), Customer.姓名, Article.商品名, Orderitem.單價(jià),;
Orderitem.數(shù)量, OrderItem.單價(jià) * OrderItem.數(shù)量 as 金額;
FROM ecommerce!customer INNER JOIN ecommerce!orderitem;
INNER JOIN ecommerce!article ;
ON Article.商品號(hào) = Orderitem.商品號(hào) ;
ON Customer.會(huì)員號(hào) = Orderitem.會(huì)員號(hào);
ORDER BY Customer.會(huì)員號(hào)
三、綜合應(yīng)用(1小題,計(jì)30分)
在考生文件夾下,打開(kāi)Ecommerce數(shù)據(jù)庫(kù),完成如下綜合應(yīng)用(所有控件的屬性必須在表單設(shè)計(jì)器的屬性窗口中設(shè)置):
設(shè)計(jì)一個(gè)文件名和表單名均為myform的表單,表單標(biāo)題為"客戶(hù)基本信息"。要求該表單上有"女客戶(hù)信息"(Command1)、"客戶(hù)購(gòu)買(mǎi)商品情況"(Command2)、"輸出客戶(hù)信息"(Command3)和"退出"(Command4)四個(gè)命令按鈕。
各命令按鈕功能如下:
1) 單擊"女客戶(hù)信息"按鈕,使用SQL的SELECT命令查詢(xún)客戶(hù)表Customer中"女"客戶(hù)的全部信息。
2) 單擊"客戶(hù)購(gòu)買(mǎi)商品情況"按鈕,使用SQL的SELECT命令查詢(xún)簡(jiǎn)單應(yīng)用中創(chuàng)建的sb_view視圖中的全部信息。
3) 單擊"輸出客戶(hù)信息"按鈕,調(diào)用簡(jiǎn)單應(yīng)用中設(shè)計(jì)的報(bào)表文件myreport在屏幕上預(yù)覽(PREVIEW)客戶(hù)信息。
4) 單擊"退出"按鈕,關(guān)閉表單。
本題主要考核點(diǎn):
表單的創(chuàng)建、控件的屬性的修改、表單的退出等知識(shí)點(diǎn)
本題解題思路:
第一步:在Visual FoxPro主窗口中按下組合鍵Ctrl+N,系統(tǒng)彈出"新建"對(duì)話(huà)框,在文件類(lèi)型中選擇"表單",點(diǎn)擊"新建文件"按鈕,系統(tǒng)將打開(kāi)表單設(shè)計(jì)器;或直接在命令窗口中輸入 crea form myform。
第二步:點(diǎn)擊工具欄按鈕"表單控件工具欄",在彈出的"表單控件"對(duì)話(huà)框中,選中"命令按鈕"控件,在表單設(shè)計(jì)器中拖動(dòng)鼠標(biāo),這樣在表單上得到一個(gè)"命令按鈕"控件command1,用同樣的方法為表單再加入三個(gè)"命令按鈕"控件command2、command3、command4。
***命令按鈕command1(客戶(hù)基本信息)的Click事件代碼如下****
select * from Customer where 性別="女"
***命令按鈕command2(客戶(hù)基本信息)的Click事件代碼如下***
open database ecommerce
select * from sb_view
***命令按鈕command3(輸出客戶(hù)信息)的Click事件代碼如下***
report form myreport preview
***命令按鈕command4(退出)的Click事件代碼如下***
thisform.release

