2010-12-01 82 views
2

林之中一組的同學創建關係MySQL數據庫的工作,結合PHP使用。的MySQL/PHP數據庫規範化

我們正試圖將數據庫規範化和意見都不同。當正常化和創建組的新表中的兩個,包括我自己感覺最好的做法是在現有的表中留下的外鍵的後面作爲新表中的唯一標識符將成爲新的PK。

該小組的其餘成員已被教導/認爲這應該以其他方式實施,即主鍵被留下。

難道這樣的情況,只要有關係存在時,它會做的工作,或者是它的一種方法是比其他正確的情況下。

在此先感謝

加里

+0

這將更好地問道programmers.stackexchange因爲這是一個觀點的問題。 – helloandre 2010-12-01 22:38:59

+1

請舉個例子。從你的描述中不清楚哪張表應該引用哪個。 – cdhowie 2010-12-01 22:40:20

回答

1

這取決於你在做什麼。當您要刪除的部分依賴,則規則是:

 
    r = (A, B, C, D) 
    where 
     A and B makes a composite primary key and 
     C is dependent on A 
    then 
     r1 = (A, C) 
     r2 = (A, B, D) 

如果要刪除一個傳遞依賴,則:

 
    r = (A, B, C) 
    where A is the primary key and C is dependent on B then 

    r1 = (A, B) 
    r2 = (B, C)