2012-03-11 144 views
1

我正在學習UML以爲類項目建模數據庫。基本上數據庫是用於社交網絡的。這些表格是用戶,朋友,個人資料,狀態,wall_posts和評論。我在確定確切的關係方面遇到了一些麻煩。乍一看,似乎所有的表格都具有不同多樣性的組成關係;用戶「擁有」個人資料(1-1),用戶擁有「朋友」(1-0 .. *),wall_posts(1-0 .. *)和wall_post「擁有」註釋(1-0。 。*)。如果用戶被刪除,效果將級聯並應刪除具有該用戶標識的任何記錄。用戶表具有類似於uid名稱的信息(不會在wall_posts表中複製),因此必須刪除類似消息記錄的信息。使用UML建模數據庫:關係

我的邏輯中是否有缺陷?

回答

2

a user "has" friends(1-0..*)有缺陷的部分。

這應該是一個n-m之間的用戶表和自己(或0..*-0..*在UML符號),因爲所有這些朋友不是唯一的一個用戶。每個人(希望)都可以有很多朋友。可以通過friendship表來實現,該表持有用戶表的兩個(不同的)外鍵以及可能包含描述關係的其他屬性。

+0

它實現的朋友表的方式本質上是友誼表(我應該切換名稱)。它包含兩個外鍵(f_uid,with_uid)和一個since_date屬性。這種情況下用戶的關係類型是什麼?它仍然是組成? (2-n?) – Ch0b0 2012-03-11 02:33:24

+0

@ Ch0b0:'user'和'friendship'之間的關係是'1-0 .. *',並且會有一個友誼是*兩個這些連接。 – 2012-03-11 02:40:53