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

?

“數(shù)據(jù)庫原理”課程中關(guān)系代數(shù)的重難點分析

2019-05-24 14:20何冬黎吳璟莉鄧劍鋒
無線互聯(lián)科技 2019年1期
關(guān)鍵詞:數(shù)據(jù)庫原理課程教學(xué)運算

何冬黎 吳璟莉 鄧劍鋒

摘 要:“數(shù)據(jù)庫原理”課程是廣西師范大學(xué) 計算機科學(xué)與信息工程學(xué)院計算機專業(yè)及信息管理專業(yè)本科生的必修課,關(guān)系代數(shù)中的“除”運算是該課程的一個重難點。文章結(jié)合筆者多年的教學(xué)研究和實踐,對關(guān)系代數(shù)“除”運算的教學(xué)進行了探討,希望能夠有益于該課程教學(xué)的研究。

關(guān)鍵詞:“數(shù)據(jù)庫原理”課程教學(xué);關(guān)系代數(shù);“除”運算;包含

廣西師范大學(xué)計算機科學(xué)與信息工程學(xué)院在學(xué)生大二時會開設(shè)必修課程—“數(shù)據(jù)庫原理”。課程目標(biāo)是使學(xué)生掌握數(shù)據(jù)庫技術(shù)相關(guān)概念、理論和方法,并具有一定的數(shù)據(jù)庫系統(tǒng)設(shè)計能力,為下面開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)打下良好的基礎(chǔ)[1]。課程的用書是中國人民大學(xué)王珊[2]老師的國家精品課程團隊編寫的教材—《數(shù)據(jù)庫系統(tǒng)概論》,高等教育出版社出版,已經(jīng)到了第5版。教材比較簡潔,比如在講解“除”運算時,首先講了“除”運算的定義,然后給了3個“除”運算的例題就結(jié)束了。這個臺階跨度太大,很多學(xué)生不好理解,表現(xiàn)為“除”運算的題目做不出。為了讓學(xué)生上得去,好理解,老師的作用就是在中間多加幾級臺階。筆者加的第1級臺階是:講解“除”運算的由來及用處,引發(fā)學(xué)生學(xué)習(xí)興趣;第2級臺階:將“除”運算題目分成兩類,分別講解解決方法,對癥下藥;第3級臺階:及時總結(jié),并對學(xué)生的易錯點進行錯誤原因講解,鼓勵學(xué)生學(xué)好這個重難點。以下為具體的授課過程。

1 關(guān)系代數(shù)中“除”運算的由來及用處探討,引發(fā)學(xué)生學(xué)習(xí)興趣

由一道除法題引出思考:9÷2=4…1是什么意思?商等于4,表示被除數(shù)9里面包含有4個除數(shù)2。還剩下1沒有完全包含一個2,只包含了部分,所以1是余數(shù)。即“除”有包含(覆蓋)的意思。總結(jié)推廣到二維表(關(guān)系)做“除”運算,是在二維上實現(xiàn)包含(覆蓋)的含義。即在一個大表中找包含(覆蓋)了一個小表的運算。為了好讓學(xué)生理解,補充以下例子。

補充例子(“除”運算的實際應(yīng)用)如下:我們有選修情況表SCG表(見表1),包括姓名、性別、課程名稱、院系、成績屬性,若想查詢有哪些同學(xué)的離散數(shù)學(xué)課程得了優(yōu)且數(shù)據(jù)結(jié)構(gòu)課程也是優(yōu)?即,誰的選修情況包含(覆蓋)了以下的CG表(見表2),這時就需要用到除法:SCG÷CG。

2 將“除”運算題目分成兩類,分別講解解決方法

2.1 “除”運算的定義

下面給出關(guān)系代數(shù)中“除”運算的明確定義,在教材55頁。首先復(fù)習(xí)以前學(xué)過的象集Zx的概念,在教材51頁。

