千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 數據庫設計時保持單個表的獨立性,但是表之間沒有主外鍵強制的約束,這樣設計的利弊是什么?

數據庫設計時保持單個表的獨立性,但是表之間沒有主外鍵強制的約束,這樣設計的利弊是什么?

來源:千鋒教育
發布人:xqq
時間: 2023-10-13 14:11:54 1697177514

一、數據庫設計時保持單個表的獨立性的利弊

利:單表數據的可維護性變強。 不會出現刪除這個表的數據影響到別的表的“意外”發生。對單張表的DML在特定情況下性能強于外鍵串起來的表

弊:數據的一致性可能會受到影響。

一般推薦業務性很強的數據庫(OA,ERP)用外鍵 。而線上網站對外提代訪問多數建議用獨立表的然后輔以程序完成約束。

主關鍵字約束

主關鍵字約束指定表的一列或幾列的組合的值在表中具有惟一性,即能惟一地指定一行記錄。每個表中只能有一列被指定為主關鍵字,且IMAGE 和TEXT 類型的列不能被指定為主關鍵字,也不允許指定主關鍵字列有NULL 屬性。

此處應有說明:多列組成的主鍵叫聯合主鍵,而且聯合主鍵約束只能設定為表級約束;單列組成的主鍵,既可設定為列級約束,也可以設定為表級約束。

聯合主鍵:聯合主鍵就是用2個或2個以上的字段組成主鍵。用這個主鍵包含的字段作為主鍵,這個組合在數據表中是少數,且加了主鍵索引。

可以這么理解,比如,你的訂單表里有很多字段,一般情況只要有個訂單號bill_no做主鍵就可以了,但是,現在要求可能會有補充訂單,使用相同的訂單號,那么這時單獨使用訂單號就不可以了,因為會有重復。那么你可以再使用個訂單序列號bill_seq來作為區別。把bill_no和bill_seq設成聯合主鍵。即使bill_no相同,bill_seq不同也是可以的。

延伸閱讀:

二、外關鍵字約束是什么

外關鍵字約束定義了表之間的關系。當一個表中的一個列或多個列的組合和其它表中的主關鍵字定義相同時,就可以將這些列或列的組合定義為外關鍵字,并設定它適合哪個表中哪些列相關聯。這樣,當在定義主關鍵字約束的表中更新列值,時其它表中有與之相關聯的外關鍵字約束的表中的外關鍵字列也將被相應地做相同的更新。外關鍵字約束的作用還體現在,當向含有外關鍵字的表插入數據時,如果與之相關聯的表的列中無與插入的外關鍵字列值相同的值時,系統會拒絕插入數據。與主關鍵字相同,不能使用一個定義為 TEXT 或IMAGE 數據類型的列創建外關鍵字。外關鍵字非常多由16 個列組成。

指定在刪除表中數據時,對關聯表所做的相關操作。在子表中有數據行與父表中的對應數據行相關聯的情況下,如果指定了值CASCADE,則在刪除父表數據行時會將子表中對應的數據行刪除;如果指定的是NO ACTION,則SQL Server 會產生一個錯誤,并將父表中的刪除操作回滾。NO ACTION 是缺省值。

ON UPDATE {CASCADE | NO ACTION}

指定在更新表中數據時,對關聯表所做的相關操作。在子表中有數據行與父表中的對應數據行相關聯的情況下,如果指定了值CASCADE,則在更新父表數據行時會將子表中對應的數據行更新;如果指定的是NO ACTION,則SQL Server 會產生一個錯誤,并將父表中的更新操作回滾。NO ACTION 是缺省值。

NOT FOR REPLICATION

指定列的外關鍵字約束在把從其它表中復制的數據插入到表中時不發生作用。

聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
久久亚洲中文字幕精品一区四,亚洲日本另类欧美一区二区,久久久久久久这里只有免费费精品,高清国产激情视频在线观看
在线视频国产欧美 | 日韩国产欧美视频二区 | 香蕉在线精品视频在线观看 | 夜色福利院在线观看试看 | 午夜在线99精品 | 亚洲曰韩欧美在线看片 |