假設我想用僱員和項目對系統建模。每個員工可以是0到n個項目的一部分,一個項目可以有0到n個員工。爲了建立這個模型我創建了3個表,employee
,project
和work
與以下關係數據庫中的三元關係
| employee
| (0..n)< ---->(1..1)| work
| (1..1)< ---->(0..n)| project
|
到目前爲止,表work
只有兩個屬性(來自員工條目的id和來自項目的id)並且工作正常。
每個項目還必須有一個公共「聊天」和一個私人的。公衆允許公司的每個人都可以看到併發送消息給該項目的聊天。另一方面,在私人項目中,只有屬於該特定項目的員工才能看到併發送消息。
公共聊天很容易建模,因爲每個人都可以看到消息。我的疑問是關於私人的。我想強制私人消息的條件進入數據庫,因爲私人消息與作爲該特定項目一部分的員工有關。我發現這樣做的方法是在表work
上添加一個id
,並將該ID用作private_message
表中的外鍵。所以這兩張表之間的關係是:
| private_message
| (1..1)< ---->(0..n)| work
|
這是模擬這種情況的好方法嗎?如果不是,我該如何改進這個模型?
謝謝。
您能定義'work'嗎? – 2013-02-11 14:49:45