2015-08-17 50 views
0

比如我有2個表即父表及兒童表在創建2個表格之間的關係時應該連接什麼?

父表

parent_id

name

然後,我有兒童表

children_id

name

然後,表關係

relationship_id

child_id

father_idfather_name?

mother_idmother_name?

如果我想創建2個表格之間的關係,表明childrenparents我該鏈接什麼?

我應該創建一個名爲例如father_id場得到父母或father_name的唯一ID來獲得關係表的直接鏈接,父親的名字,如果我想獲得父親的名字?

+1

但是,你寫的例子,我會去與一個人的表?你是否期望一個孩子擁有多於一個的父親或多於一個的母親?當孩子長大並有自己的孩子時會發生什麼?你會將它的數據從子表複製到父表嗎? –

+0

哦,對不起。這只是一個簡單的例子,以適用我的問題。但我主要關心的是,是否使用parent_id或parent_name直接將其鏈接到父母的名稱。 –

+0

你應該(至少在某些情況下,如果不是所有的數據庫都是你唯一的選擇)始終使用主鍵進行關係。至少關係的一方需要連接到表的主鍵。 –

回答

1

您應該(並且至少在某些(如果不是所有的數據庫中,這是您唯一的選擇)始終使用主鍵進行關係。
至少關係的一方需要連接到表的主鍵。爲什麼你需要一個關係表中所有

TblPerson 
(
    Person_Id, -- Primary key 
    Person_FirstName, 
    Person_LastName, 
    Person_Mother_Id, -- Self reference FK 
    Person_Father_Id -- Self reference FK 
) 
相關問題