資料庫到底用不用外來鍵,資料庫中外來鍵的作用是神馬?為什麼我看到很多mysql的資料庫設計都不用外來鍵的

2022-11-08 08:51:42 字數 879 閱讀 4354

1樓:愛可生雲資料庫

外來鍵的設計初衷是為了在資料庫端保證對邏輯上相關聯的表資料在操作上的一致性與完整性。

優點:精簡關聯資料,減少資料冗餘

避免後期對大量冗餘處理的額外運維操作。

降低應用**複雜性,減少了額外的異常處理

相關資料管理全由資料庫端處理。

增加文件的可讀性

特別是在表設計開始,繪製 er 圖的時候,邏輯簡單明瞭,可讀性非常強。

缺點:效能壓力

外來鍵一般會存在級聯功能,級聯更新,級聯刪除等等。在海量資料場景,造成很大的效能壓力。比如插入一條新記錄,如果插入記錄的表有 10 個外來鍵,那勢必要對關聯的 10 張表逐一檢查插入的記錄是否合理,延誤了正常插入的記錄時間。

並且父表的更新會連帶子表加上相關的鎖。

其他功能的靈活性不佳

比如,表結構的更新等。

2樓:冰悅精彩

您好:通常是運用外來鍵邏輯,而不寫外來鍵約束。

這是因為需求可能會發生變化,而影響資料庫邏輯。

為了資料維護容易,而不寫約束

當然按照開發規範來說,是需要有外來鍵約束的。

請根據具體情形決定。。。

資料庫中外來鍵的作用是神馬?為什麼我看到很多mysql的資料庫設計都不用外來鍵的?

3樓:匿名使用者

比如你有兩張表:a表和b表把a的主鍵放到b中就叫b的外來鍵,作用,一般用於多表聯查,通俗的說就是讓兩張表產生聯絡。沒用過mysql但道理都是一樣的。

需要聯絡就的有主鍵和外來鍵,不需要自然沒有,

4樓:匿名使用者

沒有涉及關係的就不用。不過,不涉及到關係的資料庫應該是極少,或者說,設計存在問題。

資料庫的作用是什麼,什麼是資料庫?資料庫有什麼用?

在大學的計算機教科書中,資料 庫是被這樣解釋的 資料庫是計算機應用系統中的一種專門管理資料資源的系統。資料有多種形式,如文字 數碼 符號 圖形 影象以及聲音等。資料是所有計算機系統所要處理的物件。人們所熟知的一種處理辦法是製作檔案,即將處理過程編成程式檔案,將所涉及的資料按程式要求組織成資料檔案,用...

mysql資料庫和access資料庫有什麼區別

mysql和access的區別 mysql特性 很便宜,通常是免費的 網路承載少 查詢 優化 可以簡便的應用程式通過mysql做備份 mysql操縱簡單,易上手,且為各種不同的資料格式提供有彈性的擴充套件介面 odbc access特性 簡單易學,使用方便,開發效率高。mysql對於大多數使用者而言...

jpa關係對映必須建立資料庫外來鍵嗎

可以不在物理表中加上外來鍵的 你在實體類中增加了外來鍵關聯關係 jpa會自動識別出對應的一對多的兩個實體類之間具有外來鍵關聯關係,所以你的做法是可行的。jpa 關係對映 必須建立資料庫外來鍵嗎?可以不在物理表中加上外來鍵的,你在實體類中增加了外來鍵關聯關係,jpa會自動識別出對應的一對多的兩個實體類...