編輯表

您可以使用「編輯表格」精靈來建立及編輯物件,此精靈可從表格實體旁邊的動作 (三個垂直點) 中的編輯功能表取得。

按一下「動作」功能表中的編輯,即可開啟編輯表格精靈。您可以依任何順序瀏覽窗格來編輯表格。表格特性分為數個窗格。

  • 綱要:表格所在的資料庫綱要。
  • 名稱:表格的名稱。
對話方塊中的不同窗格說明如下:
  • 資料欄窗格
  • 主索引鍵窗格
  • 唯一索引鍵窗格
  • 索引窗格
  • 外來索引鍵窗格
  • 表格限制窗格
  • 註解窗格
  • 儲存窗格
  • 外部表格特性窗格
  • 具體化視觀表窗格
  • DDL 窗格
  • 輸出窗格

資料欄窗格

指定表格中每個資料欄的特性。

一般頁籤

列出表格中可用的資料欄。若要新增資料欄,請按一下新增資料欄 (+) 。下方表格新增了新的資料列。選取列並輸入欄的詳細資料。若要刪除欄,請選取該列,然後按一下移除欄 (-) 。若要在表格中向上或向下移動資料欄,請選取該資料欄並使用向上箭號和向下箭號圖示。
  • 名稱:資料欄的名稱。
  • 資料類型:資料欄的資料類型。
  • 預設值:如果未指定任何值,預設值為空值。
  • 預設為空值:適用於 Oracle Database 12c 和更新版本。如果選取此選項,當資料列插入表格,且為資料欄指定的值為空值時,預設值就會插入資料欄中。
  • 表示式:用於計算資料欄中值的表示式。
  • 註解:資料欄的選擇性描述性註解。使用此欄位提供屬性的描述。
在表格中:
  • 主索引鍵:如果選取此選項,資料欄就會變成主索引鍵。
  • 識別資料欄:如果選取此選項,資料欄就會變成識別資料欄。這只適用於 Oracle Database 12c 和更新版本的版本。如需詳細資訊,請參閱「識別資料欄」頁籤。

限制頁標

顯示資料欄的「非空值」和「檢查限制條件」。檢查限制條件需要資料欄中的值才能符合指定的條件。
  • 非空值限制條件:名稱:非空值限制條件的名稱。
  • 非空值限制條件:非空值:如果選取此選項,資料欄必須包含資料。當您插入資料列時,無法指定此資料欄的值或明確的空值。如果未勾選此選項,則資料欄可以包含資料或不包含資料。主鍵欄位不得為 Null。
  • 檢查限制條件:名稱:檢查限制條件定義的名稱。
  • 檢查限制條件:限制條件:必須符合資料欄才能滿足檢查限制條件的條件。您可以使用任何有效的 CHECK 子句 (不含 CHECK 關鍵字)。例如,若要指出名為 RATING 之數值欄中的值必須從 1 到 10,您可以指定:評等 >=1 且評等 <= 10。
  • 已啟用:如果選取此選項,當資料欄中輸入或更新資料時,就會檢查限制條件。
  • 可延緩:如果選取此選項,您可以延緩檢查限制的有效性,直到交易結束為止。
  • 立即啟動:如果選取此選項,當您新增、更新或刪除資料欄中的資料時,就會檢查限制條件。
  • 驗證:如果選取此選項,則會檢查現有的資料以查看是否符合限制條件。

主索引鍵窗格

指定表格的主鍵。

主鍵是資料欄或資料欄集合,可唯一識別表格中的每個資料列。如果在「一般」頁籤中選取資料欄的「主索引鍵」核取方塊,對應的欄位就會自動填入「主索引鍵」窗格。您可以視需要對特性進行變更。

