日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL SERVER 数据库主键和外键的思考

發(fā)布時(shí)間:2023/12/2 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL SERVER 数据库主键和外键的思考 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

SQL SERVER 數(shù)據(jù)庫主鍵和外鍵的思考

什么是主鍵: 主鍵是指表中一個(gè)列或者列的組合,其值能夠唯一的標(biāo)識表中的每一個(gè)行。這樣的一列或者多列成為表的主鍵,通過它可以強(qiáng)制表的實(shí)體完整性。當(dāng)創(chuàng)建或者更改表時(shí)可以通過定義PRIMARY KEY約束來創(chuàng)建主鍵,一個(gè)表只能有一個(gè)主鍵約束,而且主鍵約束中

什么是主鍵:

? ? ? ? 主鍵是指表中一個(gè)列或者列的組合,其值能夠唯一的標(biāo)識表中的每一個(gè)行。這樣的一列或者多列成為表的主鍵,通過它可以強(qiáng)制表的實(shí)體完整性。當(dāng)創(chuàng)建或者更改表時(shí)可以通過定義PRIMARY KEY約束來創(chuàng)建主鍵,一個(gè)表只能有一個(gè)主鍵約束,而且主鍵約束中的列不能是空值,由于主鍵約束確保唯一數(shù)據(jù),所一經(jīng)常來定義標(biāo)識列。

每一個(gè)表都必須定義一個(gè)主鍵嗎?

? ? ? ? 我個(gè)人認(rèn)為這個(gè)問題要看我們的表的功能,利用來存儲大量數(shù)據(jù),并需要經(jīng)常查詢的,建立主鍵可以加快查詢效率,從而降低服務(wù)器的負(fù)擔(dān),但是如果沒有這樣的需求,建立主鍵反而消耗資源,所以這種情況下就沒有必要建立主鍵了。

? ? ? ? 有些人認(rèn)為:雖然在有些數(shù)據(jù)庫中,主鍵不是必須的,但是最好為每個(gè)表都設(shè)置一個(gè)主鍵,不管是但主鍵還是復(fù)合主鍵,它存在代表著表結(jié)構(gòu)的完整性,表的記錄必須得有唯一區(qū)分的字段,主鍵主要是用于其他表的外鍵關(guān)聯(lián),以及本記錄的修改與刪除。

?

主鍵的作用:

1、? 從上面的定義可以看出,主鍵是用于唯一標(biāo)識數(shù)據(jù)庫表中一行數(shù)據(jù)的。

2、? 作為一個(gè)可以被外鍵有效引用的對象。

主鍵的設(shè)計(jì)原則:

1、? 主鍵應(yīng)當(dāng)是對用戶沒有意義的,比如說用戶登陸一個(gè)系統(tǒng)的時(shí)候的登錄id;而這種情況就不可能了:“學(xué)生表”需要支持這樣的需求“學(xué)生注銷后,可以重新激活自己的信息,而且還要保持自己的號碼跟原來的一直”,這樣的話主鍵就不能滿足要求了。

2、? 唯一性,這個(gè)原則就不用多說了。

3、? 非空性:主鍵的值是不可重復(fù)的,也不可以為空。

什么是外鍵:

? ? ? ? 外鍵是建立于表與表之間的聯(lián)系,方便程序的編寫。

外鍵的特點(diǎn):

1、? 外鍵保證了數(shù)據(jù)的完整性

2、? 使用外鍵,簡單直觀,可以直接在數(shù)據(jù)模型中體現(xiàn),無論是設(shè)計(jì)、維護(hù)等等。

3、? 外鍵在調(diào)試程序的時(shí)候可能會帶來一些麻煩。

如何插入外鍵:

?

如上圖所示,數(shù)據(jù)庫中有三個(gè)表,下面我們給news和category表設(shè)置關(guān)系


?

如圖所示,郵件單擊“數(shù)據(jù)庫關(guān)系圖”,選擇“新建數(shù)據(jù)庫關(guān)系圖”

?

出現(xiàn)上面的“添加表”

選擇要添加的表的名稱,將這三個(gè)表全部添加到里面去(如下圖所示)

?

我們將news的categoryId設(shè)置為category的Id的外鍵


?

單擊添加按鈕


?

選擇上邊的“表和列規(guī)范”左邊的三個(gè)小點(diǎn)號的按鈕,點(diǎn)開后如下圖所示

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的SQL SERVER 数据库主键和外键的思考的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。