請簡述什麼是外鍵約束?

General 更新 2024年4月15日

什麼是外鍵約束

如果表A的主關鍵字是表B中的字段,則該字段稱為表B的外鍵,表A稱為主表,表B稱為從表。外鍵是用來實現參照完整性的。

比如說:

create table t_group ( id int not null,

name varchar(30),

primary key (id)

);

insert into t_group values (1, 'Group1');

insert into t_group values (2, 'Group2');

create table t_user (

id int not null,

name varchar(30),

groupid int,

primary key (id),

foreign key (groupid) references t_group(id) on delete cascade on update cascade

);

insert into t_user values (1, 'qianxin', 1); --可以插入

insert into t_user values (2, 'yiyu', 2); --可以插入

insert into t_user values (3, 'dai', 3); --錯誤,無法插入,用戶組3不存在,與參照完整性約束不符

insert into t_user values (1, 'qianxin', 1);

insert into t_user values (2, 'yiyu', 2);

insert into t_user values (3, 'dai', 2);

delete from t_group where id=2; --導致t_user中的2、3記錄級聯刪除

update t_group set id=2 where id=1; --導致t_user中的1記錄的groupid級聯修改為2

--------------------雖然很基礎,但這篇文章講的很好很清楚----------------

參考資料:qianzui.javaeye.com/blog/552878

簡述外鍵約束的功能和建立方法

1.外鍵的作用,主要有兩個:

一個是讓數據庫自己通過外鍵來保證數據的完整性和一致性

一個就是能夠增加ER圖的可讀性

2.外鍵的配置

1)先創建一個主表,代碼如下:

#創建表student,並添加各種約束

create table student

(

id int primary key , #主鍵約束

name varchar(20) , #唯一約束

age int NOT NULL, #非空約束

sex varchar(2) ,

address varchar(20) default '重慶' #默認約束

) ;

什麼是外鍵

外鍵(Foreign Key)   如果公共關鍵字在一個關係中是主關鍵字,那麼這個公共關鍵字被稱為另一個關係的外鍵。由此可見,外鍵表示了兩個關係之間的聯繫。以另一個關係的外鍵作主關鍵字的表被稱為主表,具有此外鍵的表被稱為主表的從表。外鍵又稱作外關鍵字。換而言之,如果關係模式R中的某屬性集不是R的主鍵,而是另一個關係R1的主鍵則該屬性集是關係模式R的外鍵,通常在數據庫設計中縮寫為FK。

外鍵的作用

保持數據一致性,完整性,主要目的是控制存儲在外鍵表中的數據。 使兩張表形成關聯,外鍵只能引用外表中的列的值或使用空值

外鍵約束的特點是什麼 10分

外鍵是用來實現參照完整性的,

不同的外鍵約束方式將可以使兩張表緊密的結合起來,

做外鍵首先它要是表的主鍵

外鍵約束到底有什麼用

外鍵是表中的一個列,其值必須在另一個表的主鍵中列出。外鍵主要作用是保證數據引用的完整性,定義外鍵後,不允許刪除在另一個表中具有關聯行的行。 比如,有一個客戶表a,一個訂單表B:客戶ID為表A的主鍵,每個客戶都有唯一的ID號

什麼叫做外鍵約束????不太明白

舉個簡單的例子

表A內有列C1

表B內有列C2

將C2的外鍵指向C1

那麼當你向表B插入數據時,C2的內容必須為C1中的一個

還有幾個約束需要你設置

如刪除或者修改表A中的字段時怎麼處理表B中相關聯的數據

sql外鍵約束的作用是什麼?求答案

建立外鍵的作用就是保證數據的完整性,就如同表A裡有主鍵aa字段,表B裡有bb字段,當A為主表,B為從表時,主表的主鍵就是從表的外鍵,也就是說B表裡的bb字段的取值要來自A表裡的aa字段。限制約束,以達到數據上的完整

外鍵約束是怎麼使用的

create table t1(A1 int primary key)create table t2(B1 int,B2 int)--對t2表的B2創建外鍵(關聯字段t1表的A1字段)alter table t2 add constraint FK_B2_t1A1 foreign key(B2) references t1(A1)--注意:能作為一個表的外鍵關聯字段(t1.A1)這個字段必須是主鍵或有唯一約束的(t1的A1必須是主鍵或者unique)

創建外鍵約束的步驟

-- 創建測試主表. ID 是主鍵.CREATE TABLE test_main ( id INT NOT NULL, value VARCHAR(10), PRIMARY KEY(id) );-- 創建測試子表. CREATE TABLE test_sub ( id INT NOT NULL, main_id INT , value VARCHAR(10), PRIMARY KEY(id) );-- 插入測試主表數據.INSERT INTO test_main(id, value) VALUES (1, 'ONE');INSERT INTO test_main(id, value) VALUES (2, 'TWO');-- 插入測試子表數據.INSERT INTO test_sub(id, main_id, value) VALUES (1, 1, 'ONEONE');INSERT INTO test_sub(id, main_id, value) VALUES (2, 2, 'TWOTWO');-- 創建外鍵ALTER TABLE test_sub ADD CONSTRAINT main_id_cons FOREIGN KEY (main_id) REFERENCES test_main;go-- 驗證外鍵是否生效1> DELETE2> test_main3> WHERE4> ID = 1;5> go消息 547,級別 16,狀態 1,服務器 HOME-BED592453C\SQLEXPRESS,第 1 行DELETE 語句與 REFERENCE 約束"main_id_cons"衝突。該衝突發生於數據庫"Stock",表"dbo.test_sub", column 'main_id'。語句已終止。

相關問題答案
請簡述什麼是外鍵約束?
簡述什麼是暫列金額?
簡述什麼是財務分析?
簡述什麼是宏觀經濟學?
簡述什麼是談話活動?
簡述什麼是流動性偏好?
簡述什麼是一國兩制?
簡述什麼是色彩模式?
簡述什麼是非正式溝通?
簡述什麼是生產者剩餘?