国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

數(shù)據(jù)庫查詢語句教學(xué)中使用數(shù)據(jù)生成過程演示

2015-02-12 07:27史勝利
關(guān)鍵詞:數(shù)據(jù)處理

?

數(shù)據(jù)庫查詢語句教學(xué)中使用數(shù)據(jù)生成過程演示

史 勝 利

(包頭師范學(xué)院 信息科學(xué)與技術(shù)學(xué)院,內(nèi)蒙古 包頭 014030)

摘要:針對《數(shù)據(jù)庫應(yīng)用》課程教學(xué)中查詢語句,作者在教學(xué)中總結(jié)出了一種數(shù)據(jù)生成過程演示的方法。該方法把復(fù)雜的查詢語句分解為多個操作步驟,通過手工構(gòu)造出每個操作對數(shù)據(jù)處理的結(jié)果,把整個查詢過程手工演示出來。這種方法可使抽象的查詢語句變得具體化、程序化,有助于學(xué)生學(xué)習(xí)和掌握查詢語句的使用。

關(guān)鍵詞:查詢語句;數(shù)據(jù)處理 ; 數(shù)據(jù)庫應(yīng)用

查詢語句看似簡單,一句代碼就可單獨(dú)執(zhí)行得到結(jié)果,但其實(shí)由表數(shù)據(jù)得到查詢結(jié)果是有一個復(fù)雜的處理過程。在使用中查詢語句往往由多個子句組成,每個子句完成特定的功能,各子句依次處理數(shù)據(jù),得到最終的結(jié)果。不同的子句組合的代碼,數(shù)據(jù)處理過程也不同,子句的組合多種多樣,也造成數(shù)據(jù)處理過程復(fù)雜多樣,對于剛學(xué)習(xí)的學(xué)生可能感覺數(shù)據(jù)的處理過程沒有固定的步驟、規(guī)律可依,復(fù)雜多變,學(xué)習(xí)起來有一定的難度。所以在教學(xué)中使學(xué)生熟悉數(shù)據(jù)處理的流程、能自己動手清晰地完成數(shù)據(jù)處理過程非常必要。學(xué)生明白了數(shù)據(jù)處理過程,就會對各子句的功能有更深地認(rèn)識,更好的理解各子句的關(guān)系,才能讀懂復(fù)雜的代碼,才能在寫代碼時有清晰的思路。但是我們現(xiàn)在課本和教師的教學(xué)中對數(shù)據(jù)處理過程講解的內(nèi)容較少。本文提出了一個方法,通過手工演示數(shù)據(jù)處理過程,使學(xué)生熟悉查詢語句的對數(shù)據(jù)的處理過程,熟悉各子句的特點(diǎn),使學(xué)生在學(xué)習(xí)中提高效率。

1數(shù)據(jù)處理過程描述

下面講述一下教學(xué)過程中總結(jié)出的數(shù)據(jù)處理過程。

查詢語句中各子句對數(shù)據(jù)的處理有一定的順序性,我們先看一下各子句執(zhí)行的順序性。查詢語句包括的子句有:select子句、 from子句、 where子句、 order by子句、group by子句、 having子句、子查詢子句,其中為了處理需要,可以將where語句中的篩選條件分為連接條件和普通篩選條件,from子句中如果涉及到多個表,就隱含著多表的表連接,以下把兩表的無條件連接作為一個處理過程,并稱為表的交叉連接[2]。對數(shù)據(jù)的處理可以按以下的順序來進(jìn)行,首先是表的交叉連接,然后是表連接條件篩選,接著依次是普通篩選條件、group by分組、select列運(yùn)算、having篩選、order by排序[3]。

1.1舉例描述數(shù)據(jù)處理過程

下面舉例說明各子句的順序性。例子是以oracle數(shù)據(jù)庫中scott用戶下的emp表和dept表為基礎(chǔ)作查詢。

查詢語句:

Select emp.deptno,dname,avg(sal) from emp,dept where emp.detpno=dept.detpno and sal>2000 group by emp.deptno,dname order by dname

(1)

查詢語句(1)的數(shù)據(jù)處理可通過以下過程實(shí)現(xiàn):

