數(shù)據(jù)庫技術(shù)項(xiàng)目式教程(MySQL)課件 任務(wù)4.6級聯(lián)更新、級聯(lián)刪除_第1頁
數(shù)據(jù)庫技術(shù)項(xiàng)目式教程(MySQL)課件 任務(wù)4.6級聯(lián)更新、級聯(lián)刪除_第2頁
數(shù)據(jù)庫技術(shù)項(xiàng)目式教程(MySQL)課件 任務(wù)4.6級聯(lián)更新、級聯(lián)刪除_第3頁
數(shù)據(jù)庫技術(shù)項(xiàng)目式教程(MySQL)課件 任務(wù)4.6級聯(lián)更新、級聯(lián)刪除_第4頁
數(shù)據(jù)庫技術(shù)項(xiàng)目式教程(MySQL)課件 任務(wù)4.6級聯(lián)更新、級聯(lián)刪除_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

級聯(lián)更新、級聯(lián)刪除任務(wù)提出InnoDB存儲引擎支持外鍵,為了保證表間數(shù)據(jù)的一致性,我們往往會(huì)設(shè)置外鍵約束。那么,在對表數(shù)據(jù)操作時(shí),必須滿足參照完整性。如要?jiǎng)h除的主表記錄在從表中存在相關(guān)記錄,則不能直接刪除主表中的該記錄。如要修改的字段上設(shè)置過表間關(guān)系,也要保證修改后的值滿足參照完整性。任務(wù)分析本任務(wù)采用級聯(lián)更新、級聯(lián)刪除的方法實(shí)現(xiàn)主表和子表中相關(guān)記錄的更新、刪除。1.級聯(lián)更新級聯(lián)更新指修改主表中主鍵字段的值,其對應(yīng)從表中外鍵字段的相應(yīng)值自動(dòng)修改。(1)創(chuàng)建外鍵約束時(shí)加上ONUPDATECASCADEFOREIGNKEY(外鍵字段)REFERENCES主表(主鍵字段)ONUPDATECASCADE(2)外鍵約束已經(jīng)存在,沒有設(shè)置級聯(lián)更新,則刪除原有外鍵約束,添加新的外鍵約束。查看表的建表信息得到外鍵約束名:SHOWCREATETABLE表名;刪除外鍵約束:ALTERTABLE表名DROPFOREIGNKEY外鍵約束名;添加新的外鍵約束:ALTERTABLE從表

ADD[CONSTRAINT外鍵約束名]FOREIGNKEY(外鍵字段)REFERENCES主表(主鍵字段)ONUPDATECASCADE;相關(guān)知識與技能【例】將課程編號'2003003'修改為'2003180'。(1)修改外鍵約束設(shè)置級聯(lián)更新1)通過查看表的完整CREATETABLE語句,得知外鍵約束名;2)刪除原有外鍵約束;3)添加新的外鍵約束,設(shè)置級聯(lián)更新ONUPDATECASCADE;(2)編寫執(zhí)行UPDATE語句修改主表Course中的Cno,子表Score中相應(yīng)的Cno值自動(dòng)修改任務(wù)實(shí)施2.級聯(lián)刪除級聯(lián)刪除指刪除主表中的記錄,其對應(yīng)子表中的相應(yīng)記錄自動(dòng)刪除。設(shè)置外鍵約束時(shí)加上ONDELETECASCADEforeignkey(外鍵字段)references主表(主鍵字段)ONDELETECASCADE相關(guān)知識與技能【例】因?qū)W號為'202231010100102'的學(xué)生退學(xué),在School數(shù)據(jù)庫中刪除該學(xué)生的所有相關(guān)記錄。(1)刪除原有外鍵約束FK_Live_Student,添加新的外鍵約束設(shè)置級聯(lián)刪除1)刪除原有外鍵約束ALTERTABLELiveDROPFOREIGNKEYFK_Live_Student;2)添加新的外鍵約束,設(shè)置級聯(lián)刪除ONDELETECASCADEALTERTABLELiveADDCONSTRAINTFK_Live_StudentFOREIGNKEY(Sno)REFERENCESStudent(Sno)ONDELETECASCADE;(2)刪除原有外鍵約束FK_Score_Student,添加新的外鍵約束設(shè)置級聯(lián)刪除。(3)編寫執(zhí)行DELETE語句刪除主表Student中該學(xué)生記錄,子表Score和Live表中相應(yīng)的記錄自動(dòng)刪除。任務(wù)實(shí)施3.設(shè)置外鍵失效先設(shè)置外鍵失效,修改后再設(shè)置外鍵生效。查看外鍵約束是否有效SELECT@@FOREIGN_KEY_CHECKS;#1表示有效,0表示失效。設(shè)置外鍵失效SETFOREIGN_KEY_CHECKS=0;編寫執(zhí)行UPDATE語句、DELETE語句后設(shè)置外鍵生效SETFOREIGN_KEY_CHECKS=1;相關(guān)知識與技能【例】將課程編號'2003003'修改為'2003180'。1)查看外鍵約束是否有效SELECT@@FOREIGN_KEY_CHECKS;#1表示有效,0表示失效。2)設(shè)置外鍵失效SETFOREIGN_KEY_CHECKS=0;3)編寫執(zhí)行UPDATE語句UPDATECourseSETCno='2003180'WHERECno='2003003';UPDATEScoreSETCno='2003180'WHERECno='2003003';4)設(shè)置外鍵生效SET

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論