外鍵約束 (Foreign Key Constraint)
定義:
外鍵約束是數(shù)據(jù)庫(kù)中的一種完整性約束,用于確保兩個(gè)表之間的數(shù)據(jù)引用完整性和一致性。它強(qiáng)制實(shí)施引用完整性,通過(guò)限制在一個(gè)表(子表或引用表)中的外鍵列中的值,這些值必須是在另一個(gè)表(父表或被引用表)的主鍵列中存在的。
作用:
確保數(shù)據(jù)引用完整性:確保在子表中引用的數(shù)據(jù)在父表中確實(shí)存在。
級(jí)聯(lián)操作:當(dāng)父表中的記錄被刪除或更新時(shí),可以自動(dòng)更新或刪除子表中相關(guān)的記錄。
存儲(chǔ)過(guò)程 (Stored Procedure)
定義:
存儲(chǔ)過(guò)程是用戶定義的一組為了完成特定功能的SQL語(yǔ)句集合,這些語(yǔ)句被編譯并存儲(chǔ)在數(shù)據(jù)庫(kù)中,可以由指定用戶通過(guò)指定的名字和參數(shù)(如果有)來(lái)調(diào)用執(zhí)行。
作用:
封裝復(fù)雜的SQL邏輯:將復(fù)雜的SQL邏輯封裝在存儲(chǔ)過(guò)程中,使得調(diào)用更加簡(jiǎn)單和清晰。
提高性能:存儲(chǔ)過(guò)程在首次執(zhí)行時(shí)會(huì)被編譯并存儲(chǔ)在數(shù)據(jù)庫(kù)中,之后的調(diào)用可以直接執(zhí)行編譯后的代碼,提高執(zhí)行效率。
安全性:可以限制對(duì)基礎(chǔ)數(shù)據(jù)的直接訪問(wèn),只允許通過(guò)存儲(chǔ)過(guò)程來(lái)訪問(wèn)和操作數(shù)據(jù)。
觸發(fā)器 (Trigger)
定義:
觸發(fā)器是一種特殊的存儲(chǔ)過(guò)程,它基于某個(gè)事件(如INSERT、UPDATE或DELETE操作)來(lái)自動(dòng)執(zhí)行或激活。當(dāng)數(shù)據(jù)庫(kù)表中的數(shù)據(jù)滿足觸發(fā)器定義的條件時(shí),觸發(fā)器會(huì)自動(dòng)執(zhí)行預(yù)先定義好的SQL語(yǔ)句集合。
作用:
維護(hù)數(shù)據(jù)完整性:確保在數(shù)據(jù)修改時(shí)滿足特定的業(yè)務(wù)規(guī)則或約束。
自動(dòng)化任務(wù):在數(shù)據(jù)發(fā)生變化時(shí)自動(dòng)執(zhí)行某些操作,如記錄日志、發(fā)送通知等。
聯(lián)表查詢 (Join)
定義:
聯(lián)表查詢是SQL中用于從兩個(gè)或多個(gè)表中檢索數(shù)據(jù)的方法。它基于這些表之間的某些相關(guān)列之間的關(guān)系,將這些表中的數(shù)據(jù)組合起來(lái),形成一個(gè)結(jié)果集。
類型:
INNER JOIN(內(nèi)連接):返回兩個(gè)表中滿足連接條件的記錄。
LEFT JOIN(左連接):返回左表中的所有記錄,以及右表中滿足連接條件的記錄。如果右表中沒(méi)有匹配的記錄,則結(jié)果集中對(duì)應(yīng)的字段將為NULL。
RIGHT JOIN(右連接):與LEFT JOIN相反,返回右表中的所有記錄,以及左表中滿足連接條件的記錄。
FULL JOIN(全連接):返回左表和右表中的所有記錄,如果某一邊沒(méi)有匹配的記錄,則結(jié)果集中對(duì)應(yīng)的字段將為NULL。
視圖 (View)
定義:
視圖是一個(gè)虛擬的表,其內(nèi)容由查詢定義。同真實(shí)的表一樣,視圖包含一系列帶有名稱的列和行數(shù)據(jù)。但是,視圖并不在數(shù)據(jù)庫(kù)中以存儲(chǔ)的數(shù)據(jù)值集形式存在。行和列數(shù)據(jù)來(lái)自由定義視圖的查詢所引用的表,并且在引用視圖時(shí)動(dòng)態(tài)生成。
作用:
簡(jiǎn)化復(fù)雜的SQL查詢:將復(fù)雜的查詢邏輯封裝在視圖中,使得調(diào)用更加簡(jiǎn)單和清晰。
安全性:可以限制對(duì)基礎(chǔ)數(shù)據(jù)的直接訪問(wèn),只允許通過(guò)視圖來(lái)訪問(wèn)和操作數(shù)據(jù)。
數(shù)據(jù)抽象:為不同的用戶或應(yīng)用提供不同的數(shù)據(jù)展示方式。