系統會自動在主索引鍵上建立索引。

  • 名稱:要與主索引鍵定義關聯的限制條件名稱。
  • 已啟用:如果勾選此選項,則會強制執行主索引鍵限制條件:亦即,主索引鍵資料欄 (或資料欄集) 中的資料必須是唯一的,而不是空值。
  • 索引:主索引鍵所參照的索引名稱。表格空間:與索引關聯的表格空間名稱。
  • 可用的資料欄:列出可新增至主索引鍵定義的資料欄。您可以視需要為主索引鍵選取多個屬性。
  • 選取的資料欄:列出主索引鍵定義中包含的資料欄。

    若要將資料欄新增至主索引鍵定義,請在「可用資料欄」中選取該資料欄,然後按一下「新增 (>)」圖示;若要從主索引鍵定義中移除資料欄,請在「選取的資料欄」中選取該資料欄,然後按一下「移除 (<)」圖示。若要將所有資料欄從可用移至已選取 (或反向),請使用「全部新增 (>>)」或「全部移除 (<<)」圖示。若要在主鍵定義中向上或向下移動資料欄,請在「選取的資料欄」中選取該資料欄,然後使用箭頭按鈕。

唯一索引鍵窗格

指定表格的一或多個唯一限制條件。

唯一限制條件指定資料欄或資料欄集,其資料值必須是唯一的:每個資料值不得為空值,且不得與資料欄中的任何其他值相同。

若要新增唯一的限制條件,請按一下「新增」按鈕;若要刪除唯一的限制條件,請選取它,然後按一下「移除」按鈕。
  • 名稱:唯一限制條件的名稱。

  • 已啟用:如果選取此選項,則會強制實行唯一的限制條件。
  • 可靠:如果選取此選項,則在查詢重新寫入期間,會將 NOVALIDATE 模式的限制納入考量。
  • 可延緩:如果選取此選項,在後續交易中,可以延緩限制條件檢查,直到使用 SET CONSTRAINT (S) 陳述式的交易結束為止。
  • 最初立即:如果選取此選項,就會在每個後續的 SQL 敘述句結束時檢查限制條件。
  • 驗證:如果選取此選項,則會檢查現有資料,以查看是否符合限制條件。
  • 索引:唯一索引鍵所參照的索引名稱。
  • 表格空間:與索引關聯的表格空間名稱。
  • 可用的資料欄:列出可新增至唯一限制條件定義的資料欄。
  • 選取的資料欄:列出包含在唯一限制條件定義中的資料欄。

    若要將資料欄新增至唯一限制條件定義,請在「可用資料欄」中選取該資料欄,然後按一下「新增 (>)」圖示;若要從唯一限制條件定義中移除資料欄,請在「選取的資料欄」中選取該資料欄,然後按一下「移除 (<)」圖示。若要將所有資料欄從可用移至已選取 (或反向),請使用「全部新增 (>>)」或「全部移除 (<<)」圖示。若要在唯一限制條件定義中向上或向下移動資料欄,請在「選取的資料欄」中選取該資料欄,然後使用箭號按鈕。

索引窗格

列出為表格定義的索引。

若要新增索引,請按一下新增索引 (+);若要刪除索引,請選取該索引,然後按一下移除索引 (-)。

  • 名稱:索引的名稱。
  • 類型:Oracle 索引的類型。非唯一表示索引可包含多個相同的值;唯一表示不允許重複的值;位元映射會將與索引鍵值相關聯的資料列 ID 儲存為位元映射。
  • 表格空間:索引的表格空間名稱。
  • 表示式:資料欄表示式是從資料欄、常數、SQL 函數和使用者定義函數建立的表示式。當您指定資料欄表示式時,會建立一個以函數為基礎的索引。
  • 可用的資料欄選取的資料欄:為索引選取的資料欄。若要選取資料欄,請按一下「可用資料欄」方塊中的資料欄,然後按一下「新增選取的資料欄」圖示,將其移至「選取的資料欄」方塊。

外來索引鍵窗格

指定表格的一或多個外來索引鍵。

