[英]Oracle IDENTITY column versus PRIMARY KEY
无法确定是否需要在 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/
IDENTITY 列是否会自动创建索引,例如 PK?
不,标识列只是用顺序生成的数字自动填充的列。 您可以随心所欲地使用它,但典型的用途是作为合成主键。
它只是多余的吗?
不。
我相信你可以有一个 IDENTITY 列和单独的 PK
是的你可以。
虽然我们没有这样做。
好的,如果您的意思是除了身份列之外没有单独的 PK列。 在标识列上定义 PK约束将是一个好主意。
混合数据的逻辑和物理组织是一个常见的错误。
您成功混合了 3 个正交概念:
PRIMARY KEY
约束INDEX
IDENTITY
列IDENTITY 列是否会自动创建索引,例如 PK? 只是重复吗?
这些问题非常依赖于版本。 IDENTITY
本身是在 Oracle 12.x 中引入的。
我相信你可以有一个 IDENTITY 列和单独的 PK,尽管我们没有这样做。
你在这里是对的。
自动值生成、逻辑约束和物理数据组织是相互正交的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.