我正在设计一个模式来在基于浏览器的游戏中保存玩家数据。关系数据库理论和密钥
我有三个关系。其中两个至少有两个候选键,但是第三个只有三个属性:{playerId,message,date}
这个关系不会保留唯一的行,因为有1..1:0 .. *关系,这意味着每个玩家可以有任意数量的新闻元组。无论如何,我不需要能够唯一地识别任何元组,也没有任何属性实际上可以成为候选者。
我的问题是:我明白关系模型指出不能有重复的元组,每个关系都必须有一个关键字。我的上面的模式与这两个约束相矛盾,但是适用于我的目的。我知道我可以简单地添加一个索引属性(如ID),这是唯一的,但似乎没有必要。我错过了什么吗?
谢谢你的时间。
是的,你说得对。我想过一个复合键,但是当没有属性是候选键时,这是不可能的。在这种情况下,是否有任何真正的优点,使每个元组唯一的ID主键? – Lee
主键的优点是能够识别每个元组。如果你不需要能够识别删除或编辑的原因,那么你不需要它来让你的应用程序运行。但是我总是会定义一个主键来拥有一个“干净”的设计。 – steven
好的史蒂文,这很有道理。感谢您的输入。 – Lee