外來索引鍵指定資料欄 (「本機資料欄」),其資料值符合其他表格之主索引鍵或唯一限制條件中的值。

  • 名稱:外來索引鍵定義的名稱。
  • 已啟用:如果勾選此選項,則會強制執行外來索引鍵。
  • 可延緩初始立即驗證:請參閱「唯一索引鍵」窗格中這些欄位的描述。
  • 參照的限制條件:綱要:包含此外來索引鍵所參照之主索引鍵或唯一限制條件之表格的綱要名稱。
  • 參照的限制條件:表格:具有此外來索引鍵所參照之主索引鍵或唯一限制條件的表格名稱。
  • 參照的限制條件:限制條件:此外來索引鍵所參照之主索引鍵或唯一限制條件的名稱。
  • 參照的限制條件:刪除時:刪除參照表格中的資料列,且該值的資料列存在包含此外來索引鍵的表格中時,自動採取的動作:NO ACTION (以交叉線顯示於圖表) 不對這些列執行任何動作;CASCADE (以 "X" 顯示) 會刪除這些列;SET NULL (以小圓顯示) 會將這些列中可設為空值的所有欄設為空值。
  • 關聯:本機資料欄:列出外來索引鍵定義中所含之目前選取 (本機) 表格中的資料欄。針對外部索引鍵定義中的每個參照資料欄,選取已編輯表格中的資料欄名稱。
  • 關聯:參照的資料欄:針對每個本機資料欄,識別另一個 (外來) 表格中必須具有與本機資料欄值相符之值的資料欄。

表格限制窗格

指定表格的一或多個檢查限制條件。

check 限制條件指定將資料列插入表格或修改現有資料列時,必須符合的條件。

  • 名稱:檢查限制條件定義的名稱。
  • 檢查條件:必須符合資料列才能符合檢查限制條件的條件。您可以使用任何有效的 CHECK 子句 (不含 CHECK 關鍵字)。例如,若要指出名為 RATING 之數值欄中的值必須從 1 到 10,您可以指定評等 >=1 與評等 <= 10。
  • 已啟用:如果核取此選項,則會強制執行檢查限制條件。

註解窗格

在此窗格中輸入描述性的註解。

這是選擇性選項。

儲存窗格

可讓您指定表格的儲存體選項。

建立或編輯表格或索引時,您可以覆寫預設的儲存選項。

  • 組織:指定以 (索引) 或沒有索引 (堆集) 或外部表格 (外部) 儲存並組織表格。
  • 表格空間:表格或索引之表格空間的名稱。
  • 記錄日誌:「開啟」表示表格建立和表格的任何後續 INSERT 作業都會記錄在重做日誌檔中。OFF 表示這些作業不會記錄在重做日誌檔中。
  • 資料列存檔:YES 會啟用資料庫內存檔功能,讓您可以將表格內的資料列標示為不顯示,來將它們存檔。

外部表格特性窗格

指定外部表格的選項。

外部表格都是唯讀的表格,其描述資料會儲存在資料庫中,但其資料會儲存在資料庫外部。

