日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
外鍵在關(guān)系型數(shù)據(jù)庫(kù)中的作用與實(shí)現(xiàn)方式(關(guān)系型數(shù)據(jù)庫(kù)外鍵)

外鍵是關(guān)系型數(shù)據(jù)庫(kù)中一種重要的數(shù)據(jù)關(guān)系表達(dá)方式,它能夠?qū)⒉煌瑪?shù)據(jù)表之間的關(guān)聯(lián)關(guān)系通過(guò)程序語(yǔ)言實(shí)現(xiàn)。外鍵的存在使得數(shù)據(jù)庫(kù)的設(shè)計(jì)更加靈活和便捷,同時(shí)也有助于維護(hù)數(shù)據(jù)表的完整性和一致性。本文將闡述。

一、外鍵的作用

1. 關(guān)聯(lián)表數(shù)據(jù)

外鍵將關(guān)聯(lián)表中的行與所參照的主表中的行進(jìn)行關(guān)聯(lián)。這樣,雖然數(shù)據(jù)分散在不同的表中,但數(shù)據(jù)庫(kù)可以使用外鍵將這些表關(guān)聯(lián)起來(lái),在某些操作時(shí)可以一起處理。

2. 維護(hù)數(shù)據(jù)的完整性

外鍵保證了關(guān)聯(lián)表中數(shù)據(jù)的完整性和一致性。如果兩個(gè)表中有一個(gè)外鍵關(guān)系,當(dāng)在父表中刪除一個(gè)行時(shí),其對(duì)應(yīng)的子表中的行將被自動(dòng)刪除或者禁止子表中的行成為孤兒行。

3. 支持多對(duì)多關(guān)系

外鍵能夠?qū)崿F(xiàn)關(guān)系數(shù)據(jù)庫(kù)中的多對(duì)多關(guān)系,實(shí)現(xiàn)了數(shù)據(jù)庫(kù)中關(guān)聯(lián)關(guān)系的靈活性和便捷性。通過(guò)在一個(gè)表中存儲(chǔ)另一個(gè)表的主鍵,使用外鍵可以在不同的數(shù)據(jù)表之間建立有效的關(guān)聯(lián)關(guān)系。

二、外鍵的實(shí)現(xiàn)方式

外鍵實(shí)現(xiàn)方式主要包括手動(dòng)添加外鍵和使用數(shù)據(jù)庫(kù)管理系統(tǒng)自動(dòng)生成外鍵。

1. 手動(dòng)添加外鍵

手動(dòng)添加外鍵需要在子表中定義一個(gè)外鍵列,使用外鍵列去連接父表的主鍵。具體實(shí)現(xiàn)時(shí),需要在父表中創(chuàng)建一個(gè)主鍵或惟一索引,然后在子表中定義一個(gè)FOREIGN KEY約束,這個(gè)約束連接到父表的主鍵或等價(jià)于主鍵的惟一索引。

例:

CREATE TABLE 父表

(

父表主鍵 INT PRIMARY KEY

);

CREATE TABLE 子表

(

子表主鍵 INT PRIMARY KEY,

父表外鍵 INT,

FOREIGN KEY(父表外鍵) REFERENCES 父表(父表主鍵)

);

2. 使用數(shù)據(jù)庫(kù)管理系統(tǒng)自動(dòng)生成外鍵

許多數(shù)據(jù)庫(kù)管理系統(tǒng)自帶外鍵功能,會(huì)自動(dòng)在子表上創(chuàng)建一個(gè)外鍵列,并自動(dòng)關(guān)聯(lián)到父表的主鍵列。這種方法在一定程度上減輕了程序員的工作負(fù)擔(dān),同時(shí)也防止了因程序員失誤而導(dǎo)致的錯(cuò)誤。

例:

CREATE TABLE 父表

(

父表主鍵 INT PRIMARY KEY

);

CREATE TABLE 子表

(

子表主鍵 INT PRIMARY KEY,

父表外鍵 INT,

FOREIGN KEY(父表外鍵) REFERENCES 父表(父表主鍵) ON DELETE CASCADE

);

