2016-01-22 71 views
0

我不知道如何創建應該表示同時在ISA關係中的實體和也是弱實體的表。 IE瀏覽器。我有實體ContestantJudgesParticipantsClub與它的屬性,ContestantJudges均符合Participants ISA關係,Contestant依賴的Club和它的弱實體(除ISA)。我應該如何在SQL開發人員中創建表Contestant? (什麼是表的鍵)在此先感謝:)同時弱和isa關係的實體的關鍵

+0

你需要'參與者'(是強制性的)嗎?如果可能的話,我會避開這張桌子。 – Dmitry

+0

我打算使用它,但我可以避免它..這個解決方案太複雜了嗎? – slomil

+0

我會說 - 這不是一種「關係方式」。 – Dmitry

回答

0

我想提出以下幾點建議:

  • person個人信息(姓名,電子郵件,電話號碼等)
  • contest有關競賽
  • role與人角色的信息:「選手」,「法官」等
  • participation,其中包含個人ID,比賽ID和角色ID爲當前的人。

沒有你的問題的任何其他細節很難說什麼應該添加到這個模式。

+0

我認爲我可以在創建表參賽者的幾行寫一些代碼..謝謝反正! – slomil

0

這是類/子類的經典案例,或者,如果您願意,請鍵入/ subtype。許多ISA關係屬於這一類。參賽者和裁判是參與者的子類。可以想象,一個給定的人可能是一場比賽中的參賽者,而是另一場比賽中的裁判。

您希望生活的複雜程度取決於您想要管理的數據以及您打算如何處理它。你沒有提供足夠的細節來回答你的問題。更簡單的一般更好,除非不是。

參與者的一些屬性,如電話號碼,這對法官和參與者來說都是通用的。如果將電話​​號碼存儲在參與者表中,而不是單獨存儲在參賽者和評判表中,管理電話號碼會稍微容易一些。但管理第三張桌子會更加複雜。

如果您選擇探索ISA關係的關係建模更深入,這裏有三個標籤,這將有助於你:

這三個標記組的一些問題和答案是一起與你問的問題有些相關。此外,每個標籤下都有一個信息標籤,用於進行一般性描述。

如果您剛剛開始使用數據庫,則無需瞭解所有這些材料。在某個時候,它可能會與你有關。祝你好運。