當前位置:首頁 » 參考文獻 » 約束外鍵引用

約束外鍵引用

發布時間: 2021-03-14 21:56:28

A. Sql server 外鍵引用問題

上述關系B稱為外鍵關系表,也就是說B表是C表和A表的關聯表,你要向C 表中插入數據回當然關繫到A表啦。按道答理你在插入C表的同時,應該有一個和B表相關聯的的外鍵,也就是說你給C表插數據的同時,同時給B表插入了一個與C表相關聯的外鍵,根據B表這個外鍵,你又可以得到與A表相關聯的外鍵。只需插入A表相對應的外鍵即可。

B. 什麼是外鍵約束

外鍵約束是指用於在兩個表之間建立關系,需要指定引用主表的哪一列。

外鍵約束對子表如此檢查處理:

在子表上進行INSERT、UPDATE操作的限制是,要和主表中的主鍵值匹配,或為NULL,否則不允許。

外鍵約束對父表如此檢查處理:

在父表_上進行UPDATE、DELETE操作的限制,取決於在定義子表的外鍵時指定的ONUPDATE、ONDELETE子句(不同的DBMS支持的情況不盡相同)。眾ONDELETE子句各選項的作用:

1、NoACTION:刪除主表記錄,如果子表中有和主表匹配的記錄,則不允許(產生一個錯誤提示)。此為默認操作(不指定ONDELETE子句,系統自動採取的操作)。

2、CASCADE(級聯):刪除主表記錄,也將刪除子表中的匹配記錄。

3、SETNULL:刪除主表記錄,將子表中的匹配記錄的外鍵值改為NULL。

4、SETDEFAULT:刪除主表記錄,將子表中的匹配記錄的外鍵值改為默認值。眾ONUPDATE子句各選項的作用。

(2)約束外鍵引用擴展閱讀

外鍵的用途是確保數據的完整性。它通常包括以下幾種:

1、實體完整性,確保每個實體是唯一的(通過主鍵來實施)

2、域完整性,確保屬性值只從一套特定可選的集合里選擇

3、關聯完整性,確保每個外鍵或是NULL(如果允許的話)或含有與相關主鍵值相配的值。

約束的主要目的是控制存儲在外鍵表中的數據,但它還可以控制對主鍵表中數據的修改。例如,如果在 publishers 表中刪除一個出版商,而這個出版商的 ID 在 titles 表中記錄書的信息時使用了。

則這兩個表之間關聯的完整性將被破壞,titles 表中該出版商的書籍因為與 publishers 表中的數據沒有鏈接而變得孤立了。

FOREIGN KEY 約束防止這種情況的發生。如果主鍵表中數據的更改使之與外鍵表中數據的鏈接失效,則這種更改是不能實現的,從而確保了引用完整性。

如果試圖刪除主鍵表中的行或更改主鍵值,而該主鍵值與另一個表的 FOREIGN KEY 約束值相關,則該操作不可實現。

若要成功更改或刪除 FOREIGN KEY 約束的行,可以先在外鍵表中刪除外鍵數據或更改外鍵數據,然後將外鍵鏈接到不同的主鍵數據上去。

C. sql中怎樣創建外鍵約束

添加外鍵 ,alter table B

語法:alter table 表名 add constraint 外鍵約束名 foreign key(列名) references 引用外鍵表(列名)

如:

altertableStu_PkFk_Sc
addconstraintFk_s
foreignkey(sno)
referencesStu_PkFk_S(sno)

--cc是外鍵約束名,不能重復,也不能是int類型(如1,2,3)

add constraint cc

--B表裡的需要約束的欄位(id)

foreign key (id)

--A表後的(id)可省略

references A (id)

(3)約束外鍵引用擴展閱讀:

數據查詢語言,其語句,也稱為「數據檢索語句」,用以從表中獲得數據,確定數據怎樣在應用程序給出。保留字SELECT是DQL(也是所有SQL)用得最多的動詞,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。這些DQL保留字常與其他類型的SQL語句一起使用。

參考資料:結構化查詢語言_網路

D. SQL語句的外鍵約束

create table score
(課程號 int primary key ,
score int)
create table student
(學號 int primary key,
課程號 int,
foreign key (課程號) references score( 課程號))

--------------------------
公共關鍵字是 課程號
score 表中 的主鍵 課程號 是 student表中的非主鍵,所以score表中的課程號是表student的外鍵。

--- 如果公共關鍵字在一個關系中是主鍵,那麼這個公共關鍵字被稱為另一個關系的外鍵

E. 在SQL中如何創建外鍵約束

可以用創建關系圖的方式進行約束,步驟如下
企業管理器中打開資料庫,新建關系圖,選出自己所要的幾張表,然後將對應的外鍵用滑鼠連接到另一張表的主鍵上就行了

ps 環境 sql2000

F. SQL FOREIGN KEY 約束引用

下面是幫助文檔中的內容 { CHECK | NOCHECK} CONSTRAINT 指定啟用或禁用constraint_name。如果禁用,將來插入或更新該列時將不用該約束條件進行驗證。此選項只能與 FOREIGN KEY 和 CHECK 約束一起使用。 ALL指定使用 NOCHECK 選項禁用所有約束,或者使用 CHECK 選項啟用所有約束。 SQLServer臨時禁用和啟用所有外鍵約束 --獲得禁用所有外鍵約束的語句 select 'ALTER TABLE [' + b.name + '] NOCHECK CONSTRAINT ' + a.name +';' from sysobjects a ,sysobjects b where a.xtype ='f' and a.parent_obj = b.id --獲得啟用所有外鍵約束的語句

G. sql約束與外鍵

插入外鍵表外鍵列中的數據必須在主鍵表主鍵列里必須存在,否則會以上錯誤。lz注意下。

H. SQL菜鳥問題!「有外鍵約束引用的表」是什麼意思啊

被外鍵引用的表

I. 外鍵約束是怎麼使用的

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)

熱點內容
塗鴉論文 發布:2021-03-31 13:04:48 瀏覽:698
手機資料庫應用 發布:2021-03-31 13:04:28 瀏覽:353
版面217 發布:2021-03-31 13:04:18 瀏覽:587
知網不查的資源 發布:2021-03-31 13:03:43 瀏覽:713
基金贖回參考 發布:2021-03-31 13:02:08 瀏覽:489
懸疑故事範文 發布:2021-03-31 13:02:07 瀏覽:87
做簡單的自我介紹範文 發布:2021-03-31 13:01:48 瀏覽:537
戰略地圖參考 發布:2021-03-31 13:01:09 瀏覽:463
收支模板 發布:2021-03-31 13:00:43 瀏覽:17
電氣學術會議 發布:2021-03-31 13:00:32 瀏覽:731