一、什么是主鍵與外鍵?
這需要理清幾個概念:1)候選鍵:關系中的一個屬性組,其值能唯一標識一個元組,若從該屬性組中去掉任何一個屬性,它就不具有這一性質了,這樣的屬性組稱作候選碼。2)主鍵:當有多個候選碼時,可以選定一個作為主碼,選定的候選碼稱主鍵3)外鍵:關系R中的一個屬性組,它不是R的候選碼,但它與另一個關系S的候選碼相對應,則稱這個屬性組為R的外碼或外鍵。舉個例子:有兩個關系:student(s#,sname,d#),即學生這個關系有三個屬性:學號,姓名,所在系別dep(d#,dname),即院系有兩個屬性:系號、系名則s#、d#是主鍵,也是各自所在關系的唯一候選鍵,d#是student的外鍵。
二、數據庫屬性是什么意思
屬性就是你數據庫表里面的比如說id,username之類的東西...豎過來的一列叫屬性...橫過來的一行叫元組...
三、數據庫!!!創建兩個具有“一對多”關系的表之間的關聯,應當
給出的答案沒有正確的。
A) 通過紐帶表 -- 沒有紐帶表的概念。
B) 建立關聯只要屬性一樣,沒有必要字段名一樣。
C) 更沒有必要索引的同名字段。
D) 建立關聯不能用表達式,應該是屬性或屬性組,也叫字段或字段組,列或列組合。
正確答案:通過兩個表的相同屬性或屬性組,也可以說通過兩個表的同類字段或字段組。
四、sql中怎樣刪除有外鍵的字段
--刪除主鍵
alter table Stu_PkFk_S drop constraint PK_S
刪除SQL SERVER外鍵
alter table Stu_PkFk_Sc drop constraint FK_s
關系型數據庫中的一條記錄中有若干個屬性,若其中某一個屬性組(注意是組)能唯一標識一條記錄,該屬性組就可以成為一個主鍵
比如
學生表(學號,姓名,性別,班級)
其中每個學生的學號是唯一的,學號就是一個主鍵
課程表(課程編號,課程名,學分)
其中課程編號是唯一的,課程編號就是一個主鍵
成績表(學號,課程號,成績)
成績表中單一一個屬性無法唯一標識一條記錄,學號和課程號的組合才可以唯一標識一條記錄,所以 學號和課程號的屬性組是一個主鍵
成績表中的學號不是成績表的主鍵,但它和學生表中的學號相對應,并且學生表中的學號是學生表的主鍵,則稱成績表中的學號是學生表的外鍵
同理 成績表中的課程號是課程表的外鍵