①首先是emp和dept的交叉連接,表的交叉連接就是依次取一個表中的每行記錄,與另一個表中的所有記錄連接組合成新的記錄,最終組合成一個大表。如果emp是一個有7個字段14行記錄的表,dept是一個有3個字段4行記錄的表,交叉連接后就得到一個14*7行記錄、10個字段的大表。交叉連接后的大表中的記錄是由用于連接的兩個表中的數(shù)據(jù)任意連接而成,大表中的一條記錄由兩部分組合成,這兩部分分別來自于用于連接的兩個表中的數(shù)據(jù),而這兩個表的數(shù)據(jù)可能是不相關(guān)的,這就造成交叉連接后的大表中的很多數(shù)據(jù)是無用的數(shù)據(jù)。但是在有表連接的查詢語句中,兩表的連接是其它操作的基礎(chǔ),并且可以根據(jù)連接規(guī)則很容易構(gòu)造出交叉連接后的大表,后續(xù)的操作就可以在這個大表的基礎(chǔ)上有條理的進(jìn)行。

②接著是表連接條件“emp.detpno=dept.detpno”在前面交叉連接表基礎(chǔ)上篩選數(shù)據(jù),然后是普通篩選條件“sal>2000”篩選,這兩個篩選都是針對每一個記錄判斷是否滿足篩選要求,這樣經(jīng)過篩選后只留下需要的數(shù)據(jù)記錄。

③接著是“group by emp.deptno,dname”分組,分組的意義在于為統(tǒng)計函數(shù)做準(zhǔn)備,就是后續(xù)的統(tǒng)計函數(shù)會依據(jù)分組后的結(jié)果對每組做統(tǒng)計操作,分組操作實(shí)質(zhì)是要把分組字段值相同的記錄排列到一塊兒,如果不考慮順序性,分組操作可按分組字段排序來實(shí)現(xiàn)。

④接著是“Select emp.deptno,dname,avg(sal)”子句分組統(tǒng)計平均值,這樣運(yùn)算后得到的每一行記錄是由emp.deptno和dname的分組字段值、以及該組的avg(sal)平均工資值組成。

⑤然后在上一步操作結(jié)果基礎(chǔ)上再進(jìn)行“having avg(sal)>3000”篩選,選出滿足條件的記錄。

⑥最后是“order by dname”對篩選的結(jié)果進(jìn)行排序。

經(jīng)過這一系列處理過程得到的數(shù)據(jù)就是查詢語句執(zhí)行的結(jié)果。

1.2數(shù)據(jù)處理過程分析

上面例題中對數(shù)據(jù)的處理過程可以推廣到所有類似的查詢語句中。在類似上面有表連接的查詢語句中,可將處理過程分解為上面提到的幾個步驟,每個步驟對數(shù)據(jù)的處理都可以通過手動的操作數(shù)據(jù)構(gòu)造出來。表的交叉連接結(jié)果可通過移動組合數(shù)據(jù)構(gòu)造出來,數(shù)據(jù)篩選、分組可通過移動數(shù)據(jù)得到,統(tǒng)計平均值、總和可通過函數(shù)運(yùn)算得到。按照各步驟的順序手動的對數(shù)據(jù)進(jìn)行處理,這樣構(gòu)造出的結(jié)果和查詢語句實(shí)際執(zhí)行后的結(jié)果是一致的。如果在教學(xué)中演示出數(shù)據(jù)的構(gòu)造過程,會使抽象的數(shù)據(jù)處理過程具體化、程序化,更有說服力,使學(xué)生更容易理解。

2數(shù)據(jù)構(gòu)造演示方法

教學(xué)時給學(xué)生演示數(shù)據(jù)構(gòu)造的過程要注意的問題是演示過程清晰,并且花的時間要盡量短。我選擇在excel中處理數(shù)據(jù)。在進(jìn)行演示前,首先把需要的表以excel文件形式準(zhǔn)備好。對于兩個表的交叉連接操作,通過一行一行的復(fù)制數(shù)據(jù)就可完成。對于數(shù)據(jù)篩選操作可以先篩選,把符合條件的記錄標(biāo)記為一種彩色,等全部篩選完以后再統(tǒng)一選取被標(biāo)記的記錄復(fù)制到結(jié)果區(qū)。對于分組操作,如果不介意分組后的順序,可以根據(jù)分組字段使用excel中的排序操作來完成。對于統(tǒng)計函數(shù),如計算平均值、總和等,或者是一些算數(shù)運(yùn)算,可以使用excel中的函數(shù)和公式來完成。總體來說,excel中提供的功能很方便我們來完成查詢語句中的各種數(shù)據(jù)構(gòu)造。

