[英]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.