當前位置:首頁 » 操作系統 » 資料庫外鍵的作用

資料庫外鍵的作用

發布時間: 2022-12-17 03:39:12

1. 資料庫中外鍵的概念及作用是什麼

如果公共關鍵字在一個關系中是主關鍵字,那麼這個公共關鍵字被稱為另一個關系的外鍵。由此可見,外鍵表示了兩個關系之間的聯系。以另一個關系的外鍵作主關鍵字的表被稱為主表,具有此外鍵的表被稱為主表的從表。外鍵又稱作外關鍵字。

外鍵的作用就是可以讓表B是來自表A中,也就是保證了數據的規范性;如果要刪除A表中的某個數據,那麼首先要刪除B表中同樣的數據,這保證了數據的完整。

2. 外鍵的作用

資料庫中外鍵的作用。多多了解這方面的內容,對建立資料庫影響還是相當大的,我們應該好好的學習他了解他才能更好的掌握的。
外鍵 (FK) 是用於建立和加強兩個表數據之間的鏈接的一列或多列。通過將保存表中主鍵值的一列或多列添加到另一個表中,可創建兩個表之間的鏈接。這個列就成為第二個表的外鍵。

FOREIGN KEY 約束的主要目的是控制存儲在外鍵表中的數據,但它還可以控制對主鍵表中數據的修改。例如,如果在 publishers 表中刪除一個出版商,而這個出版商的 ID 在 titles 表中記錄書的信息時使用了,則這兩個表之間關聯的完整性將被破壞,titles 表中該出版商的書籍因為與 publishers 表中的數據沒有鏈接而變得孤立了。FOREIGN KEY 約束防止這種情況的發生。如果主鍵表中數據的更改使之與外鍵表中數據的鏈接失效,則這種更改是不能實現的,從而確保了引用完整性。如果試圖刪除主鍵表中的行或更改主鍵值,而該主鍵值與另一個表的 FOREIGN KEY 約束值相關,則該操作不可實現。若要成功更改或刪除 FOREIGN KEY 約束的行,可以先在外鍵表中刪除外鍵數據或更改外鍵數據,然後將外鍵鏈接到不同的主鍵數據上去。

外鍵只能引用外表中的列的值!

外鍵的作用:

保持數據一致性,完整性,主要目的是控制存儲在外鍵表中的數據。 使兩張表形成關聯,就是當你對一個表的數據進行操作,和他有關聯的一個或更多表的數據能夠同時發生改變。

例如一:

a b 兩個表

a表中存有客戶號,客戶名稱

b表中存有每個客戶的訂單

有了外鍵後

你只能在確信b 表中沒有客戶x的訂單後,才可以在a表中刪除客戶x。

例如二:

例如有兩個表

A(a,b) :a為主鍵,b為外鍵(來自於B.b)

B(b,c,d) :b為主鍵

如果我把欄位b的外鍵屬性去掉,對編程沒什麼影響。

如上面,A中的b要麼為空,要麼是在B的b中存在的值,有外鍵的時候,資料庫會自動幫你檢查A的b是否在B的b中存在。

1、外建表達的是參照完整性:這是數據固有的,與程序無關。因此,應該交給DBMS來做。

2、使用外建,簡單直觀,可以直接在數據模型中體現,無論是設計、維護等回有很大的好處,特別是對於分析現有的資料庫的好處時非常明顯的--前不久我分析了一個企業現有的資料庫,裡面的參照完整性約束有的是外鍵描述,有的是用觸發器實現,感覺很明顯。當然,文檔里可能有,但是也可能不全,但是外鍵就非常明顯和直觀。

3、既然我們可以用觸發器或程序完成的這個工作(指參照完整性約束),DBMS已經提供了手段,為什麼我們要自己去做?而且我們做的應該說沒有RDBMS做得好。實際上,早期的RDBMS並沒有外鍵,現在都有了,我認為資料庫廠商增加這個功能是有道理的。從這個角度來說,外鍵更方便。

4、關於方便,根據我帶項目的情況來看,程序員確實有反映,主要是在調試時輸入數據麻煩:如果數據可以違反參照完整性,那麼就是說參照完整性本身就不對名譽業務沖突,此時也不應該用觸發期貨程序實現;否則,說明數據是錯誤的,根本就不應該進入資料庫!而且,這也應該是測試系統的一個內容:阻止非法數據。實際上,前台程序應該對這種提交失敗做出處理。數據是企業的而非程序的,儲程序要盡量與數據分離,反之亦然。

3. 資料庫中主鍵和外鍵是幹嘛用的

主鍵是表格里的(一個或多個)欄位,只用來定義表格里的行;主鍵里的值總是唯一的。外鍵是一個用來建立兩個表格之間關系的約束。
建立外鍵後,在插入數據時候會檢測數據在主鍵表中是否存在,如果不存在則無法插入,通過這可以提高維護資料庫的完整性和一致性