這種數(shù)據(jù)生成過程的演示除了在給學(xué)生講解時使用,也需要學(xué)生通過練習(xí)掌握這一方法。讓學(xué)生在excel中自己構(gòu)造查詢結(jié)果,通過練習(xí)使學(xué)生親自體驗(yàn)一下這種方法的正確性,從而能對查詢語句中的各子句有深入的理解,并在閱讀代碼和書寫代碼時熟練的使用這一方法思考問題。

3總結(jié)

查詢語句是學(xué)生學(xué)習(xí)數(shù)據(jù)庫應(yīng)用的重點(diǎn)和難點(diǎn),一個復(fù)雜的查詢語句可分解為有序的幾步操作,這些操作對數(shù)據(jù)的處理都可通過簡單的手動操作演示出來,通過手動演示數(shù)據(jù)處理過程可以使學(xué)生感覺到看似復(fù)雜的語句有規(guī)律可循,使抽象的數(shù)據(jù)處理過程具體化、簡單化。學(xué)生如果掌握了這一方法,在面對復(fù)雜的查詢代碼時會對代碼的結(jié)構(gòu)清晰明了,在寫代碼時也會思路清晰,也可根據(jù)數(shù)據(jù)處理過程不斷檢驗(yàn)自己的代碼和要求之間的吻合度,從而逐步提高自己的能力。

〔參考文獻(xiàn)〕

[1]程錄慶.提高數(shù)據(jù)庫系統(tǒng)教學(xué)質(zhì)量的幾點(diǎn)思考[J] .計算機(jī)教育, 2011,(16).

[2]安博教育集團(tuán).Oracle數(shù)據(jù)庫系統(tǒng)[M] .電子工業(yè)出版社, 2012.

[3]孟憲虎,馬雪英,等.大型數(shù)據(jù)庫管理系統(tǒng)技術(shù)應(yīng)用與實(shí)例分析—SQL Server 2005(第2版)[M] .電子工業(yè)出版社, 2011.

Using the Data Generating Process Demonstration

in the Query Statement Teaching of Databse Application

SHI Sheng-li

(Faculty of Information Science and Technology,Baotou Teachers College,Baotou 014030)

Abstract:According to the database application course teaching on the query statement, the author in teaching summed up the method of a data generating process demonstration. The complex query is decomposed into several steps. Through constructing the data processing results on each operation by hand, the query process would be manual demonstrated. This method can make abstract the query statement becoming concrete and procedure, used to help students to learn and master the query statement.

Key words:query statement;data processing; database application

中圖分類號:G250.74-45

文獻(xiàn)標(biāo)識碼:A

文章編號:1004-1869(2015)01-0066-02

作者簡介:史勝利(1977-),內(nèi)蒙古五原人,碩士,講師,研究方向:信息安全,數(shù)據(jù)庫應(yīng)用。

收稿日期:2014-11-04

猜你喜歡
數(shù)據(jù)處理
認(rèn)知診斷缺失數(shù)據(jù)處理方法的比較:零替換、多重插補(bǔ)與極大似然估計法*
基于低頻功率數(shù)據(jù)處理的負(fù)荷分解方法
ILWT-EEMD數(shù)據(jù)處理的ELM滾動軸承故障診斷
無人機(jī)測繪數(shù)據(jù)處理關(guān)鍵技術(shù)及運(yùn)用
基于MATLAB語言的物理實(shí)驗(yàn)數(shù)據(jù)處理探討
論涉及數(shù)據(jù)處理的專利申請文件的撰寫與審查答復(fù)
基于希爾伯特- 黃變換的去噪法在外測數(shù)據(jù)處理中的應(yīng)用
PSGSEIS地震勘探數(shù)據(jù)處理與成像系統(tǒng)
遙感載荷通用數(shù)據(jù)處理平臺設(shè)計與實(shí)現(xiàn)
顆?!诿媾鲎步Ec數(shù)據(jù)處理
嵊泗县| 平定县| 南城县| 靖边县| 肃北| 永城市| 抚顺县| 甘洛县| 呼和浩特市| 华阴市| 建宁县| 望城县| 中山市| 拉萨市| 河北省| 保定市| 东海县| 津南区| 永仁县| 慈利县| 无棣县| 来安县| 泸溪县| 宁波市| 夏河县| 肥西县| 崇礼县| 汉川市| 西宁市| 蚌埠市| 峨眉山市| 麻城市| 临汾市| 汝城县| 洛浦县| 镇赉县| 桂阳县| 水城县| 内黄县| 凤阳县| 衢州市|