2013-03-21 37 views
0

在這種情況下,讓我具體談談這個問題用戶,客戶,租戶,員工 - 全部在同一張表中?

我有一個人民表(客戶&供應商)和我有一個用戶表(誰可以登錄的用戶)。

目前我有這個DB結構

客戶 - >組織 - >通過rel_customer_addresses鏈接到地址表中。 (如1顧客可以具有delivery_address,發票地址等)

用戶 - >租戶 - >通過rel_users_addresses到地址表 連接的(如用戶1可以具有delivery_address,發票地址等)

現在我有發票表customer_key。問題出在用戶自己是客戶時,發票來自其客戶之一。如何指示我的網絡應用程序查找用戶而不是客戶?

+0

這實際上只取決於您將爲每個任務存儲多少數據。經驗法則是隻使用你需要的,但你也不想要一個大的,難以使用的數據庫。 – 2013-03-21 21:07:51

+0

僅供參考這個問題是開放式的。這個網站主要是針對特定編程問題的Q和A風格。如果你不小心,他們會讓你失望。祝你好運! – 2013-03-21 21:09:50

+0

感謝您的帖子。我已經將我的帖子改寫爲更具體 – 2013-03-23 11:23:34

回答

0

由於您正在查看2個獨立的實體(客戶和用戶),我會繼續使用2個獨立的表並讓它們共享一個唯一標識符(即用戶名,SID)。

這樣一來,沒有適當的權限就沒有機會看到其他人的信息。

有幾種方法可以控制這個,但邏輯是這樣的。

If userID exists in table user, do this.
If userID exists in table customer, do this.
If userID exists in table user AND table customer, do this.

這樣,您就可以完全獨立或聯合控制局面。換句話說,您可以授予userID的特殊權限,該權限位於表customer中,或者將其完全分開(類似於Facebook爲頁面創建單獨的「身份」與其註冊的帳戶)。

希望有幫助!

+0

嗨再次, 感謝您的幫助。我使用角色的方法並將所有用戶類型放在一個表中。這是最簡單的,因爲在某些時候,我需要讓所有用戶類型登錄,並且它們現在位於用戶表中,這使得一切都變得更加簡單。 – 2013-04-07 08:38:02