<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                <table> <tbody> <tr> <td width = 140px align = center><b>課題<br>名稱</b></td> <td >第5章 多表操作 </td> <td> <div style = "vertical-align:top;text-align:center">計劃<br>學時</div></td> <td ><div style = "vertical-align:top;text-align:center">8 課時</div></td> </tr> <tr> <td width = 140px align = center><b>內容<br>分析</b></td> <td colspan=3>前面所學章節涉及的都是針對一張表的操作,即單表操作。然而實際開發中業務邏輯較為復雜,需要針對兩張以上的表進行操作,即多表操作。本章將針對多表操作的相關知識進行詳細地講解。</td> </tr> <tr> <td width = 140px align = center ><b>教學目標<br>基本要求</b></td> <td colspan = 3> &nbsp;&nbsp;1、 了解什么是外鍵,會為表添加外鍵約束和刪除外鍵約束<br> &nbsp;&nbsp;2、 了解三種關聯關系,會向關聯表中添加和刪除數據<br> &nbsp;&nbsp;3、 掌握使用交叉連接、內連接、外連接及復合條件連接查詢多表中的數據<br> &nbsp;&nbsp;4、 掌握子查詢,會使用IN、EXISTS、ANY、ALL關鍵字及比較運算符查詢多表中的數據<br> </td> </tr> <tr> <td width = 140px align = center><b>教學重點</b></td> <td colspan = 3> &nbsp;&nbsp;1、 外鍵<br> &nbsp;&nbsp;2、 操作關聯表<br> &nbsp;&nbsp;3、 連接查詢<br> &nbsp;&nbsp;4、 子查詢 </td> </tr> <tr> <td width = 140px align = center><b>難點及措施</b></td> <td colspan = 3> &nbsp;&nbsp; 1、連接查詢<br> &nbsp;&nbsp; 2、子查詢 </td> <tr> <td width = 140px align = center><b>教學方式</b></td> <td colspan = 3> 講師課堂教學要以PPT講授為主,并結合多媒體進行教學 </td> </tr> <tr> <td width = 140px align = center><b>教學過程</b></td> <td colspan = 3> <div style = "vertical-align:top;text-align:center"><h4><b>第一課時</b></h4></div> <div style = "vertical-align:top;text-align:center"><h5><b>(外鍵)</b></h5></div> <div style = vertical-align:top;text-align:left><h5><b>一、創設情境,導入外鍵概念</b></h5></div> <div style= color:black>(1)老師提出需求,引出外鍵</div> <div style = color:blue>&nbsp;&nbsp;教師可以通過一個例子來講解,例如,有學生檔案和成績單兩張表,如果成績單中有張三的成績,學生檔案中張三的檔案卻被刪除了,這樣就會產生垃圾數據或者錯誤數據。一個健壯數據庫中的數據一定是有很好的參照完整性的,為表添加外鍵約束可以將兩表之間的數據建立關系,并保證數據的完整性。</div> <div style= color:black>(2)明確學習目標</div> <div style = color:blue>&nbsp;&nbsp; 1、要求學生了解外鍵的概念以及使用外鍵的作用<br>&nbsp;&nbsp; 2、要求學生掌握如何為表添加外鍵約束,如何刪除外鍵約束。 </div> <div style = vertical-align:top;text-align:left><h5><b>二、進行重點知識的講解</b></h5></div> <div style= color:black>(1)什么是外鍵?</div> <div style = color:blue>&nbsp;&nbsp;教師首先給出外鍵的定義,然后通過一個案例來加深學生對定義的理解。創建兩個表,一個班級表(grade)和一個學生表(student),其中student表中的gid是學生所在的班級id,是引入了grade表中的主鍵id,因此gid就可以作為表student的外鍵。(grade表和student表的建表語句參見教材5.1.1小節) </div> <div style= color:black>(2)如何為表添加外鍵約束?</div> <div style = color:blue> &nbsp;&nbsp;教師首先講解添加外鍵約束的語法格式,講解語法格式中的SQL語句。然后演示如何為表student添加外鍵約束,SQL語句為:“alter table student add constraint FK_ID foreign key(gid) REFERENCES grade (id);”。最后通過show create table語句查看student表的詳細結構。 <br> </div> <div style=color:black>(3)如何刪除外鍵約束?</div> <div style = color:blue>&nbsp;&nbsp;教師首先講解刪除外鍵約束的語法格式,講解語法格式中的SQL語句。然后演示如何將表student中的外鍵約束刪除,SQL語句為:“alter table student drop foreign key FK_ID;”。SQL語句執行后,最后通過show create table語句查看student表的詳細結構。</div> </div> <div style = color:blue>&nbsp;&nbsp;</div> <div style = vertical-align:top;text-align:left><h5><b>三、歸納總結,隨堂練習,布置作業</b></h5></div> <div style=color:black>(1)對課堂上講解的知識點進行總結,使用隨堂練習題鞏固本節課的知識點。</div> <div style=color:black>(2)使用系統中的測試題給學生布置作業。</div> <div style = "vertical-align:top;text-align:center"><h4><b>第二課時</b></h4></div> <div style = "vertical-align:top;text-align:center"><h5><b>(操作關聯表)</b></h5></div> <div style = vertical-align:top;text-align:left><h5><b>一、回顧上節課內容,繼續講解關聯關系</b></h5></div> <div style = color:black>(1)對上節課留的作業進行答疑。</div> <div style = color:black>(2)回顧總結上節課的內容,引出本節課主題 </div> <div style = color:blue>&nbsp;&nbsp;上節課講解了什么是外鍵以及如何添加和刪除外鍵約束,在講解這些知識點的時候,我們就知道表與表之間是會存在關聯關系的。在實際開發中,需要根據實體的內容設計數據表,實體間會有各種關聯關系,所以根據實體設計的數據表之間也存在著各種關聯關系,MySQL中數據表的關聯關系有三種。</div> <div style = color:black>(3)明確學習目標</div> <div style = color:blue> &nbsp;&nbsp;1、要求學生熟悉MySQL中數據表有哪三種關聯關系,以及各種關聯關系的含義<br> &nbsp;&nbsp;2、要求學生掌握如何為關聯表添加數據、刪除關聯表的數據。<br> &nbsp;&nbsp;3、要求學生能查詢出為空值(不為空值)的數據 </div> <div style = vertical-align:top;text-align:left><h5><b>二、進入重點知識點的講解</b></h5></div> <div style = color:black>(1)關聯關系</div> <div style = color:blue>&nbsp;&nbsp; 教師首先列舉出MySQL中數據表的三種關聯關系,然后分別進行講解,在講解的過程中最好結合具體的例子,例如在講解多對一的關聯關系時,舉出員工與部門之間的關系的例子,一個部門可以有多個員工,而一個員工不能屬于多個部門。在一一講解完這三種關聯關系后,教師說出其中一種關聯關系,讓學生舉出相對應的例子,考察學生是否真正掌握這三種關聯關系的含義。 <br> </div> <div style = color:black>(2)如何為關聯表添加數據?</div> <div style = color:blue>&nbsp;&nbsp; &nbsp;&nbsp;首先通過為表student和表grade添加外鍵約束來建立兩個表的關聯關系,在操作之前,教師需要讓學生明確表student和表grade是多對一關系。在進行添加外鍵約束操作時,根據第一課時講解的添加外鍵約束語法寫出具體的sql語句并執行,語句執行成功后,再使用show create table語句查看外鍵約束是否成功添加。外鍵約束添加成功后,再先后為主表grade和從表student添加數據,其中student表的外鍵gid的取值只能是grade表id字段值中的一個。兩個表之間的數據建立關聯性之后,再分兩個步驟查詢軟件一班有哪些學生,首先需要查詢軟件一班的id,然后根據這個id在student表中查詢該班級有哪些學生。<br> </div> <div style = color:black>(3)如何為刪除關聯表數據?</div> <div style = color:blue>&nbsp;&nbsp;教師首先講解關聯表刪除數據時應該注意的情況:由于grade表和student表之間具有關聯關系,參照列被參照的值是不能被刪除的,因此,如果要刪除軟件一班,一定要先刪除該班級的所有學生,再刪除班級。然后分步驟演示先刪除student表中屬于軟件一班的所有學生,再在grade表中將軟件一班刪除,通過SELECT語句查詢軟件一班是否被成功的刪除。作為比較教師最好能演示不刪除軟件二班中的所有學生,而直接刪除表grade中的軟件二班的情況。<br> </div> </div> <div style = vertical-align:top;text-align:left><h5><b>三、歸納總結,布置作業</b></h5></div> <div style = color:black>(1)對課堂上講解的知識點進行總結,使用隨堂練習題鞏固本節課的知識點。</div> <div style = color:black>(2)使用系統中的測試題給學生布置作業。</div> <div style = "vertical-align:top;text-align:center"><h4><b>第三課時</b></h4></div> <div style = "vertical-align:top;text-align:center"><h5><b>(交叉連接和內連接)</b></h5></div> <div style = vertical-align:top;text-align:left><h5><b>一、回顧上節課內容,繼續講解交叉連接和內連接</b></h5></div> <div style = color:black>(1)對上節課留的作業進行答疑。</div> <div style = color:black> (2)引出本節課主題 </div> <div style = color:blue>&nbsp;&nbsp;在關系型數據庫管理系統中,建立表時各個數據之間的關系不必確定,通常將每個實體的所有信息存放在一個表中,當查詢數據時,通過連接操作查詢多個表中的實體信息,當兩個或多個表中存在相同意義的字段時,便可以通過這些字段對不同的表進行連接查詢,本課時將詳細講解交叉連接和內連接。 </div> <div style = color:black>(3) 明確學習目標</div> <div style = color:blue> &nbsp;&nbsp; 要求學生學會如何進行交叉連接和內連接操作</div> <div style = vertical-align:top;text-align:left><h5><b>二、進入重點知識點的講解</b></h5></div> <div style = color:black>(1)交叉連接 </div> <div style = color:blue> &nbsp;&nbsp;教師首先給學生講解交叉連接返回的結果以及笛卡爾積的概念,并結合一個具體的例子來加強理解,例如department表中有4個部門,employee表中有4個員工,那么交叉連接的結果就有4*4=16條數據。然后講解交叉連接的語法格式,最后再通過一個案例演示使用交叉連接查詢部門表和員工表中的所有的數據(可參見教材例5-1),在演示案例之前首先要創建department表和employee表這兩個表,并在兩個表中分別插入相關數據。</div> <div style = color:black> (2)內連接 </div> <div style =color:blue>&nbsp;&nbsp;教師首先講解什么是內連接,以及內連接的查詢結果,講解內連接的語法格式,并通過一個案例在department表和employee表之間使用內連接查詢。然后講解在MySQL中,還可以使用where條件語句來實現內連接同樣的功能,再通過一個案例來演示比較。最后引出什么是自連接,并通過一個案例演示。<br> </div> <div style = vertical-align:top;text-align:left><h5><b>三、歸納總結,隨堂練習,布置作業</b></h5></div> <div style=color:black>(1)對課堂上講解的知識點進行總結,使用隨堂練習題鞏固本節課的知識點。</div> <div style=color:black>(2)使用博學谷系統中的測試題給學生布置作業。</div> <div style = "vertical-align:top;text-align:center"><h4><b>第四課時</b></h4></div> <div style = "vertical-align:top;text-align:center"><h5><b>(外連接和復合條件連接查詢)</b></h5></div> <div style = vertical-align:top;text-align:left><h5><b>一、回顧上節課內容</b></h5></div> <div style = color:black>(1)對上節課留的作業進行答疑。</div> <div style = color:black> (2)進入本節課主題,講解外連接和復合條件連接查詢 </div> <div style = color:blue>&nbsp;&nbsp;為了防止數據表中插入錯誤的數據,在MySQL中,定義了一些維護數據庫完整性的規則,即表的約束。</div> <div style = color:black>(3) 明確學習目標</div> <div style = color:blue>使學生掌握外連接和復合條件連接查詢</div> <div style = vertical-align:top;text-align:left><h5><b>二、進入重點知識點的講解</b></h5></div> <div style=color:black>(1)外連接</div> <div style=color:blue>&nbsp;&nbsp;教師首先講解什么是外連接以及外連接的查詢結果,并講解外連接的語法格式,然后講解外連接分為兩種 <li>LEFT JOIN(左連接):返回包括左表中的所有記錄和右表中符合連接條件的記錄。</li> <li>RIGHT JOIN(右連接):返回包括右表中的所有記錄和左表中符合連接條件的記錄。</li> &nbsp;&nbsp;教師最后針對左連接和右連接分別進行詳細地講解,在講解的過程中,左連接和右連接最好至少各結合一個案例來演示(可參見教材例5-5和例5-6)。 </div> <div style=color:black>(2)復合條件連接查詢</div> <div style =color:blue>&nbsp;&nbsp;教師首先講解什么是復合條件連接查詢以及復合條件連接的查詢結果,并講解復合條件連接查詢的語法格式,最后通過一個案例來演示復合條件連接查詢的操作(可參見教材例5-7)。 </div> <div style = vertical-align:top;text-align:left><h5><b>三、歸納總結,隨堂練習,布置作業</b></h5></div> <div style=color:black>(1)對課堂上講解的知識點進行總結,使用隨堂練習題鞏固本節課的知識點。</div> <div style=color:black>(2)使用測試題給學生布置作業。</div> <div style = "vertical-align:top;text-align:center"><h4><b>第五課時</b></h4></div> <div style = "vertical-align:top;text-align:center"><h5><b>(子查詢)</b></h5></div> <div style = vertical-align:top;text-align:left><h5><b>一、回顧上節課內容</b></h5></div> <div style = color:black>(1)對上節課留的作業進行答疑。</div> <div style = color:black> (2)進入本節課主題,引出子查詢的知識點 </div> <div style = color:blue>&nbsp;&nbsp;子查詢是指一個查詢語句嵌套在另一個查詢語句內部的查詢。它可以嵌套在一個SELECT、SELECT...INTO 語句、INSERT...INTO等語句中。在執行查詢語句時,首先會執行子查詢中的語句,然后將返回的結果作為外層查詢的過濾條件,在子查詢中通常可以使用IN、EXISTS、ANY、ALL操作符。</div> <div style = color:black>(3) 明確學習目標</div> <div style = color:blue>&nbsp;&nbsp;1、要求學生掌握帶IN關鍵字和帶比較運算符的子查詢</div> <div style = color:blue>&nbsp;&nbsp;2、要求學生了解帶EXISTS關鍵字、ANY關鍵字和ALL關鍵字的子查詢。</div> <div style = vertical-align:top;text-align:left><h5><b>二、進入重點知識點的講解</b></h5></div> <div style=color:black>(1)帶IN關鍵字的子查詢</div> <div style=color:blue>&nbsp;&nbsp;教師首先講解帶IN關鍵字子查詢特點,然后通過一個案例來演示使用IN關鍵字進行子查詢(可參見教材例5-7)。最后講解SELECT語句中還可以使用NOT IN關鍵字,其作用正好與IN相反,再結合一個案例來演示NOT IN關鍵字的使用(可參見教材例5-8)。 </div> <div style=color:black>(2)帶EXISTS關鍵字的子查詢</div> <div style =color:blue>&nbsp;&nbsp;教師首先講解帶EXISTS關鍵字子查詢特點,然后通過一個案例來演示使用EXISTS關鍵字進行子查詢(可參見教材例5-10)。最后總結案例,并提醒學生在使用時要注意的地方。 </div> <div style = color:black>(3)帶ANY關鍵字的子查詢</div> <div style = color:blue>&nbsp;&nbsp;教師首先講解帶ANY關鍵字子查詢特點,然后通過一個案例來演示使用ANY關鍵字進行子查詢(可參見教材例5-11)。最后總結案例,并提醒學生在使用時要注意的地方。</div> <div style=color:blue>&nbsp;&nbsp;(4)帶ALL關鍵字的子查詢</div> <div style=color:blue>&nbsp;&nbsp;教師首先講解帶ALL關鍵字子查詢特點,然后通過一個案例來演示使用ALL關鍵字進行子查詢(可參見教材例5-12)。最后總結案例,并提醒學生在使用時要注意的地方。</div> <div style=color:blue>&nbsp;&nbsp;(5)帶比較運算符的子查詢</div> <div style=color:blue>&nbsp;&nbsp;教師首先講解子查詢中可以使用的比較運算符有哪些,并分別解釋它們的含義,然后通過一個案例來演示帶比較運算符的子查詢(可參見教材例5-13)。最后總結案例,并提醒學生在使用時要注意的地方。</div> <div style = vertical-align:top;text-align:left><h5><b>三、歸納總結,隨堂練習,布置作業</h5></div> <div style=color:black>(1)對課堂上講解的知識點進行總結,使用隨堂練習題鞏固本節課的知識點。</div> <div style=color:black>(2)使用測試題給學生布置作業。</div> <div style = "vertical-align:top;text-align:center"><h4><b>第六課時</b></h4></div> <div style = "vertical-align:top;text-align:center"><h5><b>(上機練習)</b></h5></div> <div style = color:blue>&nbsp;&nbsp;上機練習主要針對本章中需要重點掌握的知識點,以及在程序中容易出錯的內容進行練習,通過上機練習可以考察同學對知識點的掌握情況,對代碼的熟練程度。</div> <div style = vertical-align:top;text-align:left><h5><b>上機一:(考察知識點是為表添加外鍵約束、刪除外鍵約束)</b></h5></div> <div style = color:black>客戶表(Persons)和訂單表(Orders)中的字段及其表數據如下所示:</div> <div style = color:black>"Persons" 表:</div> <TABLE> <TR> <TD>Id_P</TD> <TD>LastName</TD> <TD>FirstName</TD> <TD>Address</TD> <TD>City</TD> </TR> <TR> <TD>1</TD> <TD>Adams</TD> <TD>John</TD> <TD>INT</TD> <TD>商品編號</TD> </TR> <TR> <TD>2</TD> <TD>Bush</TD> <TD>George</TD> <TD>Fifth Avenue</TD> <TD>New York</TD> </TR> <TR> <TD>3</TD> <TD>Carter</TD> <TD>Thomas</TD> <TD>Changan Street</TD> <TD>Beijing</TD> </TR> </TABLE> <div style = color:black>"Orders" 表:</div> <TABLE> <TR> <TD>Id_O</TD> <TD>OrderNo</TD> <TD>Id_P</TD> </TR> <TR> <TD>1</TD> <TD>77895</TD> <TD>3</TD> </TR> <TR> <TD>2</TD> <TD>44678</TD> <TD>3</TD> </TR> <TR> <TD>3</TD> <TD>22456</TD> <TD>1</TD> </TR> <TR> <TD>4</TD> <TD>24562</TD> <TD>1</TD> </TR> <TR> <TD>5</TD> <TD>34764</TD> <TD>65</TD> </TR> </TABLE> <div style = color:black>&nbsp;&nbsp;Persons表和Orders表是一對多的關系,其中Orders表中的字段Id_P是訂單對應的客戶編號,是引入了客戶表(Persons)中的主鍵Id_P。請按照上述描述信息,寫出滿足下列要求的sql語句。</div> &nbsp;&nbsp;1)為Orders表添加一個名為FK_ID的外鍵約束,用Id_P字段連接表Persons中的信息。 &nbsp;&nbsp; 2)將表Orders中名為FK_ID的外鍵約束刪除。 <br> <br> <div style = "vertical-align:top;text-align:center"><h4><b>第七課時</b></h4></div> <div style = "vertical-align:top;text-align:center"><h5><b>(上機練習)</b></h5></div> <div style = vertical-align:top;text-align:left><h5><b>上機一:(考察知識點為交叉連接、外連接)</b></h5></div> <div style = color:black> 請按照以下要求操作Persons表和Orders表。</div> <div style = color:black>要求如下:</div> <div style=color:blue> &nbsp;&nbsp;1)使用交叉連接查詢這兩個表中所有數據行的笛卡爾積<br> &nbsp;&nbsp;2)使用左連接查詢出名字(FirstName)為John客戶的所有訂單號(OrderNo),并按訂單號降序排列 </div> <div style = color:black>&nbsp;&nbsp;Persons表和Orders表是一對多的關系,其中Orders表中的字段Id_P是訂單對應的客戶編號,是引入了客戶表(Persons)中的主鍵Id_P。請按照上述描述信息,寫出滿足下列要求的sql語句。</div> &nbsp;&nbsp;1)為Orders表添加一個名為FK_ID的外鍵約束,用Id_P字段連接表Persons中的信息。 &nbsp;&nbsp; 2)將表Orders中名為FK_ID的外鍵約束刪除。 <br> <br> <div style = "vertical-align:top;text-align:center"><h4><b>第八課時</b></h4></div> <div style = "vertical-align:top;text-align:center"><h5><b>(上機練習)</b></h5></div> <div style = vertical-align:top;text-align:left><h5><b>上機一:(考察知識點為子查詢)</b></h5></div> <div style = color:black> 請按照以下要求的子查詢方式操作Persons表和Orders表。</div> <div style = color:black>要求如下:</div> <div style=color:blue> &nbsp;&nbsp;1)查詢Persons表中是否存在所在城市為Tokyo的客戶,如果存在,則查詢Orders表中的所有記錄<br> &nbsp;&nbsp;2)使用帶比較運算符的子查詢,查詢Thomas客戶所有訂單的訂單號 </div> </td> </tr> <tr> <td width = 140px align = center><b> 思考題和習題</b> </td> <td colspan = 3> </td> </tr> <tr> <td width = 140px align = center><b> 教學后記 </b> </td> <td colspan = 3></td> </tr> </tbody> </table> ? ? ? ? ? ? ? ? ? -
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看