“除”運算定義:給定關(guān)系R (X,Y) 和S(Y,Z),其中X,Y,Z為屬性組。R中的Y與S中的Y可以有不同的屬性名,但必須出自相同的域集。R與S的除運算得到一個新的關(guān)系P(X),P是R中滿足下列條件的元組在X屬性列上的投影:元組在X上分量值x的象集Yx包含S在Y上投影的集合,記作:R÷S={tr[X]|tr∈R∧πY(S)?Yx}。Yx:x在R中的象集,x= tr[X]。

講解該概念要注意的地方:關(guān)系R的所有屬性被分成了X和Y兩個屬性組(或叫屬性集),S的所有屬性被分成了Y和Z兩個屬性組。關(guān)系R和S有公共屬性組Y,也就是要求要覆蓋的部分,Y結(jié)構(gòu)要相同,體現(xiàn)在其屬性個數(shù)、屬性的類型長度等相同。該定義即為求解第一類題目—求“除”運算結(jié)果的解題步驟。

2.2 第一類題目—求“除”運算結(jié)果

總結(jié)第一類題目解題步驟,從二維表的行、列兩個方向來控制“除”運算的結(jié)果。

(1)首先求屬性列:先找出公共屬性Y,則R÷S的屬性列是大表(被除數(shù))R的屬性差掉公共屬性后剩余的屬性X。

(2)再求元組記錄行:分成3步。

①求元組在X上分量值x的象集Yx。

②S在Y上投影的集合。

③誰的象集Yx包含投影,則為結(jié)果元組行。

以下為補充例子解題步驟,SCG÷CG=?

(1)首先求屬性列:首先找公共屬性組Y={CNAME,GRADE},則X={SNAME,SEX,DEPT},Z為空。所以SCG÷CG的屬性列是大表SCG(被除數(shù))的屬性差掉公共屬性,即結(jié)果為屬性組 {SNAME,SEX,DEPT}。

(2)再求元組記錄行。

①在關(guān)系SCG中,{SNAME,SEX,DEPT}可以取4個值{(李明,男,通信),(劉月瑩,女,計算機),(吳康,男,通信),(王文晴,女,計算機)},分別設(shè)為a1,a2,a3,a4,則

a1的象集為{(離散數(shù)學(xué),優(yōu)),(數(shù)據(jù)結(jié)構(gòu),優(yōu)),(高等數(shù)學(xué),良)}

a2的象集為{(離散數(shù)學(xué),良),(數(shù)據(jù)結(jié)構(gòu),優(yōu))}

a3的象集為{(離散數(shù)學(xué),優(yōu)),(高等數(shù)學(xué),良)}

a4的象集為 {(數(shù)據(jù)結(jié)構(gòu),優(yōu)),(離散數(shù)學(xué),優(yōu))}

②CG在公共屬性(CNAME,GRADE)上的投影為:{(離散數(shù)學(xué),優(yōu)),(數(shù)據(jù)結(jié)構(gòu),優(yōu))}

③(李明,男,通信),(王文晴,女,計算機)的象集包含了CG在公共屬性(CNAME,GRADE)上的投影,所以,SCG÷CG結(jié)果:

總結(jié):劉月瑩和吳康都是余數(shù),沒有除盡,因為他們的象集只包含了一部分 {(離散數(shù)學(xué),優(yōu)),(數(shù)據(jù)結(jié)構(gòu),優(yōu))},沒有完全包含。

同樣可以求解教材例題,[例2.9]設(shè)關(guān)系R和S,求R÷S的結(jié)果。

2.3 第二類題目—構(gòu)造“除”運算

有教材51頁的學(xué)生—課程數(shù)據(jù)庫:包括學(xué)生關(guān)系Student(Sno,Sname,Ssex, Sage, Sdept), 課程關(guān)系Course(Cno,Cname,Cpno,Ccredit)和選修關(guān)系SC(Sno,Cno,Grade)。[例2.13]對學(xué)生—課程數(shù)據(jù)庫,用關(guān)系代數(shù)表達式表達查詢:選修了全部課程的學(xué)生號碼和姓名。總結(jié)第二類題目解題步驟:

