-
1.主鍵對使用者來說應該沒有意義。 如果使用者在表示多對多關係的聯接表中看到資料,並抱怨它沒有用,則這是其主鍵的良好設計。
2.從不更新主鍵。 事實上,由於主鍵除了唯一標識行之外沒有其他用途,因此沒有理由更新它。
如果需要更新主鍵,則違反了主鍵對使用者無意義的原則。 3.主鍵不應包含動態變化的資料,例如時間戳、建立的時間列或修改的時間。
4.主鍵應由計算機自動生成。 如果乙個人干預主鍵的建立,它將具有唯一行以外的含義。
一旦越過這條線,可能會有改變主鍵的動機,這樣系統用來鏈結和管理記錄行的金鑰手段就會落入不了解資料庫設計的人手中。
主鍵的目的是與其他表關聯,小系統推薦,但大系統不建議設定主鍵,也不建議設定外來鍵、觸發器和儲存過程! 因為大系統的資料海量,設定這些東西會讓系統變得異常緩慢(一般是幾何基數的增長,比如用主鍵和外來鍵備份10萬條記錄需要1分鐘,上公升到100萬條需要20多分鐘,如果更多的話, 他們將無法處理,一些大型系統還需要設定資料倉儲與業務資料分離(即定期將業務資料匯入資料倉儲進行特殊查詢服務,常規業務將保留在業務資料庫中)。否則,如果不設定它們,這些東西將無法正常工作),並且這些資料庫功能應留給客戶端或中介軟體。
-
自動遞增是稱為 main 關鍵字的主鍵數的自動計數,它唯一標識表中自動增長的某個專案。 設定此屬性後,將資料插入欄位時,該字段將自動寫入 1。
-
什麼是“主鍵”?
在 SQL Server 中,主鍵是表中的約束。 此約束只能有乙個表,一般用作 id,此約束通常用作對其他約束的外來鍵引用。 這個約束的作用是不可重複,保證了唯一性,也正是這個特性,讓大多數人把它作為表中的id欄位。
什麼是主鍵和外來鍵?
有幾個概念需要梳理:
1)候選鍵:關係中的乙個屬性組,其值可以唯一標識乙個元組,如果從屬性組中刪除任何屬性,則它沒有這個屬性,這樣的屬性組稱為候選程式碼。
2)主鍵:當有多個候選碼時,可以選擇乙個作為主碼,選定的候選碼稱為主鍵。
3)外來鍵:乙個與R相關的屬性組,它不是R的候選程式碼,而是對應另乙個關係S的候選程式碼,那麼這個屬性組就叫R的外碼或外來鍵。
例如:有兩種關係:
Student(s,sname,d),即學生之間的關係有三個屬性:學號、姓名和部門。
dep(d,dname),即部門有兩個屬性:部門編號和部門名稱。
那麼 s 和 d 是它們各自關係的主鍵和唯一候選鍵,d 是 stu 的外來鍵。
-
主外來鍵和外來鍵約束。
主鍵。 主鍵:一列(或一組列),其值唯一區分表中的每一行。
外來鍵。 外來鍵 外來鍵是表中的一列,它包含另乙個表的主鍵值,並定義兩個表之間的關係。
什麼是外來鍵約束。
右邊的 departmentid 是外來鍵。 外來鍵約束用於在兩個表之間建立關係,並且需要指定要引用主表的列。
on delete
on delete 的可能值如下:no action、cascade、set null 和 restrict。 1.
無操作限制 如果該值設定為“無操作”或“限制”,則在刪除父表(主表)(即外來鍵的**表)中的記錄時,首先檢查該記錄對應的從表是否有對應的外來鍵,如果有,則不允許刪除。 2.級聯(Cascade) 如果值為級聯,則在刪除父表(主表)(即外來鍵的**表)中的記錄時,檢查該記錄是否有外來鍵,如果有,則刪除子表(即包含外來鍵的表)中的記錄。
一起刪除) 3set null 如果值設定為 null,則在刪除父表(即外來鍵的 ** 表)中對應的記錄時,首先檢查該記錄是否有對應的外來鍵,如果有,則將子表中的外鍵值設定為 null(但這需要允許外來鍵取 null)。
on update
on update 的可能值如下:no action、cascade、set null、restrict。 (更新的是外來鍵的值)。
無操作限制 如果值為no action或restrict,則在父表(即外來鍵的**表)中更新對應的記錄時,首先檢查該記錄是否有對應的外來鍵,如果有,則不允許更新。
級聯(Cascade) 如果值為級聯,則在更新父表(即外來鍵的**表)中對應的記錄時,首先檢查該記錄是否有對應的外來鍵,如果有,則同時更新子表(即包含外來鍵的表)中外鍵的記錄。
set null 如果值設定為 null,則在父表(即外來鍵的 ** 表)中更新對應的記錄時,首先檢查該記錄是否有對應的外來鍵,如果有,則將子表中的外鍵值設定為 null(但這需要外來鍵允許 null)。
-
主鍵或主關鍵字是為為表選擇的行唯一標識的候選關鍵字。
乙個表只有乙個主關鍵字。 primary 關鍵字也可以稱為主鍵。 主鍵可以由單個欄位或多個欄位的組合組成,分別稱為單字段主鍵或多字段主鍵。
也稱為主程式碼。 它可以唯一地確定表中的一行資料,也可以唯一地確定乙個實體。
其值用於唯一標識表中的記錄。 在兩個表之間的關係中,在乙個表中使用 primary 關鍵字來引用另乙個表中的特定記錄。 並且 main 關鍵字的列不能包含 null 值。
primary 關鍵字是可選的,可以在 create table 或 alter table 語句中定義。
-
主鍵中的每個專案都是 ** 中的唯一值。 換句話說,它用於唯一標識**中的每一行資訊。 主鍵可以是原始資料中的字段,也可以是人工字段(與原始資料無關的字段)。
主鍵可以包含一列或多列。 當乙個主鍵包含多個欄位時,它被稱為復合鍵。
可以在建立新主鍵(使用 Create Table 語句)或通過更改現有架構(使用 alter table)來設定主鍵。
-
1.保證實體的完整性,加快資料庫執行速度,在向表中新增記錄時,access會自動檢查新記錄的主鍵值,不允許該值與主鍵值重複。 訪問許可權自動顯示,按主鍵值排序。 如果沒有約束,則它們將按使用者輸入資訊的順序顯示。
主鍵不接受 null 值,約束確保資料唯一。
2.外來鍵保證了資料的完整性。 外來鍵:一組資料的主鍵是另一組資料的元素; 主鍵限制外來鍵所在的表中不能有主鍵類以外的值。 外來鍵用於與另乙個表關聯。
是標識另乙個表記錄的字段,用於維護資料一致性。 例如,如果表 A 中的某個欄位是表 B 的主鍵,則它可以是表 A 的外來鍵。
-
主鍵保證資料的唯一性,外來鍵保證資料的完整性。 主鍵限制外來鍵所在的表中不能有主鍵類以外的值。
外來鍵限制了如果外來鍵表中有對應的記錄,則不能刪除主鍵所在的表中的記錄,除非使用級聯刪除。 修改也是如此。 讓我們舉乙個簡單的例子。
在表 A 中,有列 C1 主鍵。
在表 B 中,C2 列中有乙個外來鍵。
點 C2 至 C1
因此,當您將資料插入到表 B 中時,C2 的內容必須是 C1 之一,並且需要設定幾個約束。
例如,當您刪除或修改表 A 中的字段時,如何處理表 B 中關聯的資料?
-
主鍵:是可以唯一標識一組資料的資料元素; 例如,學號、姓名、年齡、性別、課程號是唯一的,因此可以將其設定為主鍵; 外來鍵。
一組資料的主鍵是另一組資料的元素; 例如:課程名稱、課程編號、老師,在這個組中,可以設定課程編號作為主鍵,此時課程編號是上一組的元素,而下乙個組的主鍵,可以稱之為外來鍵;
-
amzkqi
專注於主鍵和外來鍵是將多個表繫結到有效關聯式資料庫中的粘合劑。 主鍵和外來鍵的設計對物理資料庫的效能和可用性具有決定性的影響。
資料庫架構必須從理論邏輯設計轉換為實際物理設計。 主鍵和外來鍵的結構是這個設計過程的關鍵。 一旦資料庫被設計用於生產,就很難修改這些金鑰,因此在開發階段設計主金鑰和外金鑰是必要且值得的。
-
SQL的主鍵和外來鍵是什麼:
外鍵值規則:引用的空值或主鍵值。
1) 如果要插入非 null 值,則如果它不在主鍵表中,則無法插入它。
2)更新時,無法更改主鍵表中沒有的值。
3)刪除主鍵表記錄時,可以選擇要一起刪除的外來鍵記錄,也可以在建立外來鍵時拒絕一起刪除。
4) 更新主鍵記錄時,還可以選擇級聯更新和拒絕執行。
SQL 的主鍵和外來鍵是約束。
-
分類: 計算機網路 >> 程式設計>> 拆分其他程式語言 分析:唯一表示資料表中每條記錄的字段或字段組合稱為主程式碼(主鍵)。
主鍵唯一標識表中的每條記錄,但這只是其角色的一部分,主鍵的主要用途是將記錄與儲存在其他表中的資料相關聯。 此時,主鍵是不同表中記錄之間的簡單指標。 因此,主鍵的值對使用者沒有意義,並且與它應該分配的值沒有特別的相關性。
從每個表中選擇主鍵時,開發人員必須遵循以下幾條規則:
主鍵必須唯一標識每條記錄。
對於春季避難所,不能關閉記錄的主鍵。
生成記錄時,主鍵的值必須存在。
主鍵必須保持穩定 無法更改主鍵的域。
主鍵必須簡潔明瞭,並且不能包含過多的屬性。
無法更改主鍵的值。
請注意,上面列表中的“必須”不是“也許”或“大多數時候必須”是絕對的,但這並不意味著您不能違反此規則。 如果你要打破這個規則,那只是意味著你的程式無法連線到關聯式資料庫。 有關關聯式資料庫模型、主鍵、標準化等的更多資訊,請訪問以下部分
Fetion是手機公司的動態冰雹書推出的活動,只要你的手機或電腦**相關的客戶滑動餘額賬戶就可以直接使用。 他可以傳送訊息或語音聊天,傳送訊息是扣除正常的資訊費(電腦訊息是不扣除費用的),而語音聊天是扣除通訊費用。 >>>More
愛可以在一秒鐘內產生,但愛需要一生才能完成。 愛:要理解,也要解開; 要道歉,也要感謝; 我們必須承認我們的錯誤並糾正它們; 體貼體貼,接納不忍耐,寬容不縱容; 它是支援,而不是統治; 這是乙個哀悼,而不是乙個問題; 它是傾訴,而不是指責,令人難忘而不是忘記; 這是關於彼此的溝通,而不是關於一切: >>>More
盲文字元
盲文中的尺子這個詞是盲目的。 也有人說,盲文字被詳細解釋,即盲文,盲人的靈孔文字。 字母由突出點的不同排列組成,因此得名。 >>>More