




【摘要】SQL_SELECT的主要功能是對關系數據庫中的二維表進行數據檢索。因為其語法結構比較復雜、語義較為嚴格、使用較為靈活,因此大多數非計算機專業的學生在學習該部分知識時較為困難。本文引入并簡要探討一種新的教學方法—可視化對比教學模式(以下簡稱為VCT),以有效降低學生的學習難度,提高教學質量,提高非計算機專業學生的計算機水平和綜合素質。
【關鍵詞】SQL;SELECT;可視化對比;查詢;查詢設計器
【中圖分類號】G424.1 【文獻標識碼】B【文章編號】2095-3089(2012)13-0035-01
引言
SQL(Structure Query Language)語法簡潔、功能強大、使用方式靈活,經過不斷改進、完善和標準化,現在已成為關系數據庫的標準語言,幾乎所有關系型數據庫系統都支持SQL語言[1]。SQL的核心功能是對二維表數據進行查詢檢索,使用的命令主要是SQL_SELECT。
1SQL_SELECT的基本結構
SQL_SELECT雖然僅為一條命令,但由多個子句組成,每個子句完成不同的功能,根據各子句的功能和語法特點,從邏輯上一般簡單劃分為:
SELECT 查詢字段 FROM 數據源 [WHERE 查詢條件] ORDER BY 排序依據];
[GROUP BY 分組依據] [TOP 查詢結果數目設置] [INTO/TO 查詢去向設置]
2關于SQL_SELECT在教學實踐中主要存在的問題
筆者通過大量實際教學工作后發現:非計算機專業學生在學習該部分內容時普遍存在的問題是:對數據的邏輯結構和聯系缺乏深刻和形象的理解,導致對于SQL_SELECT命令的各個子句功能,不能完全掌握和靈活運用。
四、可視化對比教學模式(VCT)的主要思路和方法
[注]筆者所屬學校主要開設的課程內容為Visual Foxbase6.0系統及其使用,故本為中主要在Visual Foxbase系統環境下討論。
2.1VCT的主要思路: 在VF6.0中,利用創建查詢來檢索數據,因為其圖形界面的操作方式形象直觀、設計過程中代碼較少等特點,最易于學生接受和理解。但查詢本質上仍然是通過SQL_SELECT實現對二維表的查詢,而查詢設計器在實際上是SQL_SELECT的可視化設計界面。VCT根據查詢設計器和SQL_SELECT的本質聯系,利用查詢設計器自動導出SQL腳本代碼的功能, 將SQL_SELECT較為復雜、抽象的結構分解并映射到查詢設計器中簡單、具體的可視化設計界面中,使學生將復雜的命令通過易于理解的可視化界面分步、分模塊接受,從而降低學生的學習難度。
2.2VCT的實施方案: 由于學生對學生信息管理結構比較熟悉,因此我們通過一個查詢學生成績的實例采用VCT進行教學,可以使學生更加容易理解。
實例:查詢student與score表中各系學生的計算機平均成績,并將計算機成績平均分成績前3的系的系別號,和計算機平均成績保存表文件T1中。Student與score數據如下:
第一步:創建查詢,并添加student與score,此時查詢僅僅完成了指定查找數據源功能,通過查看查詢設計器中的SQL代碼,可以發現代碼為:
此時,可以通過查詢設計器與其SQL_SELECT代碼對比發現:SQL_SELECT中的FROM子句主要用于指定查詢的數據源表和表間的邏輯連接方式
第二步:在查詢設計器中的字段選項卡下,選擇要查詢的數據:系別號字段和表達式“year(date())-year(出生日期) as 年齡”,并提示學生查詢設計器中該步的功能僅為選擇了查詢結果包含的字段或表達式,同時查看SQL_SELECT的代碼如下:
此時,通過將查詢設計器與其SQL_SELECT代碼進行對比發現:該步驟完成后,SELECT新增了SELECT子句,用于設置查詢的數據或字段
以此類推,通過查詢設計器將實例完成后,查看其SQL_SELECT代碼如下:
引導學生將上述過程與SQL_SELECT各子句對比不難發現查詢設計器中各選項卡與SQL_SELECT各子句間存在下列對應關系:
選項卡或提示框主要功能SELECT各子句對照字段選擇查詢結果包含數據SELECT連接為多表創建邏輯連接FROM…INNER JOIN..篩選設置查詢條件WHERE排序依據設置查詢結果的排序方式ORDER BY分組依據指定待查數據的分組方式GROUP BY雜項設置查詢結果的輸出數目TOP N查詢去向設置查詢結果的輸出方式INTO|TO…通過VCT,可以形象、直觀的方式讓學生更加深刻地理解SQL_SELECT語句各組成部分,最終達到對SQL_SELECT的一個靈活運用。
5VCT效果總結
筆者在實際教學中將同班的學生隨機分為兩個組,分別以A1和A2表示。A1組在教學過程中,不采用VCT模式,而將教學重點集中在SQL_SELECT各部分的語義解釋上;A2組利用VCT模式,利用查詢設計器的可視化界面來解釋SQL_SELECT各子句。整個教學環節結束后,為A1和A2兩組學生均提供一份測試樣本,內容均為附有10個查詢實例的試題(滿分100分),并要求學生在相同的時間內將其獨立完成,經過統計后發現:
組名人數理論教學
時間實驗練習
時間樣本
數目測試
時間平均分A1150120分鐘120分鐘1060分鐘72A2150120分鐘120分鐘1060分鐘87結論:VCT和傳統的教學方法相比在教學時間上是完全相同的,但是在教學效果上要好于后者;而接受了VCT的學生在可以更加自主、靈活簡單地復習該部分知識,在復習該部分內容時,花費的時間上也減少很多。
6結束語
筆者對在教學SQL_SELECT時的方法進行了總結,并提出了一點改進方式,同時通過一個較為簡單的實例進行了說明,最后利用教學實踐后的反饋數據進行了對比和說明。可以看出,VCT在實際教學中是一種可行并且有效的方法,但是在使用的過程中也必須注意它僅是一種教學和學習方式,不能過分依賴,否則也會帶來一些負面效果。
參考文獻
[1] 大學計算機基礎教程[M].科學出版社,2006:211~212