(1)判斷是否用 “除”運算。題目中有“全部”“所有”的字眼時,要求在一個大表中要包含(覆蓋)一個小表時用“除”運算。

(2)構(gòu)造“除”運算的大表(即被除數(shù))和要包含(覆蓋)的小表(除數(shù))的元組行。

(3)構(gòu)造兩個表包括的屬性,使大表屬性差掉公共屬性即為所求屬性列。

用以上步驟做[例2.13]:

(1)判斷是否用“除”運算。題目要求查詢:誰的選修情況包含(覆蓋)了所有課程,所以要用“除”運算。

(2)構(gòu)造大表(被除數(shù))和小表(除數(shù))元組行:大表是所有同學(xué)的選修情況SC表,小表是所有的課程情況Course表,求學(xué)生號碼和姓名。先求學(xué)生號碼。寫出SC÷Course。

(3)構(gòu)造兩個表包括的屬性,使大表屬性差掉公共屬性即為所求屬性列:

πSno,Cno(SC)÷πCno(Course)

(4)學(xué)號是學(xué)生的主鍵,當(dāng)學(xué)生的學(xué)號確定了,與學(xué)生基本情況表Student表自然連接,就能獲得該學(xué)生的姓名等信息了。

πSno,Cno(SC)÷πCno(Course) πSno,Sname(Student)

3 易錯點:“除”運算與“選擇” 運算的區(qū)別

在補充例子SCG表,若要覆蓋、包含以下的L表,應(yīng)該用“除”運算SCG÷L。若要覆蓋、包含以下的K表,應(yīng)該用“選擇”運算σCNAME= ‘離散數(shù)學(xué) ^ GRADE= ‘優(yōu) (SCG)。

總結(jié):因為一個表的當(dāng)前記錄指針只有一個,所以只要包含(覆蓋)的信息只涉及一條元組時,用“選擇”運算;要包含(覆蓋)兩條及以上元組時,則用“除”運算。

4 結(jié)語

關(guān)系“除”運算是關(guān)系代數(shù)中最難的一種運算。在教學(xué)中,筆者總結(jié)了一種求“除”運算結(jié)果的步驟和一種構(gòu)造“除”運算表達式來實現(xiàn)查詢的方法及技巧,并對學(xué)生易錯點:“除”運算與“選擇”運算的區(qū)別進行了探討。經(jīng)過課堂教學(xué)證明,這些方法和技巧教學(xué)效果良好,希望能夠?qū)υ擃悊栴}教學(xué)研究的發(fā)展有所幫助。

[參考文獻]

[1]何冬黎.數(shù)據(jù)庫原理教學(xué)中數(shù)據(jù)庫優(yōu)化設(shè)計方法的探討[J].科技信息(學(xué)術(shù)研究),2007(24):329-330.

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

猜你喜歡
數(shù)據(jù)庫原理課程教學(xué)運算
重視運算與推理,解決數(shù)列求和題
有趣的運算
“整式的乘法與因式分解”知識歸納
會計專業(yè)課程教學(xué)國際化的探索性研究
基于多維立體化模式的數(shù)據(jù)庫原理教學(xué)改革與實踐
基于海洋特色的數(shù)據(jù)庫原理案例教學(xué)設(shè)計與實踐
扶沟县| 怀宁县| 柞水县| 滁州市| 霍山县| 当阳市| 鄱阳县| 卓资县| 江口县| 安庆市| 新源县| 自贡市| 嵊州市| 夏津县| 博罗县| 赤水市| 香河县| 瑞安市| 济南市| 夏邑县| 平度市| 灯塔市| 榆林市| 罗江县| 河池市| 洱源县| 象州县| 大田县| 潞城市| 平定县| 孟连| 肇庆市| 庄河市| 攀枝花市| 彭泽县| 手游| 泗水县| 富源县| 绥阳县| 景东| 酒泉市|