1. sql server的主鍵、外鍵……等五大鍵的作用和區別
主鍵就是可以唯一標示的,比如你的身份證號就是可以做主鍵,因為它一定唯一標示你,而你的姓名不能是主鍵,因為有重名的,不能唯一標示你。外鍵就是和你有關系,但唯一標示的卻是別人,比如你愛人的身份證號,當然這樣比喻不很貼切,只是好理解而已。
2. sql中設置主鍵的作用
聯合主鍵就是用2個或2個以上的欄位組成主鍵。用這個主鍵包含的欄位作為主鍵,這個組合在數據表中是唯一,且加了主鍵索引。
可以這么理解,比如,你的訂單表裡有很多欄位,一般情況只要有個訂單號bill_no做主鍵就可以了,但是,現在要求可能會有補充訂單,使用相同的訂單號,那麼這時單獨使用訂單號就不可以了,因為會有重復。那麼你可以再使用個訂單序列號bill_seq來作為區別。把bill_no和bill_seq設成聯合主鍵。即使bill_no相同,bill_seq不同也是可以的。
3. SQL中主鍵和外鍵的定義是什麼
通俗的說吧
先說說主鍵(primary
key)吧:一張表(關系)的一個列(屬性)或多個列可以作為主鍵,但是前提是讓這個列作主鍵,這個列就能保證該列下的各個行(元組)的值不能相同,比如說你用姓名屬性作主鍵的話,那麼這個主鍵就不一定可以,如果有兩個人是同樣的名字的話,就不能做到該屬性下的各個元組數據的值不同,如果用阿拉伯數字作主鍵就是一個很好的選擇。
再說說外鍵(foreign
key):一張表(關系)的列(屬性)它同時存在表1和表2中,它不是表1的主鍵,而是表2的主鍵,就可以說他是表1的外鍵。
那麼什麼是候選鍵(Candidate
Key)呢:能唯一標識表(關系)中行(元組)的列(屬性),則稱該屬性為候選鍵,也稱
候選關鍵字
或
候選碼;由此來看候選鍵可以不只一個,還看一看得出的就是主鍵同時它也是候選鍵
4. SQL 2005 中的主鍵和外鍵怎麼理解有沒有使用的例子
這需要理清幾個概念:
1)候選鍵:
關系中的一個屬性組,其值能唯一標識一個元組,若從該屬性組中去掉任何一個屬性,它就不具有這一性質了,這樣的屬性組稱作候選碼。
2)主鍵:當有多個候選碼時,可以選定一個作為主碼,選定的候選碼稱主鍵
3)外鍵:
關系R中的一個屬性組,它不是R的候選碼,但它與另一個關系S的候選碼相對應,則稱這個屬性組為R的外碼或外鍵。
舉個例子:有兩個關系:
student(s#,sname,d#),即學生這個關系有三個屬性:學號,姓名,所在系別
dep(d#,dname),即院系有兩個屬性:系號、系名
則s#、d#是主鍵,也是各自所在關系的唯一候選鍵,d#是student的外鍵。參考資料:資料庫——原理、編程與性能
5. SQL中主鍵的使用
主鍵是數據完整性的保障之一,具體說是實體完整行,主鍵不允許為空也不能知重復。
假如你做了一個員工表格
有一列是身份證號
如果這個人沒有身份證號,那麼你就是雇黑工,如果有兩個人身份證號相同,那麼一個人是偽造的身份。哈道哈
所以正常情況下這兩種情況都不允許出現。這是你只要給身份號這一列設置了主鍵,那麼你插入或者修改數據時,資料庫管理系統就會自動要求他們不版能為空也不能有兩條記錄的號碼相同。
這就是主鍵的作用
你那個id
是個標識列,dbms會自動為他賦值,而且保證其唯權一性,所以你就不用給他賦值了
6. 請問SQL server 中的主鍵和外鍵的作用
主鍵:唯一標識一條記錄,不能有重復的,不允許為空;外鍵:表的外鍵是另一表的主鍵,
外鍵可以有重復的,
可以是空值。
主鍵的作用是用來保證數據完整性,主鍵只能有一個。比如,一條記錄包括身份正號,姓名,年齡。身份證號是唯一能確定你這個人的,其他都可能有重復,所以,身份證號是主鍵。
外鍵的作用是用來和其他表建立聯系用的,一個表可以有多個外鍵。比如,A表中的一個欄位,是B表的主鍵,那他就可以是A表的外鍵。
7. SQL中主鍵的作用是什麼外鍵的作用是什麼
定義主鍵和外鍵主要是為了維護關系資料庫的完整性,總結一下:
一、主鍵是能確定一條記錄的唯一標識,比如,一條記錄包括身份正號,姓名,年齡。身份證號是唯一能確定你這個人的,其他都可能有重復,所以,身份證號是主鍵。
外鍵用於與另一張表的關聯。是能確定另一張表記錄的欄位,用於保持數據的一致性。比如,A表中的一個欄位,是B表的主鍵,那他就可以是A表的外鍵。