2013-04-24 121 views
0

我正在建立一個學校項目,我的想法是有一個網站,您可以註冊一個帳戶,向該帳戶添加幾個用戶,然後計算每月共享費用債務,例如用戶A在雜貨上支付500,並且用戶B僅支付250.這給用戶B當月對用戶A的債務125。單個用戶的多個電子郵件地址和密碼

我的問題是我想分開帳戶與用戶。現在我設置了一個名爲Accounts with email和password的表格,然後我有一個包含特定用戶信息的用戶表。我希望幾個人能夠使用不同的憑據登錄到同一個帳戶。

用戶表

ID, Name, Account_id etc. 

賬表

ID, Email, Password, date_added, date_updated etc. 

什麼是這樣做的最好的方法?它是否有一個名爲UsersForAccounts的交叉表或者我在用戶表中指定了多個account_id?

+1

爲什麼不做一個像'group_id',其中每個'account_id'都是一個(或多個)'group_id'值的一部分? – 2013-04-24 16:26:23

+0

如果我支付500美元和你250美元,我希望你實際上有250美元的債務:) – 2013-04-24 16:29:03

回答

1

你不會認爲它是一個帳戶上的多個用戶。您可以將其視爲多個共享通用組設置的用戶帳戶。

所以你有一個用戶的表,你可以預期 - 顯然,每個人都有自己的價值觀。

然後你有一個相關的表,分享組的細節。以兄弟會或其他事物爲例。 因此你有皮皮作爲一個組名稱。在是用戶A,B和C 一個非常非常基本的表結構可能是這樣的:

Users: id, email, password, name, group_id 

Group: id, name 

所以用戶會 - 此設置 - 有關係只有一組。如果你願意,你可以創建一個關係表,這樣用戶可以擁有多個組。

這裏的一般想法是,您將該組用作與用戶分開的連接點,而不一定是使用相同帳戶訪問的多個用戶。

如果不清,隨時問,我可以更新

+0

哦,我明白你要去哪裏。我會畫出一些東西,並將結果返回給您!謝謝。 – 2013-04-24 16:42:07

0

可以使用這樣的結構,如在用戶表:

ID, Name, etc. 

而在帳戶表使用最簡單:

ID, Email, Password, date_added, date_updated, User_ID, etc 

這被稱爲多對一的關係,是理想的你的案件。

我可以傳給你的一個小提示是使用小寫字母來表示所有的字段,或者特殊字段的名稱的第一個字符,用「ID」(這只是一個縮寫詞或類似的),以鑑定

在一個基本示例中,用戶具有字段:

ID, name, etc. 

而且帳戶表格上方的結構:

ID, email, password, date_added, date_updated, user_id 

這在短時間內幫不了多少忙,但它可以幫助您,並且非常適合使用PHP數據庫。

相關問題