第十一套
一、基本操作題(共四小題,第1和2題是7分、第3和4題是8分)
1、在考生文件夾下建立項(xiàng)目MARKET。
2、在項(xiàng)目MARKET中建立數(shù)據(jù)庫(kù)PROD_M。
3、把考生文件夾中自由表CATEGORY和PRODUCTS加入到PROD_M數(shù)據(jù)庫(kù)中
4、為CATEGORY表建立主索引,索引名為primarykey,索引表達(dá)式為分類編碼;為PRODUCTS表建立普通索引,索引名為regularkey,索引表達(dá)式為分類編碼。
本題的主要考核點(diǎn):
項(xiàng)目的建立、在項(xiàng)目中創(chuàng)建數(shù)據(jù)庫(kù)、將自由表添加到數(shù)據(jù)庫(kù)中、主索引,普通索引的建立。
解題思路:
1.建立項(xiàng)目
創(chuàng)建項(xiàng)目可用"文件"菜單中的"新建"命令。
2.在項(xiàng)目中創(chuàng)建數(shù)據(jù)庫(kù):
在項(xiàng)目管理器的"數(shù)據(jù)"選項(xiàng)卡選擇數(shù)據(jù)庫(kù),單擊"新建"。
3.將自由表添加到數(shù)據(jù)庫(kù)中,可以在項(xiàng)目管理器或數(shù)據(jù)庫(kù)設(shè)計(jì)器中完成。在數(shù)據(jù)庫(kù)設(shè)計(jì)器中可以從"數(shù)據(jù)庫(kù)"菜單或在數(shù)據(jù)庫(kù)設(shè)計(jì)器上單擊右鍵彈出的菜單中選擇"添加表",然后在"打開(kāi)"對(duì)話框中選擇要添加到當(dāng)前數(shù)據(jù)庫(kù)的自由表。還可用ADD TABLE命令添加一個(gè)自由表到當(dāng)前數(shù)據(jù)庫(kù)中。
4.在CATEGORY表設(shè)計(jì)器中的索引選項(xiàng)卡輸入索引名primarykey,索引表達(dá)式為分類編碼,索引類型為主索引。在PRODUCTS表設(shè)計(jì)器中的索引選項(xiàng)卡建立索引名為regularkey,索引表達(dá)式為分類編碼的普通索引。
二、簡(jiǎn)單應(yīng)用(2小題,每題20分,計(jì)40分)
1、在考生文件夾中有一個(gè)數(shù)據(jù)庫(kù)SDB,其中STUDENT表結(jié)構(gòu)如下:
STUDENT(學(xué)號(hào)C(2),姓名C(8),年齡N(2),性別C(2),院系號(hào)C(2)),現(xiàn)在要對(duì)STUDENT表進(jìn)行修改,指定學(xué)號(hào)為主索引,索引名和索引表達(dá)式均為學(xué)號(hào);指定院系號(hào)為普通索引,索引名和索引表達(dá)式均為院系號(hào);年齡字段的有效性規(guī)則在12至30之間(含12和30),默認(rèn)值是16,性別字段有效性規(guī)則是'男'或'女',默認(rèn)值是'男'。
2、在考生文件夾中有一個(gè)數(shù)據(jù)庫(kù)SDB,其中有數(shù)據(jù)庫(kù)表STUDENT、SC和COURSE。
表結(jié)構(gòu)如下:
STUDENT(學(xué)號(hào),姓名,年齡,性別,院系號(hào))
SC(學(xué)號(hào),課程號(hào),成績(jī),備注)
COURSE(課程號(hào),課程名,先修課程號(hào),學(xué)分)
在考生文件夾下有一個(gè)程序test.prg,該程序的功能是檢索選修課程門(mén)數(shù)等于3門(mén)或3門(mén)以上,每門(mén)課程成績(jī)大于或等于70分的每個(gè)學(xué)生的學(xué)號(hào)、姓名、性別、平均成績(jī)、低分和選課門(mén)數(shù),并將結(jié)果存放到表new_test中。請(qǐng)修改程序中的錯(cuò)誤,并調(diào)試該程序,使之正確運(yùn)行??忌坏迷黾踊騽h減程序行。
第1題,本題的主要考核點(diǎn)是建立索引和有效性規(guī)則。
建立索引是在表設(shè)計(jì)器中的索引選項(xiàng)卡建立,建立有效性規(guī)則在表設(shè)計(jì)器中的字段選項(xiàng)卡完成。選定“年齡”字段,在“規(guī)則”欄中輸入“年齡=>12.AND.年齡<=30”(或用表達(dá)式生成器生成),“默認(rèn)值”欄輸入"16"。選定“性別”字段,在“規(guī)則”欄中輸入“性別="男".OR.性別="女"”(或用表達(dá)式生成器生成)“默認(rèn)值”欄輸入"男"。
第2題,本題是一個(gè)程序修改題。
第一個(gè)錯(cuò)誤在“WHILE STUDENT.學(xué)號(hào) = SC.學(xué)號(hào) AND 成績(jī) >= 70”行,“WHILE”是循環(huán)語(yǔ)句,不能用在此處,設(shè)置查詢條件的語(yǔ)句是“WHERE”。第二個(gè)錯(cuò)誤在“SUM(課程號(hào)) >= 3”,因?yàn)轭}目要求是選課門(mén)數(shù)大于等于3,不應(yīng)用SUM,應(yīng)改為COUNT。第三個(gè)錯(cuò)誤在“TO NEW_TEST”,此處要導(dǎo)入表NEW_TEST,正確的命令格式是“INTO TABLE NEW_TEST”。
三、綜合應(yīng)用(1小題,計(jì)30分)
在考生文件夾下有學(xué)生管理數(shù)據(jù)庫(kù)stu_five
(1)CHENGJI表(學(xué)號(hào)C(9)、課程號(hào)C(3)、成績(jī)I)用于記錄學(xué)生的考試成績(jī),其中
一個(gè)學(xué)生可以有多項(xiàng)記錄(登記一個(gè)學(xué)生的多門(mén)成績(jī))。
(2)KECHENG表(課程號(hào)C(3)、課程名 C(10)、高分I、學(xué)號(hào)C(9))的內(nèi)容是所開(kāi)課程,一門(mén)課程只有一個(gè)記錄(表中有固定的已知數(shù)據(jù))。
請(qǐng)編寫(xiě)并運(yùn)行符合下列要求的程序:
設(shè)計(jì)一個(gè)名為form_my的表單,表單中有兩個(gè)命令按鈕,按鈕的名稱分別為
cmdYes和cmdNo,標(biāo)題分別為"統(tǒng)計(jì)"和"關(guān)閉"。
程序運(yùn)行時(shí),單擊"統(tǒng)計(jì)"按鈕應(yīng)完成下列操作:
(1)計(jì)算每門(mén)課程的高分,并將結(jié)果存入KECHENG表的高分字段,同時(shí)將得此高分的學(xué)生的學(xué)號(hào)存入該表的學(xué)號(hào)字段。
(2)根據(jù)上面的計(jì)算結(jié)果,生成一個(gè)新的表jiangli,該表按順序含有來(lái)自KECHENG表的課程名和高分兩個(gè)字段,并且按高分降序排序。
單擊"關(guān)閉"按鈕,程序終止運(yùn)行。
本題主要考核點(diǎn):
表單的建立、程序設(shè)計(jì)中循環(huán)結(jié)構(gòu)、條件結(jié)構(gòu)的應(yīng)用、SELECT語(yǔ)句的應(yīng)用等知識(shí)點(diǎn)
解題思路:
第一步:利用表單設(shè)計(jì)器建立所要求的表單,將在表單上添加兩個(gè)按鈕控件。分別設(shè)置兩個(gè)按鈕控件的標(biāo)題和名字屬性。
第二步:雙擊標(biāo)題為"統(tǒng)計(jì)"的按鈕控件,在新打開(kāi)的窗口中添加此按鈕的CLICK事件代碼:
SET TALK OFF
SELECT 2
USE KECHENG
&&在B工作區(qū)打開(kāi)KECHENG表
INDEX ON 課程號(hào) TO KC
&&以課程號(hào)為排序的依據(jù)對(duì)表KECHENG進(jìn)行排序
SELECT 1
USE CHENGJI
&&在A工作區(qū)打開(kāi)CHANEGJI表
DO WHILE NOT EOF() &&遍歷CHENGJI表
SELECT 2
SEEK A->課程號(hào) &&在KECHENG表中查找當(dāng)前成績(jī)表所在的課程號(hào)
IF 高分成績(jī) THEN && 如果KECHENG表中的高分小于當(dāng)前CHENGJI表中的記錄的成績(jī)
REPLACE 高分 WITH A->成績(jī),學(xué)號(hào) WITH A->學(xué)號(hào)
ENDIF
SELECT 1
SKIP
ENDDO
SELECT 課程名,高分 FROM KECHENG ORDER BY 高分 INTO TABLE JIANGLI
&&SELECT語(yǔ)句的ORDER BY 子句可以指定查詢結(jié)果的排序依據(jù),默認(rèn)是以指定排序依據(jù)的升序排序,
&&如果要指定為降序需要用DESC;INTO TABLE 表名 可以將結(jié)果集放入一個(gè)永久表中。結(jié)果集也可以
&&放入一個(gè)臨時(shí)表中:INTO CURSOR 臨時(shí)表名 ,也可以放入一個(gè)數(shù)組之中:INTO ARRAY 數(shù)組變量名
SET TALK ON
第三步:為標(biāo)題為"退出"的按鈕控件加入CLICK事件代碼:
THISFORM.RELEASE &&退出表單
第三步:以form_my保存表單