約束:顧名思義就是一種限制,在表或列的層次設置約束,確保數據的有效性和完整性。
SQL server中約束的主要分類:
UNIQUE 約束(唯一性約束) |
防止一個特定的列中兩個記錄具有相同的值。可設置多個 |
CHECK 約束(核查約束) |
通過檢查一個或多個字段的輸入值是否符合 設定的檢查條件 來強制數據的完整性。 |
Not Null 約束 |
確保列必須具有一個值,否則記錄不能插入 |
PRIMARY?? KEY約束(主鍵約束) |
只能有一個主鍵約束,是 UNIQUE 約束和 NOT NULL 約束的組合 |
FOREIGN KEY 約束(外鍵約束) |
外鍵約束定義了表之間的關系 |
?
在所有的約束當中, PRIMARY KEY約束是最常用、最重要的。要理解應用主外鍵約束,還是要把主外鍵含義搞懂才行。
主鍵:是一個或多個字段,能唯一標識數據庫表中的每個記錄。
外鍵:包含另一個表中的主鍵值,能確定另一個表記錄的字段,用于保持數據的一致性 。
比如:
學籍表(學號,姓名,性別,班級,電話)
其中每個學生的學號是唯一的,學號就是一個主鍵;
?
課程表(課程編號,課程名,地點)
課程編號是唯一的,它就是一個主鍵;
?
有時只靠一個字段不足以唯一標識一條記錄,例如:
成績表(學號,課程編號,成績,姓名)
成績表中的任何一個字段都無法唯一標識一條記錄,學號和課程編號的組合才可以唯一標識一條記錄,所以學號和課程編號的組合才是一個主鍵。
成績表中的學號不是成績表的主鍵,但是它和學籍表中的學號相對應,且學籍表中的學號是學籍表的主鍵,這時則稱成績表中的學號是學籍表的外鍵;同理成績表中的課程編號是課程表的外鍵。
?
理解了主外鍵后,運用起來才會得心應手。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
