2013-10-05 131 views
0

我想設計一個將連接到PHP應用程序的數據庫。在應用程序中有兩種類型的用戶:公司和人員。一些功能,如添加文章將通過這兩種方式完成,所以在其他表中有author_id列。所以首先我決定創建用戶列。Mysql設計。兩種類型的用戶,兩種不同的配置文件

這很簡單:id, username, password, role, active, created其中角色定義用戶是否是個人或公司。

現在我想補充的個人資料表或配置文件表取決於你有什麼建議(加入profile_id列有加入了與上表)。

兩個角色具有不同的字段,其中在註冊期間是必需的。

最簡單的事情是創建一個表格,表格中這兩個角色所需的所有領域,讓他們NULL值,並在PHP應用程序(在Yii框架在這種情況下,製造)定義模型中每個角色的要求。

的最好的事情是創建兩個角色不同的表,但問題是如何將這兩個表連接到使用外鍵一個表?這是否可能?我知道我可以省略外鍵創建,然後根據角色選擇表,並從該表中選擇profile_id

或者,也許你有我的問題的另一種解決方案。

在此先感謝您的答覆。 阿德里安

回答

0

您需要的網頁和數據庫之間的中介給用戶分配到具有特定權限的組。通常通過用戶組角色設計完成。

+0

我不知道我是否清楚自己。我需要弄清楚如何在用戶配置文件表中加入用戶表(id,用戶名,密碼,角色,活動,創建),假設有兩種不同類型的用戶在註冊期間需要不同的字段,這裏有一種情況[link] http:/ /i42.tinypic.com/5eei6x.jpg如何加入? – adriandro

+0

就像我說的 - 一箇中介。我不知道PHP是否允許。這是我不喜歡的東西之一 - 也是客戶端/服務器。 – duffymo

0

您可以爲用戶的系統信息表(用戶名,傳...),另一個用於用戶個人資料(姓名,生日......),而另一個團體(超級用戶,...)。

其中用戶表可以有多個組:用戶:單>組:許多

用戶可以具有一個簡檔用戶:單>簡檔:一個

我認爲這是一個體面的解決方案。