我正在创建一个数据结构,其中一个表没有任何明确的唯一性。每桌真的需要PK吗?
这是一个表来保存付款项(这样两个条目可能是相同的)
将被链接但在一个一对多的基础。即返回其中帐号= X
将用于显示时,不更新或删除只插入所有行。
我停下来考虑,如果该表需要一个主键,我的大学是坚定的,每个表都应有一个主键,不管是什么。所以他添加了一个递增的ID(使用序列)。
对我来说,这意味着 有正在使用的资源并没有真正贡献任何一个序列。 在表格上创建一个永远不会使用但会产生开销的索引。 如果我需要在紧急情况下删除一个特定的行,我可以使用内置的rowid。
我知道表应该有PK,但是每个表真的需要一个吗?我错过了什么吗? 谢谢你的时间。
这取决于你想坚持关系理论有多严格。 – Oded 2012-07-18 20:50:34
@PaulG - 听说过[Cargo cult programming](http://en.wikipedia.org/wiki/Cargo_cult_programming)? – Oded 2012-07-18 20:53:33
为什么你想要在表中有重复的数据?数据库是命题(事实)的集合。两次陈述相同的事实并不会使事实更加真实。复制只会导致不明确,不准确,并且会使数据操作更加复杂并容易出错。 – sqlvogel 2012-07-18 21:17:05