(1)程式自己實現,通過在邏輯層新增相應的**,從而達到資料的一致性。
(2)外來鍵。
優點:1.可以保證資料的一致性,完整性,更可靠。
2.程式很難100%保證資料的完整性。外來鍵在一定程度上可以說明業務邏輯。
3.外來鍵可以增加er圖的可讀性。
缺點:1.效能:由於外來鍵的存在,每次增加、刪除、修改都會去檢查是否違反資料的完整性,如果批量操作大量的資料,會嚴重影響效能。
2.老資料:由於很多系統都要求儲存已存在的老資料,而這些老資料或多或少存在資料的不完整和不一致,為了儲存這些老資料,必須放棄外來鍵。
3.資料匯入:通過excel等軟體直接匯入資料非常方便,但匯入資料和已儲存在資料庫中的資料關聯存在一些問題。
4.跨資料庫:一些資料庫跨越更多的物理資料庫甚至引擎,並且在技術上可能不能建立跨越資料庫的它不能在同一臺伺服器上的兩個資料庫上建立key。
MySQL 資料庫外來鍵
如果表a的主關鍵字是表b中的字段,則該字段稱為表b的外來鍵,表a稱為主表,表b稱為從表。外來鍵是用來實現參照完整性的,不同的外來鍵約束方式將可以使兩張表緊密的結合起來,特別是修改或者刪除的級聯操作將使得日常的維護工作更加輕鬆。這裡以mysql為例,總結一下3種外來鍵約束方式的區別和聯絡。這裡以使用者...
MySQL資料庫外來鍵
設定外來鍵 外來鍵及功能 成績表 參照表也叫子表 中的學號來自學生表 被參照表也叫父表 成績表中的課程號來自課程表 當要刪除或更新被參照表中的給字段的值時,參照錶該字段的值如何改變。在on delete on update設定參照動作 restrict 限制 cascade 級聯 set null ...
mysql資料庫教程 外來鍵 MySQL資料庫外來鍵
設定外來鍵 外來鍵及功能 成績表 參照表也叫子表 中的學號來自學生表 被參照表也叫父表 成績表中的課程號來自課程表 當要刪除或更新被參照表中的給字段的值時,參照錶該字段的值如何改變。在on delete on update設定參照動作 restrict 限制 cascade 級聯 set null ...