有關數據庫設計的快速問題。多個數據庫關聯實體
如果我有兩個數據庫:User_DB和Group_DB,並且User_DB包含名爲User_TB的表,並且Group_DB包含名爲Group_TB的表。這是一種多對多的關係,因此用戶可以屬於多個組,並且一個組可以擁有多個用戶。所以他們之間有一個關聯實體UserGroup。這張桌子放在哪裏?在User_DB或Group_DB中?
有關數據庫設計的快速問題。多個數據庫關聯實體
如果我有兩個數據庫:User_DB和Group_DB,並且User_DB包含名爲User_TB的表,並且Group_DB包含名爲Group_TB的表。這是一種多對多的關係,因此用戶可以屬於多個組,並且一個組可以擁有多個用戶。所以他們之間有一個關聯實體UserGroup。這張桌子放在哪裏?在User_DB或Group_DB中?
假設有一個有兩個獨立數據庫的正當理由,我傾向於將它保留在擁有「關係」關係的數據庫中 - 答案會根據問題域中實體和關係的定義而有所不同,而且可能會是主觀的。
在這種情況下,用戶屬於組 - 這種關係主要傾向於用戶而不是組,因此我傾向於將映射保留在User_DB中。
大多數RDBMS不支持跨數據庫外鍵。
可能是你的,但請記住,在給定的時間內,一個數據庫可能因維護,或不可用,或重負載等原因而停機。因此,即使你可以做到這一點,使用跨數據庫外鍵也不是一個好主意。
因此,我建議將這兩個表保存在同一個數據庫中。
是否有任何需要有兩個不同的數據庫? –