2015-02-11 73 views
0

如何在表和視圖之間創建引用?我有看法,其中包含兩個通過UNION創建的表(該表的ID是相同音序器的唯一原因)。 我嘗試在視圖上創建主鍵並進行引用,但它不適用於我?甚至有可能使它像這樣或物化視圖。它的傳統項目具有真正的大數據模型和很多觀點。表和視圖之間的Oracle數據庫關係(物化視圖)

回答

1

您不能在視圖中使用鍵。這意味着

  • 你不能設置一個主鍵,在該視圖
  • 你不能引用視圖中的外鍵
1

據Oracle文檔。您可以在視圖上創建PK(禁用,未驗證),但此PK無法由FK引用,因爲它未經過驗證

Oracle數據庫不強制執行視圖約束。但是,您可以通過對基表的約束強制實施視圖約束。

您只能在視圖上指定唯一的主鍵和外鍵約束 ,並且它們僅在DISABLE NOVALIDATE模式下受支持。您 無法定義對象列的屬性的視圖約束。

http://docs.oracle.com/cd/B28359_01/server.111/b28286/clauses002.htm#SQLRF52163

+0

是主鍵處於禁止狀態,但是否有可能從表中創建參考物化視圖導致我collegue告訴我,這是可能的。 – Milkmaid 2015-02-11 10:30:35

+0

@Milkmaid:如果未驗證PK,則不能對該PK進行FK引用,因爲約束應該是有效的 – harcos 2015-02-11 10:34:48