2014-02-21 56 views
0

我有屬於Role,並有一個Server還是沒有人(取決於角色)一Users表,但應該有一個Serveruser_id場或我應該把用戶表中的所有服務器信息以及角色沒有服務器時,這些字段將爲空?擴展表(一對一的關係)

我只是認爲,如果一個用戶有一個服務器(或不),這應該不是在服務器表中的新行,也許如果user_id字段是唯一的,那麼它將是正確的,我不知道.. 我很困惑。

只是向我解釋這是建立這個東西的最好方法。

- 編輯

這是我的表實際上

Roles

id (PK) | name 
1  | Administrator 

Users

id (PK) | role_id | name 
    1  | 1  | Juliano 

Servers

id (PK) | user_id (UNIQUE) | name 
    1  | 1    | Test 

我不知道..在服務器中,user_id應該是UNIQUE還是PK?

回答

0

一對一關係,然後把服務器放在用戶表中。

Users Table: 
ID(Pk) 
RoleID 
Name 
ServerID 
+0

真的嗎?如果他沒有服務器,ServerID將爲空,對嗎?如果我想知道誰擁有服務器?在這種情況下,服務器可以屬於多個用戶..那麼你的邏輯是正確的? –

+0

如果您不需要服務器表,請將ServerID更改爲Server,然後刪除表Server。你會得到一對一的關係。是的,如果他沒有服務器,服務器字段將爲空。您可以使用服務器信息或用戶信息來了解誰擁有服務器。要阻止2個用戶擁有的服務器,在將服務器所有權授予用戶之前,需要首先檢查服務器所有權。 – cyan

+0

在我的問題中,這種方式不容易嗎? –