數據建模屬性和實體
我正在通過此處找到的以下數據建模練習:
Twitch 主播可以為他的社區舉辦任意數量的錦標賽。每場比賽最多由20支球隊組成。一個團隊輪流由最多三名玩家組成,其中一名是團隊負責人。每場比賽有任意數量的回合。社區版主手動將錦標賽的狀態設置為已開始、已檢查和已完成。每支隊伍可以在一輪中獲得一定數量的積分。這些由位置和擊殺數量組成。
連結中提供的解決方案是:
誰能解釋為什麼 tourney_id 和 team_id 是參與者的屬性?鑑於要求,我覺得它們應該是“圓形”實體的屬性。
誰能解釋為什麼 tourney_id 和 team_id 是參與者的屬性?鑑於要求,我覺得它們應該是“圓形”實體的屬性。
tourney_id
已經是表的一個屬性round
,這是有道理的,因為每個都round
屬於一個特定的tourney
,使其具有直接關係。
team_id
在桌面上沒有意義,round
因為每個人都team
隱含地參與了每一輪。這是眾所周知的,因為 ateam
屬於一個特定的tourney
,並且每一輪都屬於一個特定的tourney
,因此這意味著對於一個給定的tourney
所有teams
與它相關的東西,也間接地與該錦標賽的**所有回合相關。**因此,無需team
直接關聯,round
而且無論如何這都沒有意義,因為有多個teams
參與相同round
的相同tourney
,因此您將無法team_ids
在單個round
實體上儲存多個。
participant
and 之間的關係類似於 and之間team
的關係round
,tourney
每個都participant
屬於一個singleteam
。team_id
因此,將其儲存在participants
表中是有意義的。表
tourney_id
上有點多餘,因為表之間和表之間participants
已經存在間接關係。但這樣做並沒有錯。它允許某人直接查詢給定的所有(當他們不關心來自 的任何資訊時)。participants``tourney``teams``participants``tourney``teams