假設我有以下表格:「用戶」,「計算機」和「命令」。用戶和計算機可能有0或1個與它們相關的命令。一個命令總是由這兩個中的一個(並且只有一個)擁有。我怎樣才能建模?數據建模問題:由兩個不相關的表擁有的弱實體
我想的是這樣的:
user(id, command_id?, other1)
computer(id, command_id?, other2)
command(id, other3)
這保證了用戶/計算機可具有0或1的命令,但允許命令以有一個以上的所有者。
但由於命令是一個弱實體(我想,如果我錯了,請糾正我),它應該引用它的所有者在一個外鍵。這導致以下結構:
user(id, other1)
computer(id, other2)
command(id, owner_id, owner_type(user|computer), other3)
但是,這允許用戶或計算機擁有多個命令。它也不像第一個選項那麼好。
建議?