二、簡(jiǎn)單應(yīng)用(2小題,每題20分,計(jì)40分)
在考生文件夾下完成如下簡(jiǎn)單應(yīng)用:
1. 根據(jù)sdb數(shù)據(jù)庫(kù)中的表用SQL SELECT命令查詢學(xué)生的學(xué)號(hào)、姓名、課程名和成績(jī),結(jié)果按"課程名"升序排序,"課程名"相同時(shí)按"成績(jī)"降序排序,并將查詢結(jié)果存儲(chǔ)到sclist表中。
解答
操作方法略,命令方法如下:
SELECT Student.學(xué)號(hào), Student.姓名, Course.課程名, Sc.成績(jī);
FROM sdb!sc INNER JOIN sdb!course INNER JOIN sdb!student ;
ON Sc.學(xué)號(hào) = Student.學(xué)號(hào) ON Sc.課程號(hào) = Course.課程號(hào);
ORDER BY Course.課程名, Sc.成績(jī) DESC INTO TABLE sclist.dbf
2. 使用表單向?qū)нx擇student表生成一個(gè)名為form1的表單。要求選擇student表中所有字段,表單樣式為"陰影式";按鈕類型為"圖片按鈕";排序字段選擇"學(xué)號(hào)"(升序);表單標(biāo)題為"學(xué)生基本數(shù)據(jù)輸入維護(hù)"。
解答:首選單擊“新建”菜單或“新建”工具,選擇表單,選擇“向?qū)А钡姆绞,則彈出“向?qū)нx取”對(duì)話框,選擇表單向?qū)В瑔螕簟按_定”按鈕,按向?qū)б笤O(shè)置每一步。
三、綜合應(yīng)用(1小題,計(jì)30分)
1.打開基本操作中建立的數(shù)據(jù)庫(kù)sdb,使用SQL的CREATE VIEW命令定義一個(gè)名稱為SVIEW的視圖,該視圖的SELECT語句完成查詢:選課門數(shù)是3門以上(不包括3門)的每個(gè)學(xué)生的學(xué)號(hào)、姓名、平均成績(jī)、最低分和選課門數(shù),并按"平均成績(jī)"降序排序。最后將定義視圖的命令代碼存放到命令文件T1.PRG中并執(zhí)行該文件。
接著利用報(bào)表向?qū)е谱饕粋(gè)報(bào)表。要求選擇SVIEW視圖中所有字段;記錄不分組;報(bào)表樣式為"隨意式";排序字段為"學(xué)號(hào)"(升序);報(bào)表標(biāo)題為"學(xué)生成績(jī)統(tǒng)計(jì)一覽表";報(bào)表文件名為p_student。
2.設(shè)計(jì)一個(gè)名稱為form2的表單,表單上有"瀏覽"(名稱為Command1)和"打印"(Command2)兩個(gè)命令按鈕。鼠標(biāo)單擊"瀏覽"命令按鈕時(shí),先打開數(shù)據(jù)庫(kù)sdb,然后執(zhí)行SELECT語句查詢前面定義的SVIEW視圖中的記錄(兩條命令,不可以有多余命令);鼠標(biāo)單擊"打印"命令按鈕時(shí),調(diào)用報(bào)表文件p_student瀏覽報(bào)表的內(nèi)容(一條命令,不可以有多余命令)。
解答:
1、 方法1:菜單方式:在打開數(shù)據(jù)庫(kù)后,使用“視圖設(shè)計(jì)器”完成。主要步驟說明如下:
字段選取時(shí),除Student.學(xué)號(hào), Student.姓名直接選取,其余的先在“函數(shù)和表達(dá)式”框中分別輸入avg(Sc.成績(jī)) as 平均成績(jī),min(Sc.成績(jī)) as 最低分,count(course.課程名)as 選課門數(shù),再單擊“添加”按鈕;在“分組依據(jù)”選項(xiàng)卡中添加“Student.學(xué)號(hào)”、然后單擊“滿足條件”按鈕,輸入條件“COUNT(Course.課程名) > 3”,在“排序依據(jù)”選項(xiàng)卡中添加“學(xué)號(hào)”(升序),最后單擊“顯示SQL窗口”或單擊右鍵,在快捷菜單中單擊“查看SQL”,復(fù)制SQL語句,在命令窗口中輸入命令:MODIFY COMMAND T1,在打開的命令編輯窗口中,粘貼剛復(fù)制的SQL語句,并加上語句CREATE VIEW SVIEW AS。
方法2:命令方式:
在命令窗口中,輸入命令:MODIFY COMMAND T1.PRG后,在打開的命令編輯窗口中,直接輸入下列命令:
CREATE VIEW SVIEW AS SELECT Student.學(xué)號(hào), Student.姓名, ;
avg(Sc.成績(jī)) as 平均成績(jī),min(Sc.成績(jī)) as 最低分,count(course.課程名)as 選課門數(shù);
FROM sdb!course INNER JOIN sdb!sc INNER JOIN sdb!student ;
ON Sc.學(xué)號(hào) = Student.學(xué)號(hào) and Course.課程號(hào) = Sc.課程號(hào);
GROUP BY Student.學(xué)號(hào) HAVING COUNT(Course.課程名) > 3 ORDER BY 3 DESC
利用報(bào)表向?qū)Э赏瓿蓤?bào)表的設(shè)計(jì),注意報(bào)表標(biāo)題為“學(xué)生成績(jī)統(tǒng)計(jì)一覽表”,報(bào)表文件名為“p_student”。
2、單擊“文件”菜單,單擊“新建”命令,選擇“表單”,輸入表單文件名“form2”,在表單設(shè)計(jì)器中添加兩個(gè)命令按鈕,打開其屬性窗口,將command1和command2中的caption屬性分別改為“瀏覽”、“打印”,分別雙擊命令按鈕,打開代碼窗口,寫入代碼。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |