久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

數(shù)據(jù)庫表與表之間如何建立聯(lián)系

共計(jì) 1808 個(gè)字符,預(yù)計(jì)需要花費(fèi) 5 分鐘才能閱讀完成。

自動(dòng)寫代碼機(jī)器人,免費(fèi)開通

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

數(shù)據(jù)庫表與表之間通過主外鍵來建立聯(lián)系。如果為表指定了主鍵約束,數(shù)據(jù)庫引擎將通過為主鍵列自動(dòng)創(chuàng)建唯一索引來強(qiáng)制數(shù)據(jù)的唯一性;而外鍵是用于在兩個(gè)表中的數(shù)據(jù)之間建立和加強(qiáng)鏈接的一列或多列的組合,可控制可在外鍵表中存儲(chǔ)的數(shù)據(jù)。

數(shù)據(jù)庫表與表之間通過主外鍵來建立聯(lián)系。

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

主鍵約束

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

如果為表指定了主鍵約束,數(shù)據(jù)庫引擎 將通過為主鍵列自動(dòng)創(chuàng)建唯一索引來強(qiáng)制數(shù)據(jù)的唯一性。當(dāng)在查詢中使用主鍵時(shí),此索引還允許對(duì)數(shù)據(jù)進(jìn)行快速訪問。如果對(duì)多列定義了主鍵約束,則一列中的值可能會(huì)重復(fù),但來自主鍵約束定義中所有列的值的任何組合必須唯一。

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

數(shù)據(jù)庫表與表之間如何建立聯(lián)系

一個(gè)表只能包含一個(gè)主鍵約束。

主鍵不能超過 16 列且總密鑰長度不能超過 900 個(gè)字節(jié)。

由主鍵約束生成的索引不會(huì)使表中的索引數(shù)超過 999 個(gè)非聚集索引和 1 個(gè)聚集索引。

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

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

如果在 CLR 用戶定義類型的列中定義主鍵,則該類型的實(shí)現(xiàn)必須支持二進(jìn)制排序。

外鍵約束

外鍵 (FK) 是用于在兩個(gè)表中的數(shù)據(jù)之間建立和加強(qiáng)鏈接的一列或多列的組合,可控制可在外鍵表中存儲(chǔ)的數(shù)據(jù)。在外鍵引用中,當(dāng)包含一個(gè)表的主鍵值的一個(gè)或多個(gè)列被另一個(gè)表中的一個(gè)或多個(gè)列引用時(shí),就在這兩個(gè)表之間創(chuàng)建了鏈接。這個(gè)列就成為第二個(gè)表的外鍵。

例如,因?yàn)殇N售訂單和銷售人員之間存在一種邏輯關(guān)系,所以 Sales.SalesOrderHeader 表含有一個(gè)指向 Sales.SalesPerson 表的外鍵鏈接。SalesOrderHeader 表中的 SalesPersonID 列與 SalesPerson 表中的主鍵列相對(duì)應(yīng)。SalesOrderHeader 表中的 SalesPersonID 列是指向 SalesPerson 表的外鍵。通過創(chuàng)建此外鍵關(guān)系,如果 SalesPerson 表的主鍵中不存在 SalesPersonID 的值,則 SalesPersonID 的值將無法插入到 SalesOrderHeader 表。

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

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

對(duì)自身進(jìn)行外鍵引用的表仍只能進(jìn)行 253 個(gè)外鍵引用。

列存儲(chǔ)索引、內(nèi)存優(yōu)化表、Stretch Database 或已分區(qū)外鍵表暫不支持進(jìn)行超過 253 個(gè)外鍵引用。

外鍵約束的索引

與主鍵約束不同,創(chuàng)建外鍵約束不會(huì)自動(dòng)創(chuàng)建對(duì)應(yīng)的索引。但是由于以下原因,對(duì)外鍵手動(dòng)創(chuàng)建索引通常是有用的:

當(dāng)在查詢中組合相關(guān)表中的數(shù)據(jù)時(shí),經(jīng)常在聯(lián)接條件中使用外鍵列,方法是將一個(gè)表的外鍵約束中的一列或多列與另一個(gè)表中的主鍵列或唯一鍵列匹配。索引使 數(shù)據(jù)庫引擎 可以在外鍵表中快速查找相關(guān)數(shù)據(jù)。但是,創(chuàng)建此索引并不是必需的。即使沒有對(duì)兩個(gè)相關(guān)表定義主鍵或外鍵約束,也可以對(duì)來自這兩個(gè)表中的數(shù)據(jù)進(jìn)行組合,但兩個(gè)表間的外鍵關(guān)系說明已用其鍵作為條件對(duì)其進(jìn)行了優(yōu)化,以便組合到查詢中。

對(duì)主鍵約束的更改可由相關(guān)表中的外鍵約束檢查。

感謝你能夠認(rèn)真閱讀完這篇文章,希望丸趣 TV 小編分享的“數(shù)據(jù)庫表與表之間如何建立聯(lián)系”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持丸趣 TV,關(guān)注丸趣 TV 行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

向 AI 問一下細(xì)節(jié)

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-12-04發(fā)表,共計(jì)1808字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒有評(píng)論)
主站蜘蛛池模板: 科尔| 二连浩特市| 定远县| 那坡县| 东阿县| 涪陵区| 夏邑县| 胶南市| 荥阳市| 象山县| 平顺县| 都安| 大石桥市| 武夷山市| 邻水| 志丹县| 松原市| 玉龙| 维西| 建始县| 买车| 离岛区| 高平市| 清新县| 大洼县| 永泰县| 临安市| 道真| 思南县| 承德市| 广宁县| 鄂托克前旗| 东乌| 黄龙县| 贵港市| 和平县| 如东县| 石河子市| 阿拉善右旗| 深州市| 镇远县|