摘要:數據庫課程是本科信息管理與信息系統專業教學中的一門重要課程,在數據庫課程中最重要、最難掌握的一部分就是SQL語言部分。本文論述了本科數據庫課程中與SQL語言教學方面相關的一些內容,包括SQL簡介,SQL教學中的難點,普通SQL教學中的不足及所給建議。 關鍵詞:數據庫課程 SQL 教學建議
數據庫課程內容包括:數據庫基本概念、關系運算、SQL語言、數據庫管理、規范化設計、E-R模型、高級概念建模活動、對象關系數據庫、面向對象數據庫、分布式數據庫、異構多數據源的訪問、XML技術、數據倉庫、OLAP技術和數據挖掘。在這些內容中最重要的部分就是SQL語言,可以說它是數據庫課程的核心,只有理解掌握了這些SQL語言,才能更好的利用數據庫來存取和操作數據。
一、數據庫課程中SQL簡介
SQL是Structured Query Language(結構化查詢語言)的縮寫,它是關系數據庫管理系統(RDBMS)的標準語言,雖然與QUEL不同,但它基于元組關系演算。SQL既是大多數關系數據庫系統(例如System R、SQL/DS、IBM的DB2、Oracle公司的Oracle、Relational技術公司的Ingres,等等)的數據定義語言又是數據操縱語言。使用SQL能完成涉及RDBMS的所有任務,例如創建表、查詢數據庫中的信息、修改和刪除數據庫中的數據、給用戶授予訪問權限等,因此它有許多特性。SQL能交互式地支持特定請求,或嵌入到過程式語言中來支持運行的事物,它是高級的非過程化編程語言,允許用戶在高層數據結構上工作,它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以是具有完全不同底層結構的不同數據庫系統, 可以使用相同的結構化查詢語言作為數據輸入與管理的接口。SQL語句具有極大的靈活性和強大的功能,已經成為了數據庫操作的基礎,并且現在幾乎所有的數據庫均支持SQL。SQL數據庫的數據體系結構基本上都是三級結構,關系模式(模式)稱為“基本表”;存儲模式(內模式)稱為“存儲文件”;子模式(外模式)稱為“視圖”;元組稱為“行”;屬性稱為“列”。
二、SQL教學中的難點
SQL數據庫是一門應用性、操作性很強的必修課程,概念性很強,很難理解,我認為SQL教學中的難點主要是SQL數據庫的安全性、觸發器、嵌套語句、使用索引和全文索引、使用視圖和游標、使用存儲過程等。
SQL數據庫的安全性必須經過三關來保證:創建登錄賬號;創建用戶;對象授權帶實現,安全性實現后才能對數據庫中的數據進行插入、刪除、更新、查詢等操作,可見要實現數據庫的安全性,必須經過復雜的過程,所以這一部分的學習對學生來講理解起來有點難度。觸發器是指由事件驅動的特殊過程,在用戶定義了觸發器之后,當對該觸發器指定的數據進行增加、刪除或者修改操作時,系統會自動激發該觸發器,完成某些特定的功能,普通的存儲過程是通過其他程序來調用執行的,而它主要是通過特定的事件進行觸發才被執行的,學生們編程中不好把握的就是觸發器級聯運行,在這個地方很容易犯錯誤[2]。如嵌套查詢,是指WHERE子句中又包含SELECT子句,用于較復雜的跨多個基本表查詢的情況,當查詢涉及多個基本表時用嵌套查詢逐次求解、層次分明,具有結構程序設計特點,但是如果分析過程中出現錯誤,就會導致嵌套錯誤,進而結果錯誤。索引、視圖和游標的使用也是SQL教學中比較難的部分。
三、普通SQL教學方法中的不足
在數據庫教程的SQL這一部分的教學中,普通的教學方法就是教師講學生聽,教師只是泛泛的講些理論知識,包括SQL的名稱、優點、體系、組成和操作等這幾方面的理論知識,而沒有做細細的講解。很多SQL語句概念性很強,學生很難理解,加上教師不做過多的講解,就會直接影響到教學效果。普通的SQL教學方法認為只要課本上的知識學生都理解了就是他們真的學會了、明白了,不專門安排實驗課程讓他們親身使用數據庫,多練習SQL語句,這樣就會導致理論知識不能被學生們所理解,進而不會使用數據庫來存取操作數據。普通的SQL教學還存在的問題是講一些常用易懂的SQL語句,認為太深層的SQL語句同學們也難以接受,以至于當其做系統使用數據庫的時一些常見的語句也不會。
四、SQL教學建議
數據庫課程中SQL部分非常重要,對于SQL語句的熟練程度決定了你能不能很好的利用數據庫來存取操作數據,針對普通SQL教學方法中的不足,為了能夠更好的讓學生學好SQL,本文提出一些建議。
學校除了安排學生要上的SQL教學的理論課之外,還應安排適當節數的實驗課,最好是理論課和實驗課在一周上,這樣同學們更能高效快速的記住所學知識,實驗課上教師可以給每位同學分配一個小的系統讓他們去做,或者是找一個項目案例先讓同學們自己研究,然后教師再和同學們一起分析探討,這樣就能更好的理解和掌握SQL語句。
增強同學們之間的交流,同班同學之間肯定對知識的掌握程度不一樣,在課堂上適當的增加學生之間的交流,嚴格要求他們課下也要多交流,這樣通過交流取長補短,學生之間的差距就會縮小。
嚴格課堂紀律,課堂上教師和學生都應該具有認真負責的態度,教師要做到只要有一個學生不明白這個知識點,就要繼續講解,直到每個學生都明白為止;學生要做到認真聽講,多和教師交流,教師盡量多給學生講一些重要但課本上又沒有的知識點。
定期安排小型考試,通過考試檢驗學生對知識的掌握程度,并且經過考試前的復習過程,學生也能更好的理解掌握所學知識;或者是通過讓全班同學共同做一個小型的項目來提高學生的合作、知識水平和查閱資料的能力。
五、結語
SQL部分是數據庫教學的核心部分,也是信管專業的本科生必修的一部分,學好SQL語句,就能很好的利用數據庫來存取和操作數據,提高本科生的素質,進而提高教學質量。
參考文獻:
[1](印)S.K.Singh.數據庫系統概念、設計及應用,2009(11)135-136.
[2]李俊民.SQL結構化查詢語言詳解,2008(8)247-249.
作者簡介:
趙志明(1971年— ),男,江蘇鎮江人,中國礦業大學(北京)管理學院副教授、管理工程博士學位,研究方向:信息管理與信息系統、企業信息化及知識管理、管理信息與電子商務、物流管理與工程。
(責編 田彩霞)