2014-09-12 76 views
0

我有兩個表:候選鍵和主鍵是什麼?

tblTrip (primaryKey: tripNo) 
tblPerson (primaryKey: personID) 

這些2和表之間的關係是N:N

所以有關係表:tblParticipateIn(tripNo,PERSONID ...)

1 - 表格的候選鍵是什麼?

2-表的主鍵是什麼?

+1

您是否在候選鍵的定義以及候選鍵和主鍵之間的區別? – 2014-09-12 12:59:27

回答

-2

在tblParticipateIn主鍵是: tripNO和PERSONID由於兩個組合必須是獨一無二的

候選鍵都: tripNO和PERSONID,它們都是任選的,因爲主鍵。

閱讀更多信息:

http://blog.sqlauthority.com/2009/10/22/sql-server-difference-between-candidate-keys-and-primary-key-2/

+0

我可以對tblParticipateIn中的每個密鑰分別進行說明嗎? tripNo例如,我可以說這是一個候選鍵 – Hanin 2014-09-12 13:07:39

+0

tripNO和personID都是單獨的外鍵。他們引用他們主要的表格。所以tripNO指的是tblTrip,而personID指的是tblPerson。 然而,他們也是tblParticipateln的主要關鍵 – Sliver2009 2014-09-12 13:09:59

+0

@Hanin&Sliver2009:這個答案沒有意義,因爲它自相矛盾,說這個組合是一個PK,每個都可以是一個PK。但無論如何這兩種說法都是錯誤的,請參閱Mike Sherrill的「貓召回」的答案。此外,鏈接是錯誤的:CK必須是不包含較小的唯一列集的唯一列集。 (儘管一個SQL PK [sic]聲明實際上只聲明唯一性,而不是關係意義上的CK或PK。) – philipxy 2014-09-20 23:01:46

0

ANS1-tripNo,PERSONID都是候選鍵 ANS2-tripN

+0

你錯了,tblParticipateIn中的tripNO和personID的組合是主鍵。他們都必須是獨一無二的。這是一個n-n關係 – Sliver2009 2014-09-12 13:04:30

1

這是不可能完全回答你的問題不知道你已經列遺漏了 - 由...表示的那些 - 以及它們的依賴關係。

在大多數情況下,,一對{tripNo,personID}列是一個候選鍵;可能會有更多的候選鍵。一對列{tripNo,personID}是最可能的主鍵。