外部表格
  • 存取驅動程式類型:指定外部表格的類型。

    • ORACLE_LOADER :從文字資料檔擷取資料。這是從外部表格載入資料至內部表格的預設存取驅動程式。
    • – ORACLE_DATAPUMP :從二進位傾印檔擷取資料。此存取驅動程式可以同時執行載入和取消載入。
    • – ORACLE_BIGDATA :從 Oracle Big Data Appliance 擷取資料。
    • – ORACLE_HDFS :擷取儲存在「Hadoop 分散式檔案系統 (HDFS)」中的資料。
    • – ORACLE_HIVE :擷取儲存在 Apache HIVE 中的資料。
  • 預設目錄:指定要用於未明確命名目錄物件之所有輸入和輸出檔案的預設目錄。此位置是以目錄物件指定,而非目錄路徑。

  • 存取參數:將值指派給外部表格之特定存取驅動程式的參數。存取參數是選擇性的。
    • OPAQUE_FORMAT_SPEC :OPAQUE_FORMAT_SPEC 會指定 ORACLE_LOADER、ORACLE_DATAPUMP、ORACLE_HDFS 以及 ORACLE_HIVE 存取驅動程式的所有存取參數。如需存取參數的描述,請參閱 Oracle Database Utilities 。opaque_format_spec 中指定的欄位名稱必須與表格定義中的資料欄相符,否則 Oracle Database 會忽略它們。
    • 使用 CLOB :可讓您透過子查詢衍生參數及其值。子查詢不可包含任何集合運算子或 ORDER BY 子句。它必須傳回一個資料列,其中包含 CLOB 資料類型的單一項目。
  • 拒絕限制:查詢外部資料時,在傳回 Oracle Database 錯誤並中止查詢之前,可能發生的轉換錯誤數目。
  • 專案欄:決定存取驅動程式在後續查詢中驗證外部表格列的方式。
    • 全部:處理所有資料欄值 (不論選取的資料欄為何),並僅驗證具有完整有效資料欄項目的資料列。如果有任何資料欄值產生錯誤 (例如資料類型轉換錯誤),即使查詢的選取清單中未參照該資料欄,也會拒絕該資料列。
    • REFERENCED :僅處理查詢之選取清單中的那些資料欄。ALL 設定可確保一致的結果集。REFERENCED 設定會根據後續查詢中參照的資料欄,產生不同數目的傳回資料列,但其速度比 ALL 設定快。如果後續查詢選取外部表格的所有資料欄,則設定值的行為會相同。
  • 位置:指定外部表格的資料檔。使用「新增 (+)」圖示來新增每個位置規格。
    • ORACLE_LOADER 與 ORACLE_DATAPUMP 會以 form directory:file 命名檔案。目錄部分是選擇性的。如果遺漏,則會使用預設目錄作為檔案的目錄。如果您使用 ORACLE_LOADER 存取驅動程式,則可在檔案名稱中使用萬用字元。星號 (*) 表示多個字元,問號 (?) 表示單一字元。

    • 對於 ORACLE_HDFS,LOCATION 是目錄或檔案的統一資源 ID (URI) 清單。沒有與 URI 關聯的目錄物件。
    • 對於 ORACLE_HIVE,不使用 LOCATION。而是會讀取 Hadoop HCatalog 表格,以取得資料來源位置 (可以是檔案或其他資料庫) 的相關資訊。

不透明格式規格

指定 ORACLE_LOADER、ORACLE_DATAPUMP、ORACLE_HDFS 以及 ORACLE_HIVE 存取驅動程式的所有存取參數。

CLOB 子查詢

輸入或複製並貼上查詢。

具體化視觀表窗格

指定具體化視觀表的選項。

查詢:包含檢視定義之查詢部分的 SQL 程式碼。輸入或複製並貼上查詢。

一般
  • 在預先建立的表格上:如果為,則現有表格會註冊為預先初始化的具體化視觀表。此選項對於在資料倉儲環境中註冊大型具體化視觀表特別有用。表格的名稱必須與產生的具體化視觀表名稱相同,而且在相同的綱要中,表格應該反映子查詢的具體化。
  • 小數位數授權遺失精確度,如果表格或具體化視觀表資料欄的精確度不完全符合子查詢所傳回的精確度,就會產生。如果是,則表格或具體化視觀表資料欄的精確度必須完全符合子查詢傳回的精確度,否則建立作業將會失敗。
  • 更新:選取,以允許更新子查詢、主索引鍵、物件或資料列 ID 具體化視觀表。與「進階複製」搭配使用時,這些更新將會傳輸至主要資料庫。
  • 即時具體化視觀表:選取以建立即時具體化視觀表或一般視觀表。即時具體化視觀表可提供使用者查詢的新資料,即使具體化視觀表因資料變更而未與其基礎表格同步。最佳化處理程式會寫入結合具體化視觀表中現有資料列與日誌檔中記錄之變更的查詢 (具體化視觀表日誌或直接載入器日誌),以替代修改具體化視觀表。這稱為查詢運算。
  • 查詢重新寫入:如果啟用,就會啟用具體化視觀表以進行查詢重新寫入,這會將以主要表格撰寫的使用者要求轉換成包含一或多個具體化視觀表的半等效要求。
  • 建置:指定何時填入具體化視觀表。立即表示要立即填入具體化視觀表。延緩表示具體化視觀表要由下次重新整理作業填入。如果指定「延緩」,則第一個 (延緩) 重新整理必須一律是完整的重新整理;到此為止,具體化視觀表的過時值是無法使用的,因此無法用於查詢重新寫入。
  • 使用索引:如果是,則會建立預設索引,並用來加速具體化視觀表的增量 (快速) 重新整理。如果是,則不會建立此預設索引。(例如,您可以選擇立即隱藏索引建立,並在稍後明確建立這類索引。)
  • 索引表格空間:指定要在其中建立具體化視觀表的表格空間。如果沒有選取表格空間,則具體化視觀表會在包含具體化視觀表之綱要的預設表格空間中建立。
  • 快取:如果是,則為此表格擷取的區塊會在執行完整之表格掃描時,置於緩衝區快取中最近使用之 (LRU) 清單的最近結尾。此設定對於小型查詢表相當有用。如果是,則區塊會放置在 LRU 清單最近使用的最少結尾。

