[摘 要]在高職院校中數(shù)據(jù)庫是必不可少的一門專業(yè)課,在開發(fā)項(xiàng)目上它有著決定性地位,而學(xué)生在學(xué)習(xí)數(shù)據(jù)庫中往往和項(xiàng)目分開,而且不注重?cái)?shù)據(jù)庫這門學(xué)科,在到后來開發(fā)項(xiàng)目時(shí)往往在數(shù)據(jù)庫這方面跌跟頭。使開發(fā)出來的系統(tǒng)數(shù)據(jù)庫方面性能很不差,影響到整個(gè)系統(tǒng)的維護(hù)。尤其是最常用的查詢select語句。如何讓學(xué)生理論聯(lián)系實(shí)踐,在教學(xué)中如何引導(dǎo)學(xué)生把數(shù)據(jù)庫oracle中的內(nèi)容與項(xiàng)目接軌。文章探討通過項(xiàng)目教學(xué)法,達(dá)到理論與實(shí)踐共同學(xué)習(xí)的目標(biāo)。
[關(guān)鍵詞]理論聯(lián)系實(shí)踐 oracle數(shù)據(jù)庫 select查詢語句 多表連接
在高職院校中數(shù)據(jù)庫是必不可少的一門專業(yè)課,在開發(fā)項(xiàng)目上它有著決定性地位,而學(xué)生在學(xué)習(xí)數(shù)據(jù)庫中往往和項(xiàng)目分開,而且不注重?cái)?shù)據(jù)庫這門學(xué)科,在到后來開發(fā)項(xiàng)目時(shí)往往在數(shù)據(jù)庫這方面跌跟頭。使開發(fā)出來的系統(tǒng)數(shù)據(jù)庫方面性能很不差,影響到整個(gè)系統(tǒng)的維護(hù)。尤其是最常用的查詢select語句。如何讓學(xué)生理論聯(lián)系實(shí)踐,在教學(xué)中如何引導(dǎo)學(xué)生把數(shù)據(jù)庫oracle中的內(nèi)容與項(xiàng)目接軌。實(shí)踐中我們嘗試項(xiàng)目教學(xué)法,應(yīng)用效果良好。
一、教學(xué)主要環(huán)節(jié)
(1)簡單引入基本理論
首先簡單的講述select查詢語句的理論知識:Sql語言分類:數(shù)據(jù)查詢語言、數(shù)據(jù)操作語言、事務(wù)控制語言、數(shù)據(jù)定義語言、數(shù)據(jù)控制語言。其中數(shù)據(jù)查詢語言是數(shù)據(jù)庫中最常用的也是最復(fù)雜的。在sql語句中,select語句功能和語法是最復(fù)雜也是最靈活的。其中又分為單表查詢和多表查詢,其中多表連接比較復(fù)雜,多表連接oracle中的連接可分為,內(nèi)連接(inner join)、外連接(outer join)、全連接(full join),不光是Oracle,其他很多的數(shù)據(jù)庫也都有這3種連接查詢方式
(2)針對項(xiàng)目邊講邊做
項(xiàng)目由以學(xué)管理數(shù)據(jù)庫展開,包括student(學(xué)號、姓名、性別、年齡、專業(yè))、課程(編號,課程名)、教師(編號,教師)……幾個(gè)基本表。
首先講解where語句的用法,這種用法是最常用的。例如我們在開發(fā)項(xiàng)目時(shí)經(jīng)常查看一下所有男同學(xué)的信息。Select * from student where 性別=’男’。重點(diǎn)講解where子句的表達(dá)式,如查詢所有年齡大于20并且男同學(xué)的信息。Select * from student where 性別=’男’ and 年齡>20
第二環(huán)節(jié)講解order by 子句。例題:對所有同學(xué)按年齡進(jìn)行排序,其中默認(rèn)為升序,降序可加desc。Select * from student order by 年齡
第三環(huán)節(jié)講解group by子句。分類匯總也是查詢中非常常用的語句。例題:分別統(tǒng)計(jì)一下男女生的平均年齡。Select avg(年齡) from student group by 性別。以上這樣就能由淺入深的把學(xué)生代入實(shí)踐的項(xiàng)目開發(fā)中而也使用較為輕松的理解了單表查詢select語句的用法。
第四環(huán)節(jié)講解多表連接查詢。比如我們經(jīng)常做這樣的操作我們查詢某一學(xué)科的某位老師或者我們想選修某個(gè)老師的課程,想查看一下某個(gè)老師所教的哪些課程。具體涉及以下操作:
1. 內(nèi)連接。
這是我們經(jīng)常用的查詢方式,比如select * from表1,表2 where 表1.字段1=表2.字段2,這樣的連接就是內(nèi)連接,內(nèi)連接查詢只能查詢出匹配的記錄,匹配不上的記錄時(shí)無法查詢出來的。內(nèi)連接又分為等值連接、不等連接、自然連接、多表內(nèi)連接。等值連接,例如Select * from 課程 as a inner join 教師 as b On a.編號=b.編號; 不等值連接,例如:Select * from 課程 as a inner join 教師 as b On a.編號 外連接,可進(jìn)一步分為左外連接left outer join和右外連接right outer join,內(nèi)連接只返回符合查詢條件和連接條件的行。而外連接的查詢結(jié)果是內(nèi)連接的擴(kuò)展。與內(nèi)連接不同,它還包括左表(左連接)或右表(右連接)中所有不符合條件的數(shù)據(jù)。左連接Select a.編號,課程號,b.編號,教師 from 課程 as a left outer join 教師 as b on a.編號=b.編號。右連接:Select a.編號,課程號,b.編號,教師 from 課程 as a right outer join 教師 as b on a.編號=b.編號 二、教學(xué)效果分析 以上是根據(jù)實(shí)踐項(xiàng)目提取出來的查詢實(shí)例語句,這樣能讓學(xué)生重視數(shù)據(jù)庫這門學(xué)科的同時(shí)而且還能夠知道select查詢語句在項(xiàng)目中如何應(yīng)用。及select語句在項(xiàng)目開發(fā)時(shí)的重要地位。而且為以后的項(xiàng)目開發(fā)打下良好的基礎(chǔ)。 參考文獻(xiàn): [1]趙松濤. SQL Server2005系統(tǒng)管理實(shí)錄[M].電子工業(yè)出版社:北京,2006.5 [2]鄭阿奇. SQL Server實(shí)用教程(第3版)[M].電子工業(yè)出版社:北京,2010.7 [3]楊章偉. 精通SQL語言與數(shù)據(jù)庫管理[M].人民郵電出版社:北京,2008.6 [4]劉芳 數(shù)據(jù)庫原理及應(yīng)用[M].北京理工大學(xué)出版社:北京,2006.8