2014-04-16 99 views
0

我想創建3個表:老闆和僱員繼承表人。遺產與自動增量

person: id,login,password;
boss: id,login,mdp,firstname,lastname,email;
employe: id,login,mdp,firstname,lastname,email;

我把這兩類人分開來控制權利。

但我想保留一個包含所有用戶來管理連接的表。

問題是三個ID中的自動縮進。當我創建一個類型爲「boss」的成員時,表boss和「person」中的id將自動識別爲1.當創建類型employe的新成員時,ids(1中的「employe」和2中的「人物「因爲第一個是老闆)是不一樣的。

我如何模型化?

感謝和抱歉我的英語,弗洛裏安。

回答

1

你有很多重複的數據被存儲。考慮這個選擇:

person 
------ 
id 
login 
password 
firstname 
lastname 
email 

boss 
---- 
id 
person_id 

employee 
-------- 
id 
person_id 

我可以存儲採用這種結構,你可以在你的完全相同的信息,但每個「人」只會有一個名字/姓氏,電子郵件地址,登錄名和密碼。您只應在老闆/員工表中存儲與該實體相關的信息。例如,老闆可能有security_code字段,而普通員工則不會。

您不應該試圖在兩個不同的表之間保持id主鍵匹配(即,boss ID不需要匹配person id)。相反,請添加person_id外鍵,這樣如果您擁有老闆記錄,則可以從中輕鬆查找人員表中的信息。

+0

如果老闆和員工擁有完全相同的字段並且不會偏離,那麼表1中的老闆\員工(角色)標誌(假設他們不能同時爲) –

+0

會起作用。我假設有一個潛在的理由將他們分開首先 –

+0

感謝您的回答! 我已經finfin選擇保留只有一個表,我已經添加了一個屬性,確定人的類型。 – FlorianDlbr