我想通过 MySql 的语法了解为什么在同一个表中不允许两个主键的原因。我了解复合键,这与此无关。
我不明白为什么不允许在同一个表中使用两个单独的主键。但是我们可以将一列作为主键,将另一列作为唯一的且不为空。这实际上充当了两个不同的主键,因为我们可以使用这些键中的任何一个来清楚地识别一行。为什么第一个是不允许的,而后者是?
我试图弄清楚逻辑,但偶然发现了 Codd 的 12 条规则的第 2 条,它说
通过使用表名、主键值和列名的组合,可以保证关系数据库中的每个数据(原子值)都可以在逻辑上访问。
对于单个数据值,表名、主键值和列的组合是否应该是唯一的,还是可以有多个组合来保证访问?为什么或者为什么不?
编辑:由于问题被确定为可能重复,我将在下面解释它的不同之处 其他类似的问题是
一个表中可以有多个主键吗?
答案是否定的。
我的问题是为什么?理由是什么?
Codd 打算根据规则 2 说什么?
如果允许多个单独的主键会出现什么问题?
我在 IntelliJ IDE 中有一个 Maven 项目。我创建了一个名为 name 的包event.handlers
。之后我在这个包中创建了多个类。里面没有类,event
一切都在里面event.handlers
。现在我想在 package 中创建一个 java 类event
。
IDE有什么办法可以做到吗?目前,我正在event
我的代码存储库中的文件夹中手动创建 java 文件。