簡單點兒說
主鍵是對表的約束,保證數據的唯一性!
外鍵是建立表於表之間的聯系,方便程序的編寫!

4. 很菜的資料庫問題,主鍵的值允許重復嗎外鍵什麼作用

主鍵的值不能重復。
外鍵主要目的是控制存儲在外鍵表中的數據。 使兩張表形成關聯,外鍵只能引用外表中的列的值或使用空值。

主鍵是用來唯一表示一條數據的值,不能重復的。比如,一條記錄包括身份正號,姓名,年齡。身份證號是唯一能確定你這個人的,其他都可能有重復,所以,身份證號是主鍵。

外鍵用於與另一張表的關聯。是能確定另一張表記錄的欄位,用於保持數據的一致性。比如,A表中的一個欄位,是B表的主鍵,那他就可以是A表的外鍵。

(4)資料庫外鍵的作用擴展閱讀:

資料庫中的表必須符合規范,才能杜絕數據冗餘、插入異常、刪除異常等現象。規范的過程是分解表的過程。經過分解,伺一事物的代表屬性出現在不同的表中。顯然,它們應該保持一致。

例如,某學生的代表數據是學號012,在學生表裡是012,在成績表裡也應該是012。這種一致性由外鍵實現。外鍵的功能是:它的值一定是另一個表的主鍵值。學號在學生表裡是主鍵,在成績表裡是外鍵。成績表裡的學號一定要是學生表裡的學號。

於是,學生表裡的學號和成績表裡的學號就一致了。可以直觀地理解,外鍵的功能是實現同一事物在不同表中的標志一致性。

5. 資料庫中的外鍵有用嗎

當然有用了.

有兩個表.
表1:(存放的是用戶資料)
包含3列:id,姓名,性別
表2:(存放的是的成績)
包含3列:userid,課程,成績.
外鍵關系:
表2.userid==表1.id

當你在表2中插入成績時,資料庫會自動檢查用戶是否在表1中存在.
如果外鍵有級聯刪除時刪除表1的用戶時,會同時自動刪除表2的相關數據.

6. 主鍵和外鍵的作用

主鍵和外鍵的作用:

1、保證實體的完整性,加快資料庫操作速度,在表中添加記錄時,access會自動檢查新記錄主鍵值,不允許該值與主鍵值重復。access會自動按主鍵值排序好的顯示出來。如果沒有約束,則是按照用戶輸入信息的順序顯示出來。主鍵不接受空值,約束確保唯一數據。

2、外鍵保證的是數據的完整性。外鍵:一組數據的主鍵是另一組數據的的元素;主鍵約束了外鍵所在表中不能存在主鍵類之外的值;外鍵用於與另一張表的關聯。是能確定另一張表記錄的欄位,用於保持數據的一致性。比如,A表中的一個欄位,是B表的主鍵,就可以是A表的外鍵。

(6)資料庫外鍵的作用擴展閱讀:

主鍵和外鍵的注意事項:

1、主鍵默認非空,默認唯一性約束,只有主鍵才能設置自動增長,自動增長一定是主鍵,主鍵不一定自動增長;

設置主鍵的方式:在定義列時設置:ID INT PRIMARY KEY;在列定義完之後設置:primary KEY(id)、

2、只有INNODB的資料庫引擎支持外鍵,修改my.ini文件設置default-storage-engine=INNODB 外鍵必須與參照列的數據類型必須相同(數值型要求長度和無符號都相同,字元串要求類型相同,長度可以不同)。

設置外鍵的語法:CONSTRAINT 外鍵名 FOREIGN KEY (外鍵欄位)REFERENCES 參照表 (參照欄位) ON DELETE SET NULL ON UPDATE CASCADE 設置參照完整性。

3、外鍵約束的參照操作:

RESTRICT拒絕參照表刪除或更新參照欄位;

RESTRICT和NO ACTION相同,但這個指令只在mysql生效;

CASCADE刪除或更新參照表的參照欄位時,外鍵表的記錄同步刪除更新;

SET NULL 刪除或更新參照表的參照欄位時,外鍵表的外鍵設為NULL。

熱點內容
優酷怎麼給視頻加密 發布:2025-05-14 19:31:34 瀏覽:633
夢三國2副本腳本 發布:2025-05-14 19:29:58 瀏覽:859
phpxmlhttp 發布:2025-05-14 19:29:58 瀏覽:432
Pua腳本 發布:2025-05-14 19:24:56 瀏覽:448
蘋果像素低為什麼比安卓好 發布:2025-05-14 19:13:23 瀏覽:459
安卓機微信怎麼設置紅包提醒 發布:2025-05-14 19:00:15 瀏覽:271
androidsystem許可權設置 發布:2025-05-14 18:56:02 瀏覽:970
mq腳本 發布:2025-05-14 18:45:37 瀏覽:25
仙境傳說ro解壓失敗 發布:2025-05-14 18:45:01 瀏覽:868
betweenand的用法sql 發布:2025-05-14 18:39:25 瀏覽:250