2013-06-02 80 views
-1

我正在做一個數據庫的電機錦標賽的gestion,我該如何解決這個問題? 我有3個實體(飛行員,團隊和事件)和3個關係N:N形成一個三角形....數據庫MySQL的N:N關係

enter image description here

+0

這是傳統上用每個N:N的映射表完成的。然而,飛行員<->事實上的關係實際上是存在的,還是可以從飛行員中找出它<->團隊<->事件關係? – Joe

+0

飛行員必須有一個團隊參加一個事件。 飛行員(PilotID,....) 隊(TeamID,....) 事件(事件ID,....) TeamPilot(TeamID,PilotID) 參與*(PilotID,TeamID,事件ID,時間) 對不對?或者我可以將實體'TeamPilot'與實體'Events'一起使用? – ruspa

回答

1
Pilots(PilotID,...) 
Teams (TeamID,...) 
Events(EventID,...) 

TeamPilots(TeamID,PilotID) 
TeamEvents(TeamID,EventID) 

PilotEvents(PilotID,EventID) 

沒有看到的,爲什麼最後一個,除非飛行員能參加一個不屬於團隊成員的活動。

+0

是的,對不起,飛行員必須有一個團隊,沒有一個團隊,他不能partelcipate – ruspa

+0

不是三角形N:N然後,所以你不需要PilotEvents –