亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

數據庫表與表之間如何建立聯系

發布時間:2021-01-28 14:11:36 來源:億速云 閱讀:1560 作者:小新 欄目:MySQL數據庫

這篇文章主要介紹了數據庫表與表之間如何建立聯系,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

數據庫表與表之間通過主外鍵來建立聯系。如果為表指定了主鍵約束, 數據庫引擎將通過為主鍵列自動創建唯一索引來強制數據的唯一性;而外鍵是用于在兩個表中的數據之間建立和加強鏈接的一列或多列的組合,可控制可在外鍵表中存儲的數據。

數據庫表與表之間通過主外鍵來建立聯系。

(推薦教程:mysql視頻教程)

主鍵約束

表通常具有包含唯一標識表中每一行的值的一列或一組列。 這樣的一列或多列稱為表的主鍵 (PK),用于強制表的實體完整性。 由于主鍵約束可保證數據的唯一性,因此經常對標識列定義這種約束。

如果為表指定了主鍵約束, 數據庫引擎 將通過為主鍵列自動創建唯一索引來強制數據的唯一性。 當在查詢中使用主鍵時,此索引還允許對數據進行快速訪問。 如果對多列定義了主鍵約束,則一列中的值可能會重復,但來自主鍵約束定義中所有列的值的任何組合必須唯一。

如下圖所示, Purchasing.ProductVendor 表中的 ProductID 和 VendorID 列構成了針對此表的復合主鍵約束。 這確保了 ProductVendor 表中的每個行都具有 ProductID 和 VendorID 的一個唯一組合。 這樣可以防止插入重復的行。

數據庫表與表之間如何建立聯系

  • 一個表只能包含一個主鍵約束。

  • 主鍵不能超過 16 列且總密鑰長度不能超過 900 個字節。

  • 由主鍵約束生成的索引不會使表中的索引數超過 999 個非聚集索引和 1 個聚集索引。

  • 如果沒有為主鍵約束指定聚集或非聚集索引,并且表中沒有聚集索引,則使用聚集索引。

  • 在主鍵約束中定義的所有列都必須定義為不為 Null。 如果沒有指定為 Null 性,則參與主鍵約束的所有列的為 Null 性都將設置為不為 Null。

  • 如果在 CLR 用戶定義類型的列中定義主鍵,則該類型的實現必須支持二進制排序。

外鍵約束

外鍵 (FK) 是用于在兩個表中的數據之間建立和加強鏈接的一列或多列的組合,可控制可在外鍵表中存儲的數據。 在外鍵引用中,當包含一個表的主鍵值的一個或多個列被另一個表中的一個或多個列引用時,就在這兩個表之間創建了鏈接。 這個列就成為第二個表的外鍵。

例如,因為銷售訂單和銷售人員之間存在一種邏輯關系,所以 Sales.SalesOrderHeader 表含有一個指向 Sales.SalesPerson 表的外鍵鏈接。 SalesOrderHeader 表中的 SalesPersonID 列與 SalesPerson 表中的主鍵列相對應。 SalesOrderHeader 表中的 SalesPersonID 列是指向 SalesPerson 表的外鍵。 通過創建此外鍵關系,如果 SalesPerson 表的主鍵中不存在 SalesPersonID 的值,則 SalesPersonID 的值將無法插入到 SalesOrderHeader 表。

表最多可以將 253 個其他表和列作為外鍵引用(傳出引用)。 SQL Server 2016 (13.x) 將可在單獨的表中引用的其他表和列(傳入引用)的數量限制從 253 提高至 10,000。 (兼容性級別至少必須為 130。)數量限制的提高帶來了下列約束:

  • 只有 DELETE DML 操作才支持超過 253 個外鍵引用。 不支持 UPDATE 和 MERGE 操作。

  • 對自身進行外鍵引用的表仍只能進行 253 個外鍵引用。

  • 列存儲索引、內存優化表、Stretch Database 或已分區外鍵表暫不支持進行超過 253 個外鍵引用。

外鍵約束的索引

與主鍵約束不同,創建外鍵約束不會自動創建對應的索引。 但是由于以下原因,對外鍵手動創建索引通常是有用的:

  • 當在查詢中組合相關表中的數據時,經常在聯接條件中使用外鍵列,方法是將一個表的外鍵約束中的一列或多列與另一個表中的主鍵列或唯一鍵列匹配。 索引使 數據庫引擎 可以在外鍵表中快速查找相關數據。 但是,創建此索引并不是必需的。 即使沒有對兩個相關表定義主鍵或外鍵約束,也可以對來自這兩個表中的數據進行組合,但兩個表間的外鍵關系說明已用其鍵作為條件對其進行了優化,以便組合到查詢中。

  • 對主鍵約束的更改可由相關表中的外鍵約束檢查。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“數據庫表與表之間如何建立聯系”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

开封市| 衡山县| 浦东新区| 龙南县| 凌海市| 承德县| 台湾省| 兴安县| 海兴县| 本溪| 上林县| 甘德县| 明溪县| 当雄县| 黄浦区| 巴塘县| 枣强县| 福建省| 新龙县| 永宁县| 视频| 五大连池市| 常德市| 梓潼县| 赤水市| 枝江市| 新干县| 大兴区| 阿拉尔市| 宜君县| 大新县| 蒙阴县| 抚松县| 江华| 弥勒县| 桓台县| 行唐县| 绥阳县| 呼玛县| 张家界市| 庆元县|