在這個(gè)例子中,在子表創(chuàng)建外鍵約束時(shí),使用了ON DELETE CASCADE,這意味著當(dāng)父表中刪除一個(gè)主鍵行時(shí),子表中對(duì)應(yīng)的帶有外鍵的行會(huì)被自動(dòng)刪除。另外,外鍵的操作還可以定義為將外鍵值設(shè)為 NULL 或 DEFAULT。

三、常見(jiàn)的外鍵限制條件

1. ON DELETE [CASCADE | SET NULL | SET DEFAULT]

ON DELETE用于定義當(dāng)父表中的主鍵行被刪除時(shí)發(fā)生的動(dòng)作。CASCADE選項(xiàng)表示當(dāng)父表中的行被刪除時(shí),它們所對(duì)應(yīng)的子表中的行也將被刪除。SET NULL選項(xiàng)表示當(dāng)父表中的行被刪除時(shí),它們所對(duì)應(yīng)的子表中的外鍵列將被設(shè)為空。SET DEFAULT選項(xiàng)表示當(dāng)父表中的行被刪除時(shí),它們所對(duì)應(yīng)的子表中的外鍵列將被設(shè)為默認(rèn)值。

2. ON UPDATE [CASCADE | SET NULL | SET DEFAULT]

ON UPDATE定義了當(dāng)父表中的主鍵值被修改時(shí),其對(duì)應(yīng)的子表中的外鍵列應(yīng)該如何修改。

3. NOT NULL

NOT NULL 用于指定外鍵列中的值不能為空。

4. UNIQUE

關(guān)聯(lián)表中的外鍵列已經(jīng)是惟一的,可以在創(chuàng)建表時(shí)指定外鍵為惟一的,這樣子表中就不會(huì)創(chuàng)建一個(gè)外鍵在父表中相關(guān)聯(lián)的行。

外鍵在關(guān)系型數(shù)據(jù)庫(kù)中具有重要的作用,方便了不同數(shù)據(jù)表之間的關(guān)聯(lián)和數(shù)據(jù)維護(hù)。不同的數(shù)據(jù)庫(kù)系統(tǒng)可能支持不同的外鍵實(shí)現(xiàn)方式,但外鍵約束可以保證數(shù)據(jù)的完整性和一致性,同時(shí)也為程序員提供了一種有效的數(shù)據(jù)表關(guān)聯(lián)方式。

相關(guān)問(wèn)題拓展閱讀:

  • 數(shù)據(jù)庫(kù)外鍵怎么設(shè)置?
  • 數(shù)據(jù)庫(kù)同時(shí)有主鍵和外鍵怎么表
  • 數(shù)據(jù)庫(kù)外鍵

數(shù)據(jù)庫(kù)外鍵怎么設(shè)置?

SQL 數(shù)據(jù)庫(kù)建表時(shí)怎么設(shè)置外鍵,

1> — 創(chuàng)建測(cè)試主表. ID 是主鍵.

2> CREATE TABLE test_main (

3> id INT,

4> value VARCHAR(10),

5> PRIMARY KEY(id)

6> );

7> go

— 建表時(shí)設(shè)置外鍵

1> CREATE TABLE test_sub (

2> id INT,

3> main_id INT,

4> value VARCHAR(10),

5> PRIMARY KEY(id),

6> FOREIGN KEY (main_id) REFERENCES test_main

7> );

8> go

sql怎么設(shè)置外鍵

可以在創(chuàng)建表的時(shí)候創(chuàng)建,也可以在創(chuàng)建表之后創(chuàng)建。

創(chuàng)建表時(shí)創(chuàng)建:

create table student

(id int primary key,

name char(4),

dept char(9)

sex char(4))

create table grade

(id int ,

grade int

constraint id_fk foreign key (id) references student (id)

)

或創(chuàng)建了兩表之后再建

alter table grade

add constraint id_fk foreign key (id) references student (id)

呵呵,希望能幫助你。

sql server中圖形界面如何設(shè)置外鍵

在那個(gè)屬性上右鍵 有約束 自己添加就OK了

mysql怎么設(shè)置外鍵?