Refresh 子句

  • 重新整理:選取以啟用重新整理作業。

  • 重新整理類型:要執行的重新整理作業方法:
    • 完整重新整理:執行具體化視觀表的定義查詢 (即使可以快速重新整理)。
    • 快速重新整理:使用增量重新整理方法,此方法會根據主要表格發生的變更來執行重新整理。傳統 DML 變更的變更會儲存在與主要表格關聯的具體化視觀表日誌中。直接路徑 INSERT 作業的變更會儲存在直接載入器日誌中。
    • 強制重新整理:如果可以執行快速重新整理;否則,會執行完整的重新整理。
  • 動作:要執行的重新整理作業類型:
    • On Demand:在呼叫其中一個 DBMS_MVIEW 重新整理程序時執行重新整理。
    • 確認時:每當資料庫確認在具體化視觀表之主要表格上運作的交易時,執行快速重新整理。這可能會增加完成確認所需的時間,因為資料庫會在確認處理作業中執行重新整理作業。
    • 指定:根據您在「開始於」和「下一步」欄位中指定的項目執行重新整理作業。
  • 開始日期:第一次自動重新整理作業的開始日期與時間。必須是未來的趨勢。
  • 下一個日期:下次自動重新整理作業的時間。「開始時間」與「下次時間」之間的間隔,會建立後續自動重新整理作業的間隔。如果您未指定值,重新整理作業只會在指定的「開始時間」執行一次。
  • 使用:重新整理類型,決定具體化視觀表的類型:
    • 主索引鍵:建立主索引鍵具體化視觀表,讓具體化視觀表主要表格能夠重組,而不會影響具體化視觀表的快速重新整理資格。
    • 資料列 ID:建立資料列 ID 具體化視觀表,這在具體化視觀表未包含主要表格的所有主索引鍵資料欄時很有用。
  • 預設儲存體:如果是,DEFAULT 會指定 Oracle Database 將自動選擇要使用的倒回區段。如果指定 DEFAULT,則無法指定 rollback_segment。DEFAULT 在修改具體化視觀表 (而非建立具體化視觀表) 時最有用。
  • 儲存體類型:MASTER 指定要用於個別具體化視觀表之遠端主要位置的遠端倒回區段。LOCAL 指定要用於包含具體化視觀表之本機重新整理群組的遠端倒回區段。這是預設值。
  • 倒回區段:輸入倒回區段的名稱。
  • 使用限制條件:如果核取此選項,就可以在重新整理作業期間使用更多的重新寫入替代項目,讓重新整理執行更有效率。此選項的行為會受到您選取「強制」或「信任」的影響。
    • 強制:僅在重新整理作業期間使用強制的限制條件。
    • 信任:啟用資料庫管理員宣告可信任但尚未由資料庫驗證的維度和限制條件資訊。如果標註和約束資訊有效,則效能可能會改善。不過,如果此資訊無效,則重新整理程序可能會損毀具體化視觀表,即使它會傳回成功狀態。

DDL 窗格

您可以複查並儲存建立或編輯物件時產生的 SQL 敘述句。如果您要進行任何變更,請返回相關窗格並在該處進行變更。

若為新表格,請按一下建立以檢視產生的 DDL 敘述句。

編輯表格特性時,按一下 UPDATE 以檢視產生的 ALTER 敘述句。

若為新表格,將無法使用 UPDATE 頁籤。完成後,請按一下套用

輸出窗格

顯示 DDL 命令的結果。

如果有任何錯誤,請移至適當的窗格,修正錯誤,然後再次執行命令。您可以儲存至文字檔或清除輸出。