轉帖|使用教程|編輯:鮑佳佳|2020-08-27 16:16:49.343|閱讀 275 次
概述:遵循RDBMS的最佳實踐時,在設計數據庫以創建和強制執行引用完整性時要始終使用主鍵,這是數據質量和正確的關系數據庫設計的主要要求。在本教程中,我們提供有關主鍵及其功能的背景信息,并提供代碼示例來說明該理論。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
遵循RDBMS的最佳實踐時,在設計數據庫以創建和強制執行引用完整性時要始終使用主鍵,這是數據質量和正確的關系數據庫設計的主要要求。在本教程中,我們提供有關主鍵及其功能的背景信息,并提供代碼示例來說明該理論。
什么是MySQL中的主鍵?
主鍵(PK) 包括一列或列的組合,其作用是為表中的每個記錄提供唯一的標識符。主鍵背后的要點如下:
–一個表只能有一個主鍵,但它可以是由多列組成的Composite Key。
–因為它唯一地標識表中的每一行,所以主鍵列不能具有NULL值。
–主鍵列必須包含唯一值。如果主鍵是復合鍵,則主鍵列中的值組合必須唯一。
– 整型是主鍵列的最佳選擇,因為MySQL處理整數的速度更快。
主鍵是數據庫規范化的基石。我們需要主鍵的主要原因是為了確保數據完整性并防止數據庫中的數據冗余。主鍵的主要目的 是實現數據庫中兩個表之間的關系。關系數據庫必須具有PK才能將父表與子表相關聯,因為父表主鍵已作為其外鍵(FK)遷移到子表 。如果數據庫中的表與其他任何表都不相關,則不需要主鍵。
MySQL或MariaDB數據庫上缺少主鍵說明數據庫設計很差,因為它導致:
–性能不佳
–重命名數據列會影響其他表
–復制失敗等。
這兩個唯一鍵和主鍵保證了一列的唯一或一組其所定義的列。在 主鍵約束中有一個自動定義的 唯一鍵約束。但是,一個表可以有幾個 唯一性約束,但只有一個 主鍵約束。與主鍵不同,唯一鍵接受NULL值(每個表一個)。
唯一鍵可確保該列中的值在整個表格中都是唯一的。如果您嘗試添加重復記錄,則會收到錯誤消息。在下面的屏幕截圖中,您可以看到我們嘗試在表中添加重復記錄后在dbForge Studio for MySQL中收到的錯誤通知。
主鍵和外鍵之間的區別
一個外鍵包含一列或在用于連接兩個表的數據庫表中的一組列。通常,子表中的外鍵列是父表中的主鍵。與主鍵和唯一鍵不同,外鍵可以接受多個NULL值。一個表中可以有多個 外鍵。要考慮的另一個重要區別是外鍵不會自動創建聚簇索引或非聚簇索引的事實。您必須手動在外鍵上創建索引。
在下面的屏幕快照中,表actor具有“主鍵”列actor_id,而表電影又具有“主鍵”列film_id。列 actor_id 和 film_id的形式外鍵FILM_ACTOR表。
該圖表示dbForge Studio for MySQL的數據庫設計功能,該功能可幫助您輕松完成從數據庫結構可視化到主鍵和外鍵配置的各種數據庫任務。
如何在MySQL中使用主鍵創建表
通常,表的主鍵在CREATE TABLE語句中定義。用于創建具有主鍵的表的MySQL語法如下:
CREATE TABLE table_name ( column1 column_definition, column2 column_definition, ... CONSTRAINT [constraint_name] PRIMARY KEY [ USING BTREE | HASH ] (column1, column2, ... column_n) );
下面的屏幕截圖展示了一個在dbForge Studio for MySQL的幫助下在MySQL中使用主鍵創建表的示例。除其他功能外,IDE允許立即獲取快速的對象信息和語法檢查。
如何在MySQL中向現有表添加主鍵
您可以使用ALTER TABLE語句將主鍵添加到表中。用于向現有表添加主鍵的MySQL語法如下:
ALTER TABLE table_name ADD CONSTRAINT [ constraint_name ] PRIMARY KEY [ USING BTREE | HASH ] (column1, column2, ... column_n)
下面的屏幕快照演示了一個有效的示例,該示例是在dbForge Studio for MySQL的幫助下向MySQL中的現有表添加主鍵的。
如何在MySQL中刪除主鍵
要從表中刪除主鍵,可以使用ALTER TABLE語句。從表中刪除主鍵的語法如下:
ALTER TABLE table_name DROP PRIMARY KEY;
請參見屏幕截圖,以獲取在dbForge Studio for MySQL的幫助下從MySQL表中刪除主鍵的工作示例。它的智能單詞和短語補全功能有助于更快,更準確地編碼。
使用可視化數據庫圖管理主鍵
dbForge Studio for MySQL允許在方便的界面中操作MySQL和MariaDB主鍵以及外鍵,而無需編寫任何代碼。要在表上添加,刪除或更改MySQL主鍵:
1.右鍵單擊要向其添加主鍵或外鍵的圖上的表。
2.從出現的上下文菜單中,選擇要執行的操作。
3.在打開的“配置”窗口中,您可以添加,刪除或更改主鍵或外鍵設置。
結論
可以創建沒有主鍵的數據庫表嗎?在MySQL中,不需要每個表都具有主鍵。但這也不代表應該創建沒有主鍵的數據庫。dbForge Studio for MySQL是MySQL和MariaDB數據庫開發和管理的通用GUI工具,極大地簡化了處理主鍵約束的過程。慧都作為Deva授權合作商,現dbForge Studio for MySQL正版授權低至1026元!包含多種授權方式供你選擇。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: