要不要顯示的建立外來鍵關聯?

2021-09-18 09:10:35 字數 714 閱讀 3528

示例:

表a結構如下:

uid    name

1      張飛

2      呂布

表b結構如下:

bid  uid    boss

1    2      曹操

2    1      劉備

「外來鍵是保證資料庫一致性的重要手段,可以級聯更新(包括增刪改),當然可以不使用顯式的外來鍵,只需要每次做操作的時候【記得】同步更新相關的表資料即可。不過有了外來鍵,你如果忘記了,會報錯,會提示,但是沒有外來鍵就不會。所以對有關聯的表建立外來鍵也不失為乙個好辦法。」——在用hibernate註解時,物件導向操作,針對物件進行持久化是雙刃劍。尤其在實體類之間通過註解進行關聯時,經過orm資料庫表會自動顯示的生成乙個外來鍵關聯;那麼這樣帶來的問題就是如果外表沒有進行更新時,本表是無法直接更新的。我理解,這是乙個先後順序和依賴問題,既然關聯了外表的主鍵,就等於間接關聯了其所有的資訊,本表對外表是有依賴的;並且在順序上相當於:先有外表的資料變化,才通過主鍵'知會'給本表;那麼反過來,本表做資料更新時,怎能不顧外表,如果可以不管關聯關係,那樣就不切實際了。要知道,所有的關聯關係,都是表相;其實,只要雙方建立了聯絡,不管幾對幾,就是雙向的聯絡關係,這個概念一定要清楚。所以,回到上面的例子中,如果b表直接修改曹操為"孫權",那麼uid=2的呂布豈不是成了孫權的部下?這顯然是不對的。正常邏輯應該是先更新a表中uid=2的name值為"賈詡",才能講得通,當然級聯刪除和修改也是a表後b表的(先主後從)。

資料庫表要不要加外來鍵?

對於主 外來鍵 索引來說,在一些開發團隊中被認為是處理資料庫關係的利器,也被某些開發團隊認為是處理某些具體業務的魔鬼,您的觀點呢?在實際應用中您會採取哪種方式?矛盾焦點 資料庫設計是否需要外來鍵。這裡有兩個問題 乙個是如何保證資料庫資料的完整性和一致性 二是第一條對效能的影響。正方觀點 1,由資料庫...

段碼顯示屏要不要加背光?怎麼加?

在段碼屏怎麼加背光的前提下,我們一起來先了解下,段碼液晶屏是否需要加背光?段碼液晶屏要不要背光,這個是取決於產品及客戶使用情況 比如說空調遙控器,市場上大多數是不帶背光,因為它只是在室內有燈的情況下才去用,晚上關燈睡覺時,很少有人會用,如果有背光還會習慣睡眠,另乙個就是成本的問題,這種產品本來就便宜...

關於公司要不要設立測試的討論

不久前關於測試的討論帖子上的發言 第乙個問題,要不要專職測試員。如果推崇把質量作為企業的核心價值,我認為專職的測試是必須的,無論團隊規模大小。這是質量和專業分工的關係決定的。做事情的人不能和監督的人是同乙個人,打個不恰當的比方就是運動員不能是裁判員。可能有人會說,某某專案沒有測試也做得不錯,我相信,...