2014-09-21 50 views
0

我有一個problom我的ERD ...許多表日誌關係

ERD CASE

我有不同的屬性3的用戶表。每個用戶連接到家庭桌子。 然後房子桌子上有很多日誌。我的問題是,如何知道日誌都與用戶依賴於用戶類型

+1

如果您設計您的結構,那麼,而不是3個用戶表創建類型的列和準用戶ID與家庭 – 2014-09-21 08:00:24

+0

一個用戶表,但是那些3個用戶對每個表不同的屬性.. – geralvin 2014-09-21 08:24:30

回答

0

添加一個用戶表橋接USER_x表來HOUSE:

-- [id] is a type x user and ... 
USER_x(id,...) PK (id) FK (id) REFERENCES USER (id) 

-- [id] is a user 
USER(id) PK (id) 

-- house [id] is used by [USER_id] and ... 
HOUSE(id,USER_id,...) PK (id) FK (USER_id) REFERENCES USER (id) 

有不同的方法來約束這種設計使該用戶具有完全不相交的USER_x ID聯合。例如,一個USER類型鑑別器列,其值是x的各種值。 (也可以是其他類型的設計,例如每個USER_x有一個可爲空的USER外鍵,並有自己的約束,例如檢查只有一個這樣的FK不爲NULL)鍵。例如thisthis

Here's how to constraint this kind of situation without triggers.