查找有关在Oracle 12.2c中是否需要将IDENTITY
列指定为PRIMARY KEY
的确定性问题。 IDENTITY
列是否会像PK
一样自动创建索引?它只是多余的吗?我确实相信您可以拥有IDENTITY
列和单独的PK,尽管我们没有这样做。
ID NUMBER AS IDENTITY PRIMARY KEY == ID NUMBER AS IDENTITY ?
IDENTITY
列可以并且通常用作主键,但不一定必须。
身份列对于代理主键列非常有用。当您在身份列中插入新行时,Oracle会自动生成并在该列中插入一个顺序值。
https://www.oracletutorial.com/oracle-basics/oracle-identity-column/
混合数据的逻辑和物理组织是一个常见的错误。
您成功混合了3个正交概念:
PRIMARY KEY
约束INDEX
IDENTITY
列IDENTITY列是否会像PK一样自动创建索引?它只是多余的吗?
这些问题与版本密切相关。 IDENTITY
本身是在Oracle 12.x中引入的。
我相信您可以有一个IDENTITY列和单独的PK,尽管我们没有这样做。
您在这里是正确的。
自动值生成,逻辑约束和物理数据组织相互正交。
IDENTITY列是否会自动创建索引,例如PK?
没有身份列只是顺序ID生成器。
这只是多余吗?
编号
我相信您可以有一个IDENTITY列和单独的PK
是,可以。它们是无关的。
尽管我们没有这样做。
好。但是您可能应该。