題組內容

第二題: 請回答下列問題:

(三)設定關聯表 Order 之外來鍵為 Cmp_id,其亦為 Company 之主鍵,請問如下所 宣告“ON UPDATE CASCADE”之作用與目的各別為何?【8 分】 CREATE TABLE Order ( … FOREIGN KEY (Cmp_id) REFERENCES Company ON UPDATE CASCADE, …);

詳解 (共 4 筆)

Lu_yee
Lu_yee
詳解 #4333577
2020/10/23
在更新時,若外來鍵的資料有參照到就一並更...
(共 23 字,隱藏中)
前往觀看
一起撐住一起上榜
一起撐住一起上榜
詳解 #7113261
2025/11/17
(三)ON UPDATE CASCAD...
(共 313 字,隱藏中)
前往觀看
hchungw
hchungw
詳解 #6127981
2024/06/12

在資料庫設計中,外來鍵(Foreign Key)用於確保兩個表之間的參照完整性。在你給出的範例中,Order 表中的 Cmp_id 是 Company 表中的主鍵。這樣的設計確保了 Order 表中的每一筆訂單都關聯到 Company 表中的一家公司。

使用 ON UPDATE CASCADE 條款的作用和目的如下:

作用

ON UPDATE CASCADE 條款的作用是當參照表(在此範例中是 Company 表)中主鍵的值發生更新時,所有參照此主鍵的外來鍵值(在此範例中是 Order 表中的 Cmp_id)都會自動同步更新為新的值。這確保了在更新參照表的主鍵值時,不會破壞參照完整性,也不需要手動更新每一個參照此主鍵的外來鍵。

目的

  1. 維護資料完整性:確保當 Company 表中的主鍵值改變時,所有關聯的 Order 表中的外來鍵值也會相應地自動更新,避免因主鍵值變動而導致參照關係失效或資料不一致的情況。

  2. 減少手動操作:減少了在更新主鍵值時需要手動更新外來鍵值的繁瑣操作。這在需要更新大量資料時尤其有用,因為可以自動化更新過程,節省時間和人力。

  3. 簡化應用程式邏輯:應用程式在更新 Company 表中的主鍵值時,不需要額外編寫更新外來鍵值的邏輯,讓程式碼更簡潔、易於維護。

總結

ON UPDATE CASCADE 條款的主要作用是自動更新外來鍵值以維護資料完整性,其目的是減少手動操作並簡化應用程式邏輯。這樣的設計確保了數據庫在主鍵值更新時的參照完整性和一致性。

白龍@菜鳥公務員(107/10/29)
白龍@菜鳥公務員(107/10/29)
詳解 #3283436
2019/04/09
在設定各資料表間之外鍵時會有4種情況,以...
(共 182 字,隱藏中)
前往觀看