最近學習過程中,產生了一個疑問,到底該不該使用外鍵? 不能自己瞎想,為此,去了知乎,搜索相關話題,總結出下面內容。 一:使用外鍵 優點: (1)實現表與關聯表之間的數據一致性; (2)可以迅速的建立一個可靠性非常高的數據庫 ...
一:使用外鍵 優點: 實現表與關聯表之間的數據一致性 可以迅速的建立一個可靠性非常高的數據庫結構,而不用讓應用程序層去做過多的檢查 可以提高系統魯棒性 健壯性 可以實現開發人員和數據庫設計人員的分工 缺點: 數據庫需要維護外鍵的內部管理 外鍵等於把數據的一致性事務實現,全部交給數據庫服務器完成 有了外鍵,當做一些涉及外鍵字段的增,刪,更新操作之后,需要觸發相關操作去檢查,而不得不消耗資源 外鍵還 ...
2019-04-21 10:59 0 795 推薦指數:
最近學習過程中,產生了一個疑問,到底該不該使用外鍵? 不能自己瞎想,為此,去了知乎,搜索相關話題,總結出下面內容。 一:使用外鍵 優點: (1)實現表與關聯表之間的數據一致性; (2)可以迅速的建立一個可靠性非常高的數據庫 ...
引言 其實這個話題是老生常談,很多人在工作中確實也不會使用外鍵。包括在阿里的JAVA規范中也有下面這一條 **【強制】不得使用外鍵與級聯,一切外鍵概念必須在應用層解決。 ** 但是呢,詢問他們原因,大多是這么回答的 每次做DELETE 或者UPDATE都必須考慮外鍵約束 ...
什么是主鍵、外鍵關系型數據庫中的一條記錄中有若干個屬性,若其中某一個屬性組(注意是組)能唯一標識一條記錄,該屬性組就可以成為一個主鍵。 比如: 學生表(學號,姓名,性別,班級) 其中每個學生的學號是唯一的,學號就是一個主鍵 課程表(課程編號,課程名,學分) 其中課程編號是唯一的,課程編號 ...
引言 其實這個話題是老生常談,很多人在工作中確實也不會使用外鍵。包括在阿里的JAVA規范中也有下面這一條 **【強制】不得使用外鍵與級聯,一切外鍵概念必須在應用層解決。 ** 但是呢,詢問他們原因,大多是這么回答的 每次做DELETE 或者UPDATE ...
轉自(簡簡單單說外鍵和級聯 ) 外鍵 定義 作用 主表和從表 建鍵原則 事件觸發限制 外鍵簡單實例 觸發器實現 建表語句 關系說明 實現級聯刪除 更改設置實現 總結 ...
復習 今日內容 字段操作 多表關系 外鍵 一對一:無級聯關系 一對一:有級聯關系 一對多 多對多 ...
參考:https://draveness.me/whys-the-design-database-foreign-key/ 為什么數據庫不應該使用外鍵 在關系型數據庫中,外鍵也被稱為關系鍵,它是關系型數據庫中提供關系表之間連接的多個列,這一組數據列是當前關系表中的外鍵,也必須是另一個關系 ...
以MYSQL為例: (1)在model中定義兩個數據表,食物信息和食物類別信息 class foodInfo(models.Model): food_id = models.AutoField(max_length=4) #自定義主鍵,不指定主鍵默認會生 ...