Vba 我的老师说这不是';t正常化,我可以';我不明白为什么
我的数据库是关于一个游戏团队的,我有一个名为games played的表,其中我的列是游戏ID、游戏日期、地图、对手、我们的分数和对手分数。 老师声称对手的分数应该在另一个表中,因为它与对手列相连,我不明白为什么和它应该是什么样子Vba 我的老师说这不是';t正常化,我可以';我不明白为什么,vba,ms-access,Vba,Ms Access,我的数据库是关于一个游戏团队的,我有一个名为games played的表,其中我的列是游戏ID、游戏日期、地图、对手、我们的分数和对手分数。 老师声称对手的分数应该在另一个表中,因为它与对手列相连,我不明白为什么和它应该是什么样子 表1:所有关于游戏的信息-这里有所有可能的游戏属性。这将成为您的维度表 表2:所有关于球员的信息-这里有所有可能的球员(包括同样是球员的对手)。这将成为您的维度表 表3:所有关于事件的信息-在此处列出所有可能的事件(与比赛相关)。这将成为您的事实表 说它是salopp
说它是salopp,规范化意味着防止任何重复。例如,您有一个人和相关的电话号码。你可以这样做:
Person Type Number
A Mobile 001234
A Mobile 004444
A Phone 005555
您现在有了人称和类型为duplikates。因此,应用以下结构:
PersonID Person
1 A
PersonID PhoneID
1 1
1 2
1 3
PhoneID TypeID Number
1 1 001234
2 1 004444
3 2 005555
TypeID Type
1 Mobile
2 Phone
现在,如果您将所有内容链接在一起(PersonID到PersonID,PhoneID到PhoneID,TypeID到TypeID),您将得到我编写的第一个表。此结构还确保依赖关系由数据库完整性约束正确实施(这是更新、删除等查询所必需的)
如果您在游戏团队中应用此系统,您可以这样做:
Person Type Number
A Mobile 001234
A Mobile 004444
A Phone 005555
- 包含Team和TeamID的表
- 将团队链接到结果的表:GameID、HomeTeamID、GuestTeamID、ResultID
- 包含结果和结果的表
- GameID表,用于获取有关游戏的更多信息(如时间、地点等)
- 带有TeamID和PlayerID的表 <> LI>具有PrReRID和更多玩家信息的表(这里你必须考虑一个玩家是否可以在多个团队中玩)