摘 要: 總計查詢是Access數(shù)據(jù)庫教學(xué)的重點。針對總計查詢中容易混淆的知識點,給出了一些教學(xué)案例,并且對教學(xué)案例進(jìn)行了分析,介紹了總計查詢的教學(xué)設(shè)計過程。實踐證明,這些教學(xué)案例能夠提高總計查詢的教學(xué)效果。
關(guān)鍵詞: Access數(shù)據(jù)庫; 總計查詢; 教學(xué)設(shè)計; 教學(xué)案例
中圖分類號:G642 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-8228(2014)09-63-02
Teaching design of total query in Access database
Zhan Bin, Ning Bin, Zhao Yongbiao
(School of Mathematics and Computer Science, Hubei University of Arts and Science, Xiangyang, Hubei 441053, China)
Abstract: Total query is a key point in Access database teaching. Aiming at the knowledge points which are easy to be confused, several teaching cases are given and analyzed. Teaching design of total query is given. Practice shows that these teaching cases can improve the teaching effect of total query.
Key words: Access database; total query; teaching design; teaching case
0 引言
總計查詢是Access數(shù)據(jù)庫教學(xué)的重點,也是全國計算機(jī)等級考試(二級Access)的重點。針對學(xué)生在學(xué)習(xí)過程中容易混淆的知識點,需要給出恰當(dāng)?shù)慕虒W(xué)案例,幫助學(xué)生正確、準(zhǔn)確地使用總計查詢。本文介紹了總計查詢的教學(xué)設(shè)計過程。
1 教學(xué)背景
總計查詢的教學(xué)對象主要是文科類學(xué)生。在總計查詢教學(xué)之前,已經(jīng)學(xué)習(xí)了不帶條件的查詢、帶條件的查詢和自定義計算。
2 教學(xué)目的
⑴ 理解什么是總計查詢。
⑵ 掌握總計查詢中計數(shù)、平均值、最大值、最小值、表達(dá)式和條件的使用,能夠利用總計查詢解決實際的問題。
3 教學(xué)方法及過程
案例教學(xué)模式是一種以案例分析討論為主線的教學(xué)方法,教學(xué)內(nèi)容圍繞案例分析和討論逐步展開[1-2]。針對總計查詢中不容易理解的知識點給出了一組教學(xué)案例,并且對教學(xué)案例進(jìn)行分析,幫助學(xué)生正確地理解和使用總計查詢。結(jié)合學(xué)生在學(xué)習(xí)過程中經(jīng)常出現(xiàn)的錯誤,給出了錯誤案例,加深學(xué)生對知識點的理解[2]。
總計查詢也稱為預(yù)定義計算,可以對查詢中的全部記錄或記錄組計算一個或多個字段的統(tǒng)計值[3-4]??傆嫴樵兊目傆嬓邪?2個選項,這里主要介紹計數(shù)、平均值、最大值、最小值、表達(dá)式和條件的使用。其中表達(dá)式和條件的使用是教學(xué)的難點。
3.1 針對所有記錄進(jìn)行統(tǒng)計
學(xué)生表包括學(xué)號、姓名、性別、出生日期、民族、專業(yè)、所在院系、政治面貌、照片和備注字段。統(tǒng)計學(xué)生的人數(shù)。這個案例需要在查詢的設(shè)計網(wǎng)格中添加學(xué)號字段,設(shè)置其總計行為“計數(shù)”,就能夠統(tǒng)計所有學(xué)生的人數(shù)了[3]。
提出問題,學(xué)生表的其他字段能不能用來計數(shù)呢?例如姓名、性別、照片和備注等字段。
總計查詢在計數(shù)時不會去掉重復(fù)值,但是會忽略“空值”[5]。因此,如果有一個學(xué)生的性別字段值為“空”,那么用性別字段計數(shù)的結(jié)果就是不正確的。如果性別字段的字段值都不為空,那么計數(shù)的結(jié)果就是正確的。因此用來計數(shù)的字段應(yīng)該是“必填”字段。
一般來說,學(xué)生表的學(xué)號字段是主鍵,主鍵默認(rèn)為“必填”字段,然而學(xué)生表的其他字段的值有可能為“空”,因此在統(tǒng)計學(xué)生人數(shù)時建議使用“學(xué)號”字段。從這個案例中還可以認(rèn)識到總計查詢可以對所有記錄進(jìn)行統(tǒng)計。
3.2 針對記錄組進(jìn)行統(tǒng)計
總計查詢還能夠針對記錄組進(jìn)行統(tǒng)計。我們給出下面一組案例[3,6]:
⑴ 統(tǒng)計男女生的人數(shù);
⑵ 統(tǒng)計各個專業(yè)男女生的人數(shù);
⑶ 統(tǒng)計各個民族各個專業(yè)男女生的人數(shù);
⑷ 統(tǒng)計男女生的人數(shù)和平均年齡;
⑸ 課程表包括課程號、課程名稱、學(xué)分和開課學(xué)期字段,成績表包括學(xué)號、課程號和考試成績字段,統(tǒng)計各門功課的平均分、最高分和最低分。
案例1需要1個分組字段。案例2需要2個分組字段,分別是專業(yè)和性別字段。案例3需要3個分組字段,分別是民族、專業(yè)和性別字段。案例4的統(tǒng)計字段有2個。案例5的考試成績字段被統(tǒng)計了3次,用來計算平均分、最高分和最低分。
通過上述5個案例,可以很容易地理解分組的含義,并且認(rèn)識到分組字段可以有多個,統(tǒng)計字段也可以有多個,一個字段可以被統(tǒng)計多次[7]。
3.3 帶條件的總計查詢
統(tǒng)計男生的人數(shù)。
方法1 在查詢的設(shè)計網(wǎng)格中添加性別和學(xué)號2個字段。設(shè)置性別字段的總計行為“條件”,條件行為“男”,學(xué)號字段的總計行為“計數(shù)”[3]。
方法2 在查詢的設(shè)計網(wǎng)格中設(shè)置性別字段的總計行為“分組”,條件行為“男”,學(xué)號字段的總計行為“計數(shù)”[6]。
方法1是先篩選出男生的記錄,然后對男生的記錄進(jìn)行計數(shù)。方法2是先把學(xué)生的記錄按照性別進(jìn)行分組,統(tǒng)計出男女生的人數(shù),但是由于性別字段的條件行為“男”,最后只顯示男生的人數(shù)。
當(dāng)總計行為“條件”時,顯示方式只能是“不顯示”,所以,方法1的表視圖只顯示人數(shù),而方法2既能顯示人數(shù),又能顯示性別。
方法3 在查詢設(shè)計網(wǎng)格只添加性別字段,設(shè)置其總計行為“計數(shù)”,條件行為“[性別]=\"男\(zhòng)"”,查詢設(shè)計網(wǎng)格如圖1[6]所示。
方法3是先找出性別為男的記錄,然后再對符合條件的記錄進(jìn)行計數(shù)。由于統(tǒng)計的是男生的人數(shù),男生的性別字段值肯定不為“空”,因此用性別字段計數(shù)是正確的。
根據(jù)學(xué)生做試題時出現(xiàn)的錯誤,設(shè)計了一個錯誤案例,其查詢設(shè)計網(wǎng)格如圖2所示。
這個查詢設(shè)計網(wǎng)格似乎是正確的,但是在運行時系統(tǒng)提示“標(biāo)準(zhǔn)表達(dá)式中類型不匹配”。因為該查詢是先對性別進(jìn)行計數(shù),然后判斷計數(shù)的數(shù)值是否為“男”。數(shù)值是整數(shù)類型,而\"男\(zhòng)"是文本類型,因此這個設(shè)計是錯誤的。
通過這個錯誤案例可以加深學(xué)生對帶條件的總計查詢的認(rèn)識。
3.4 總計查詢中表達(dá)式的使用
⑴ 統(tǒng)計20歲以上的學(xué)生人數(shù)[6]。
方法1 添加學(xué)號字段用來計數(shù),由于學(xué)生表中沒有年齡字段,年齡字段必須通過計算得到,因此在查詢設(shè)計網(wǎng)格的字段行添加表達(dá)式“Year(Date())-Year([出生日期])”用來計算年齡,表達(dá)式的總計行設(shè)為“Expression”,條件行設(shè)為“>20”,顯示行設(shè)為“不顯示”[6]。
方法2 把方法1的查詢設(shè)計網(wǎng)格中表達(dá)式的總計行由“Expression”更改為“Where”。
方法3 在查詢的設(shè)計網(wǎng)格中只添加計算字段,查詢設(shè)計網(wǎng)格如圖3[6]所示。
方法3更簡單,字段行只添加了一個計算字段,但是必須在表達(dá)式前面加上字段名稱,否則運行時系統(tǒng)提示“Year(Date())-Year([出生日期])之計數(shù)不是一個有效名稱”。
通過這個案例讓學(xué)生掌握表達(dá)式的使用。
⑵ 統(tǒng)計各門課程最高分與最低分的差值[6]。
這個案例需要添加計算字段“差值: Max([考試成績])-Min([考試成績])” [6]。這個案例說明計算字段的表達(dá)式中可以使用聚合函數(shù)。常用的聚合函數(shù)包括:sum、avg、count、max和min函數(shù)。
此時提出問題:能否用表達(dá)式統(tǒng)計學(xué)生的人數(shù)?
在查詢設(shè)計網(wǎng)格的字段行添加表達(dá)式“人數(shù):Count([學(xué)號])”,其總計行設(shè)置為“Expression”,也可以統(tǒng)計學(xué)生的人數(shù)。
4 教學(xué)特點總結(jié)
本教學(xué)設(shè)計對每個知識點設(shè)計了相應(yīng)的教學(xué)案例,對同一問題給出多種解決方法,并且分析了每種方法的特點,通過對比分析這些方法的應(yīng)用,能夠加深學(xué)生對知識點的理解,提高判斷錯誤并正確和準(zhǔn)確解決實際問題的能力。
5 結(jié)束語
實踐證明,上述教學(xué)案例能夠幫助學(xué)生正確地理解和使用總計查詢,提高總計查詢的教學(xué)效果。
參考文獻(xiàn):
[1] 雷海艷.淺談現(xiàn)代案例教學(xué)模式[J].長春理工大學(xué)學(xué)報(社會科學(xué)版),
2007.1:28-30
[2] 丁海燕,袁國武,周小兵,白孟堯.高級語言程序設(shè)計案例教學(xué)模式的
探討[J].計算機(jī)教育,2011.8:65-68
[3] 劉衛(wèi)國主編.Access數(shù)據(jù)庫基礎(chǔ)與應(yīng)用[M].北京郵電大學(xué)出版社,
2013.
[4] 葉建良.ACCESS的總計查詢及其解題淺析[J].電腦知識與技術(shù),
2009.8:1811-1812,1816
[5] 戚娜.Access數(shù)據(jù)庫中查詢淺析[J].計算機(jī)光盤軟件與應(yīng)用,
2013.21:23-24
[6] 全國計算機(jī)等級考試命題研究中心編著.全國計算機(jī)等級考試上機(jī)
考試題庫二級Access[M].電子工業(yè)出版社,2013.
[7] 詹彬,谷瓊.Access數(shù)據(jù)庫查詢教學(xué)中的知識點分析[J].計算機(jī)時代,
2011.11:46-47,50