ALTER TABLE b ADD CONSTRAINT c FOREIGN KEY(c) REFERENCES a(c) ON DELETE CASCADE ON UPDATE CASCADE; 哎呀。。好像寫(xiě)反了。我寫(xiě)的是把表B的c設(shè)置為外鍵了。。你改一下吧。

如何在數(shù)據(jù)庫(kù)的建立表的時(shí)候設(shè)置表的外鍵

1> — 創(chuàng)建測(cè)試主表. ID 是主鍵.

2> CREATE TABLE test_main (

3> id INT,

4> value VARCHAR(10),

5> PRIMARY KEY(id)

6> );

7> go

— 建表時(shí)設(shè)置外鍵

1> CREATE TABLE test_sub (

2> id INT,

3> main_id INT,

4> value VARCHAR(10),

5> PRIMARY KEY(id),

6> FOREIGN KEY (main_id) REFERENCES test_main

7> );

8> go

sql server 2023 怎么設(shè)置外鍵

建外鍵的前提是此外鍵必須是另外一個(gè)表的主鍵。建外鍵的步驟: 之一步打開(kāi)要建外辯彎鍵表的設(shè)計(jì)器,右擊選擇“關(guān)系”。然后彈出“外裂談鍵關(guān)系”窗體,我們選擇“添加”,然后點(diǎn)擊“表和列規(guī)范”后面的小按鈕,就會(huì)彈出另外一個(gè)窗體讓我們選擇主鍵表和列,選好之后點(diǎn)擊確定。然后我們INSERT和UPDATE規(guī)范,在更新規(guī)則和刪除規(guī)則有四個(gè)選項(xiàng),分別是“不執(zhí)行任何操作攜源悶”、“級(jí)聯(lián)”、“設(shè)置為NULL”、“設(shè)置默認(rèn)值”。默認(rèn)的不執(zhí)行任何操作。如果是“不執(zhí)行任何操作”,當(dāng)我們刪除或更新主鍵表的數(shù)據(jù)時(shí),會(huì)告訴用戶不能執(zhí)行刪除或更新該操作?!凹?jí)聯(lián)”的意思是當(dāng)我們刪除或更新主鍵表的數(shù)據(jù)時(shí),會(huì)刪除或更新外鍵表中所涉及的相關(guān)數(shù)據(jù)的所有行。 “設(shè)置Null”的意思是當(dāng)我們刪除或更新主鍵表的數(shù)據(jù)時(shí),外鍵表中的外鍵列的值會(huì)設(shè)為Null,但前提是該列允許為空。 “設(shè)置默認(rèn)值”的意思是如果我們將外鍵列定義了默認(rèn)值,當(dāng)我們刪除或更新主鍵表的數(shù)據(jù)時(shí),外鍵表中的外鍵列的值設(shè)為定義的默認(rèn)值。 當(dāng)然我們可以用代碼創(chuàng)建,當(dāng)我們?cè)趧?chuàng)建數(shù)據(jù)庫(kù)表T——Card時(shí)只要加上一句話就OK啦,“Foreign key (studentNo) references T_Student(studentNo)”。如果我們已經(jīng)創(chuàng)建了改表,那如何用代碼實(shí)現(xiàn)了,這也很簡(jiǎn)單也就一句話“ add constraint CMPKey(外鍵名) foreign key(studentNo) references T_Student(studentNo)”。

sql中怎樣創(chuàng)建外鍵約束

在創(chuàng)建表之后,添加外鍵約束:

alter table yuangong add constraint fk foreign key (部門(mén)罰) references bumen(部門(mén)號(hào))

或者在創(chuàng)建表的時(shí)候添加外鍵

foreign key (部門(mén)號(hào)) references bumen(部門(mén)號(hào))放在最后,用”,”與列分隔

數(shù)據(jù)庫(kù)中,一對(duì)多的時(shí)候外鍵設(shè)置在多的那張表嗎?如果一對(duì)一的時(shí)候,外鍵應(yīng)該設(shè)置在哪里?多對(duì)多的時(shí)候,

首先,外鍵引用的那個(gè)列在主表中必須是主鍵列或者唯一列。

所以1:n的肯定把外鍵建立在n的那張表上。

