【发布时间】:2015-02-09 07:09:00
【问题描述】:
我想知道我的数据库/表设计的更好方法是什么。如图所示,我有玩比赛的球员。一名球员打多场比赛,一场比赛由多名球员打,所以它是 n:m 关系。这可能导致 thress 表 player(id, firstname), player_to_match(playerid, matchid), match(id)。 在我的例子中,玩家的数量永远不会改变,它总是两个(n = 2)。以下哪个设计更好?
(1)
player_to_match(matchid, playerid)
每张地图有两行和一个单元格冗余(matchid)
(2)
match(matchid, playerid1, playerid2)
正如我所说,每场比赛的球员人数永远不会改变
谢谢
卢卡斯
[具有两个实体的 ERM 图表:玩家(ID,名字),比赛(ID),n:m 从球员到比赛的关联,标题为“plays”] http://fs1.directupload.net/images/141210/rmeuutpg.png
【问题讨论】:
-
您认为存在“单元冗余”的想法是错误的。一个值在列或表中多次出现与冗余没有任何关系。见this。
标签: database database-design entity-relationship normalization database-normalization