亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        用“問題”助推數(shù)據(jù)庫原理SQL語言的模糊查詢

        2022-04-11 11:02:11朱秀英
        電腦知識(shí)與技術(shù) 2022年5期
        關(guān)鍵詞:數(shù)據(jù)庫問題教學(xué)

        摘要:數(shù)據(jù)庫原理是數(shù)據(jù)庫技術(shù)理論知識(shí)的基礎(chǔ)課程,使用SQL語言可以完成數(shù)據(jù)庫的結(jié)構(gòu)化查詢。文章主要圍繞數(shù)據(jù)查詢中的模糊查詢展開討論,并結(jié)合“問題式”教學(xué)方法來幫助學(xué)生如何根據(jù)查詢條件的不同構(gòu)造匹配串,繼而完成查詢操作。“問題式”方法在模糊查詢的教學(xué)過程中,激發(fā)了學(xué)生的學(xué)習(xí)興趣,開拓了他們的創(chuàng)新思維。

        關(guān)鍵詞:數(shù)據(jù)庫;SQL;模糊查詢;“問題式”教學(xué)

        中圖分類號(hào):G642 ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A

        文章編號(hào):1009-3044(2022)05-0032-02

        數(shù)據(jù)庫原理是計(jì)算機(jī)專業(yè)的一門重要的必修課,具有理論性、實(shí)踐性強(qiáng)的特點(diǎn),其理論與應(yīng)用相輔相成、相互依賴。課程的教學(xué)目標(biāo)是讓學(xué)生理解數(shù)據(jù)庫系統(tǒng)(DBS)的基本理論概念,掌握數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)、查詢、更新、優(yōu)化的基本方法,具備利用現(xiàn)有的DBMS進(jìn)行一定的數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)及應(yīng)用開發(fā)能力。

        SQL(Structured Query Language) ,即結(jié)構(gòu)化查詢語言,是數(shù)據(jù)庫應(yīng)用開發(fā)的標(biāo)準(zhǔn)語言[1]。熟練掌握SQL可以在數(shù)據(jù)庫的實(shí)際應(yīng)用開發(fā)時(shí)起到事半功倍的效果。SQL語言提供了SELECT語句進(jìn)行數(shù)據(jù)庫的查詢,其中在查詢時(shí)可以對(duì)指定的屬性值進(jìn)行字符串的匹配查詢,即模糊查詢。模糊查詢是學(xué)生學(xué)習(xí)過程中較難理解掌握的知識(shí)點(diǎn)。傳統(tǒng)的教學(xué)主要以教師的“灌輸式”講授方式為主,學(xué)生很難融會(huì)貫通地理解應(yīng)用這部分內(nèi)容[2]。

        提問是能夠引導(dǎo)學(xué)生進(jìn)行思考的最直接的一種方式,在數(shù)據(jù)庫原理課程的教學(xué)過程中教師根據(jù)教材的知識(shí)點(diǎn)提出相應(yīng)問題,讓學(xué)生在尋求,探索解決問題的思維活動(dòng)中,掌握知識(shí)、發(fā)展智力、培養(yǎng)技能,進(jìn)而引發(fā)學(xué)生的思考,提高學(xué)生的自主學(xué)習(xí)能力[3]。筆者結(jié)合多年來講授數(shù)據(jù)庫原理課程的教學(xué)實(shí)踐,體會(huì)到模糊查詢采用“問題式”教學(xué)來推動(dòng)課堂,可以讓學(xué)生在問題求解的過程中掌握理論知識(shí),更能激發(fā)學(xué)生的學(xué)習(xí)興趣,逐步形成主動(dòng)提出問題、解決問題的學(xué)習(xí)習(xí)慣[4]。

        下面介紹一下筆者在數(shù)據(jù)庫原理課程中采用“問題式”教學(xué)方法在數(shù)據(jù)庫原理SQL語言模糊查詢中的應(yīng)用。

        1 SQL中模糊查詢語句格式

        在SQL中模糊查詢一般用謂詞LIKE來實(shí)現(xiàn),其一般的查詢語句格式如下[1]:

        SELECT [ALL|DISTINCT]<目標(biāo)列表達(dá)式>[,<目標(biāo)列表達(dá)式>]…

        FROM <表名或視圖名>[,<表名或視圖名>]…

        WHERE 屬性列 [NOT] LIKE‘匹配串’[ESCAPE‘換碼字符’]

        其中<匹配串>可以是一個(gè)完整的字符串,也可以是含有通配符的字符串,查詢過程中可以實(shí)現(xiàn)查找指定屬性值與<匹配串>相匹配的元組。針對(duì)不同的模糊查詢問題,如何去構(gòu)造查詢“匹配串”?下面將以一個(gè)學(xué)生基本信息關(guān)系為例,進(jìn)行相應(yīng)的模糊問題設(shè)置及解答。

        2 基于不同匹配模式進(jìn)行“問題式”模糊查詢

        假定學(xué)生信息表(student)如表1所示。

        (其中:Sno為學(xué)號(hào),Sname為姓名,Ssex為性別,Sage為年齡,Sdept為專業(yè),Class為班級(jí))

        SQL中通?!?”和“_”兩種通配符來構(gòu)造匹配串完成模糊查詢,具體如何應(yīng)用呢?

        1)“%”:表示任意0個(gè)或多個(gè)字符,可匹配任意類型和長度的字符,授課中提出以下幾類問題:

        ①如何查詢某一姓(如姓 “張”)的同學(xué)的詳細(xì)信息?

        對(duì)于該問題,引導(dǎo)學(xué)生觀察student表,姓名字段的元組值里,“張”姓同學(xué)的姓名中有兩字的(張強(qiáng))、有三字的(張雪麗),還有更多字的情況,讓學(xué)生試著構(gòu)造匹配串“張%”,繼而寫出查詢語句:

        SELECT ?*

        FROM ?student

        WHERE sname LIKE '張%'

        ②如何查詢姓名中含有某一個(gè)字(如“雪”)的同學(xué)的詳細(xì)信息?

        對(duì)于這樣的題目,讓學(xué)生先觀察表中的學(xué)生姓名,包含“雪”的姓名如“王麗雪”“張雪麗”,會(huì)發(fā)現(xiàn)“雪”字在姓名中的位置不確定,根據(jù)這個(gè)特點(diǎn),構(gòu)造出匹配串“%雪%”,可以寫出查詢語句:

        SELECT ?*

        FROM ?student

        WHERE ?sname LIKE '%雪%'

        ③如何查詢姓名中既有某字(如“雪”)又有另外某字(如“麗”)的同學(xué)的詳細(xì)信息?

        對(duì)于這個(gè)題目,學(xué)生根據(jù)自己的理解構(gòu)造出匹配串“%雪%麗”,然后寫出如下查詢語句:

        SELECT ?*

        FROM ?student

        WHERE ?sname ?LIKE '%雪%麗'

        可是這樣查詢的結(jié)果只能搜索出“張雪麗”,但搜不出符合條件的“王麗雪”。此時(shí)將原問題再次向?qū)W生提出,并引導(dǎo)學(xué)生構(gòu)造出匹配串“%雪%”“%麗%”,提醒學(xué)生用多條件查詢完成查詢語句:

        SELECT ? *

        FROM ? student

        WHERE ?sname LIKE '%雪%' ?AND ?sname LIKE '%麗%'

        2)“_”: 表示任意單個(gè)字符,可以匹配單個(gè)任意字符,常常用來限制表達(dá)式的字符長度。此時(shí)可以提出查詢固定字符長度的同學(xué)信息的問題。

        ①如何查詢姓名為三個(gè)字的姓張的同學(xué)信息?

        對(duì)于固定長度的字符串構(gòu)造時(shí),提醒學(xué)生注意數(shù)據(jù)庫字符集的類型,如果是ASCII時(shí)一個(gè)漢字需要兩個(gè)“_”,是GBK時(shí)只需要一個(gè)“_”[1],一般采用后者。結(jié)合題意引導(dǎo)學(xué)生構(gòu)造出匹配串“張_ _”,然后完成查詢語句:

        SELECT ?*

        FROM ?student

        WHERE ?sname ?LIKE ‘張_ _’

        ②如何查詢姓名為三個(gè)字且中間一個(gè)字為“雪”的同學(xué)信息?

        姓名長度為三個(gè)字且第二個(gè)字為“雪”,學(xué)生分析前面所學(xué)知識(shí)構(gòu)造出匹配串“_雪_”,具體的查詢語句:

        SELECT ?*

        FROM ? student

        WHERE ?sname ?LIKE ‘_雪_’

        3)“[ ] ”:表示括號(hào)內(nèi)所列字符中的一個(gè),指定一個(gè)字符、字符串或范圍,要求所匹配對(duì)象為它們中的任意一個(gè),可以提出如下問題:

        ①如何查詢指定幾個(gè)具體姓(如姓王、張、李)的同學(xué)信息?

        根據(jù)題意學(xué)生會(huì)構(gòu)造出匹配串“王%”“張%”“李%”,并寫出相應(yīng)的查詢語句:

        SELECT ?*

        FROM ?student

        WHERE ?sname ?LIKE '王%' or sname like '李%' or sname like ‘張%’

        當(dāng)然,上述查詢語句能夠?qū)崿F(xiàn)查詢問題,但是如何用“[ ]”來完成相同問題呢?將問題再次提出,引導(dǎo)學(xué)生構(gòu)造出匹配串“[王張李]%”,書寫查詢語句:

        SELECT *

        FROM ?student

        WHERE ?sname ?LIKE '[王李張]%'

        ②如何查詢計(jì)算機(jī)專業(yè)學(xué)號(hào)連續(xù)(如學(xué)號(hào)尾號(hào)為01-09)的同學(xué)信息?

        如果是查詢一系列字符(01234、abcde之類的),可以使用“[ ]”內(nèi)略寫的形式來表達(dá)([0-4]、[a-e])。對(duì)照的學(xué)生信息表,根據(jù)計(jì)算機(jī)專業(yè)學(xué)生的學(xué)號(hào)信息構(gòu)造出匹配串“201612060[1-9]”,具體的查詢語句:

        SELECT ?*

        FROM ?student

        WHERE ?sno ?LIKE '201612060[1-9]'

        ③如何查詢不在指定的具體姓(如姓王、張、李)范圍內(nèi)的同學(xué)信息?

        “[ ]” 表示括號(hào)內(nèi)所列字符中的一個(gè),那如何用“[ ]”表示不在制定的范圍內(nèi)呢?根據(jù)前面所學(xué)知識(shí),學(xué)生會(huì)選用not like[ ]語句,除此之外,還可以用[^ ]來表示。 [^]:表示不在括號(hào)所列之內(nèi)的單個(gè)字符,其取值和 [ ] 相同,但它要求所匹配對(duì)象為指定字符以外的任意一個(gè)字符。根據(jù)題意寫出查詢語句:

        SELECT *

        FROM student

        WHERE sname ?like ‘[^王張李]%’

        4)ESCAPE:換碼字符,用來將查詢內(nèi)容中的通配符轉(zhuǎn)義為普通字符。

        如學(xué)生信息表所示,學(xué)生的班級(jí)信息本身就含有“_”,如果要查詢班級(jí)信息(如信息_1)時(shí)如何構(gòu)筑查詢匹配串呢?當(dāng)查詢的字符串本身就含有通配字符“_”“%”時(shí),需要使用ESCAPE‘<換碼字符>’短語將通配符轉(zhuǎn)義為普通字符的“_”“%”。所以對(duì)于查詢“信息_1”構(gòu)筑的匹配串為“‘信息\_1’ESCAPE‘\’”,由此寫出查詢語句:

        SELECT ?*

        FROM ?student

        WHERE ?class ?like ‘信息\_1’ ESCAPE ‘\’

        3 總結(jié)

        通過“問題式”教學(xué)在數(shù)據(jù)庫原理模糊查詢中的應(yīng)用,打破了傳統(tǒng) “灌輸式”教學(xué)方法中學(xué)生被動(dòng)接受的狀況。教學(xué)中學(xué)生在求解問題的過程中,逐漸養(yǎng)成了獨(dú)立思考、自主解決問題的好習(xí)慣,同時(shí)在整個(gè)教學(xué)活動(dòng)中,不少學(xué)生能夠主動(dòng)提出新的思考問題,讓大家一起解決,達(dá)到了一定的創(chuàng)新能力。通過用“問題”助推數(shù)據(jù)庫原理SQL語言的模糊查詢達(dá)到了良好的教學(xué)效果。

        參考文獻(xiàn):

        [1] 王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概論[M]. 5版.北京:高等教育出版社,2014.

        [2] 劉倩,冀亞麗,翁梅.數(shù)據(jù)庫原理課程中SQL語言的檢索分析[J].數(shù)字技術(shù)與應(yīng)用,2012(10):104-105.

        [3] 李成.啟發(fā)式教學(xué)法在數(shù)據(jù)庫原理與應(yīng)用課程中的應(yīng)用與研究[J].現(xiàn)代職業(yè)教育,2020(7):162-163.

        [4] 劉婧.問題式教學(xué)在《數(shù)據(jù)庫系統(tǒng)原理》教學(xué)中的應(yīng)用探討[J].中國成人教育,2011(6):134-135.

        【通聯(lián)編輯:王力】

        收稿日期:2021-05-27

        基金項(xiàng)目:淮北師范大學(xué)教研項(xiàng)目(2020xjxyj029);淮北師范大學(xué)教育信息化項(xiàng)目(2020xjyxxh001);淮北師范大學(xué)教研項(xiàng)目(2020xjxyj010);安徽省高等學(xué)校自然科學(xué)研究項(xiàng)目(KJ2020B17)

        作者簡介:朱秀英(1981—),女,山東淄博人,講師,碩士,研究方向?yàn)橛?jì)算機(jī)應(yīng)用,GPS數(shù)據(jù)處理。

        猜你喜歡
        數(shù)據(jù)庫問題教學(xué)
        微課讓高中數(shù)學(xué)教學(xué)更高效
        甘肅教育(2020年14期)2020-09-11 07:57:50
        “自我診斷表”在高中數(shù)學(xué)教學(xué)中的應(yīng)用
        東方教育(2017年19期)2017-12-05 15:14:48
        數(shù)據(jù)庫
        對(duì)外漢語教學(xué)中“想”和“要”的比較
        演員出“問題”,電影怎么辦(聊天室)
        數(shù)據(jù)庫
        韓媒稱中俄冷對(duì)朝鮮“問題”貨船
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        “問題”干部“回爐”再造
        南方周末(2015-05-07)2015-05-07 04:39:36
        中文字幕乱偷无码av先锋蜜桃| 久久中文字幕av一区二区不卡| 久久亚洲精品国产av| 国产精品无码一区二区在线观一| 国产熟女高潮视频| 99色网站| 日本韩国亚洲三级在线| 久久久久久欧美精品se一二三四| 欧美丰满大屁股ass| 欧美激情精品久久999| 国产精品高清视亚洲一区二区| 日韩久久无码免费毛片软件| 国产精品国产成人国产三级| 日本高清不在线一区二区色| 亚洲熟女天堂av一区二区三区| 亚洲无码在线播放| 激情 人妻 制服 丝袜| 色yeye在线观看| 日韩精品免费在线视频一区| 国产一区二区三区在线电影| 国产又爽又黄的激情精品视频| 免费国产在线精品三区| 美妇炮灰被狂躁爽到高潮h| 中文无码日韩欧| 国产精品亚洲А∨天堂免下载| 国产国语一级免费黄片| 国产人妖乱国产精品人妖| 日韩精品一区二区三区免费视频 | 乱中年女人伦av一区二区| 成人国产精品999视频| 一区二区三区视频在线免费观看 | 美女扒开内裤露黑毛无遮挡| 久久精品日本不卡91| 天美传媒一区二区| 1精品啪国产在线观看免费牛牛| 日韩亚洲一区二区三区在线 | 99精品人妻无码专区在线视频区| 国产AV边打电话边出轨| 给我播放的视频在线观看| 国产精品情侣呻吟对白视频| 无码少妇一区二区三区芒果|