1:1,一般要看誰(shuí)是主表,誰(shuí)是附屬表,外鍵當(dāng)然建立在附屬表中。

n:m的情況,需要建立一個(gè)關(guān)系表,兩個(gè)原表和其關(guān)系分別是1:n,1

:m

數(shù)據(jù)庫(kù)語(yǔ)句怎么加外鍵

1,創(chuàng)建表的時(shí)候添加:foreign key (你的外鍵) references (表名)(字段名);

2,創(chuàng)建好之后修改:

alter table dbo.mh_User

add constraint FK_mh_User_…_id foreign key (你的外鍵) references (表名)(字段名);

Sql server怎樣創(chuàng)建主外鍵關(guān)系

在要設(shè)置關(guān)系的外鍵表中,右擊關(guān)系→添加→在表和列規(guī)范中選擇關(guān)聯(lián)的主表再選擇外鍵表與其關(guān)聯(lián)的字段

數(shù)據(jù)庫(kù)同時(shí)有主鍵和外鍵怎么表

主頌褲鍵是能確定一條記錄的唯一標(biāo)識(shí)野賀簡(jiǎn),比如,一條記錄包括身份正號(hào),姓名,年齡。 身份證號(hào)是唯一能確定你這個(gè)人的,其他都可能有重拍派復(fù),所以,身份證號(hào)

2. 外鍵用于與另一張表的關(guān)聯(lián)。是能確定另一張表記錄的字段,用于保持

關(guān)系型數(shù)據(jù)庫(kù)中的一條記錄中有若干個(gè)屬性,若其中某一個(gè)屬性組(注意是組)能唯一標(biāo)識(shí)一條記錄,該屬性組就可以成為一個(gè)主鍵

比如

學(xué)生表晌野(學(xué)號(hào),姓衡鉛名,性別,班級(jí))

其中每個(gè)學(xué)生的學(xué)號(hào)是唯一的,學(xué)號(hào)就是一宴攔喊個(gè)主鍵

課程表(課程編號(hào),課程名,學(xué)分)

其中課程編號(hào)是唯一的,課程編號(hào)就是一個(gè)主鍵

成績(jī)表(學(xué)號(hào),課程號(hào),成績(jī))

成績(jī)表中單一一個(gè)屬性無(wú)法唯一標(biāo)識(shí)一條記錄,學(xué)號(hào)和課程號(hào)的組合才可以唯一標(biāo)識(shí)一條記錄,所以 學(xué)號(hào)和課程號(hào)的屬性組是一個(gè)主鍵

數(shù)據(jù)庫(kù)外鍵

所謂外鍵:如果公鑰關(guān)系中是主鍵,然后在公共密鑰被稱為另一個(gè)關(guān)系的外鍵前純。因此,外鍵關(guān)系代表了兩者之間的聯(lián)系。與另一個(gè)表的主鍵的外鍵關(guān)系被稱為主表的外鍵被稱為主表,從表中的表。至于主鍵:主鍵被挑出唯一確定的候選鍵表行。一個(gè)表只能有一個(gè)主鍵??梢苑Q為主鍵與主鍵。正如我們可以看到:如果名稱是B表的主鍵,表A作為名稱或外鍵。從上述定義表A表B是慧漏咐主表中搜鄭,表A表B表,

關(guān)于關(guān)系型數(shù)據(jù)庫(kù) 外鍵的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

成都創(chuàng)新互聯(lián)建站主營(yíng):成都網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、網(wǎng)站改版的網(wǎng)站建設(shè)公司,提供成都網(wǎng)站制作成都網(wǎng)站建設(shè)、成都網(wǎng)站推廣、成都網(wǎng)站優(yōu)化seo、響應(yīng)式移動(dòng)網(wǎng)站開(kāi)發(fā)制作等網(wǎng)站服務(wù)。


分享名稱:外鍵在關(guān)系型數(shù)據(jù)庫(kù)中的作用與實(shí)現(xiàn)方式(關(guān)系型數(shù)據(jù)庫(kù)外鍵)
本文網(wǎng)址:http://www.5511xx.com/article/coggspo.html