建立及編輯資料庫物件

您可以從 SQL 和 Data Modeler 頁面的「導覽器」頁籤,使用「建立」和「編輯物件」精靈來建立和編輯物件。

下列各節說明建立及編輯各種物件類型的精靈:

表格屬性對話方塊

當您建立表格、編輯現有表格,或使用現有的表格作為樣板建立表格時,就會顯示「表格特性」對話方塊。

您可以從 SQL 或 Data Modeler 的「導覽器」頁籤開啟「表格特性」對話方塊。

若要建立特定綱要的表格,請在「導覽器」頁籤中,從物件類型下拉式清單中選取表格,按一下物件子功能表 物件子功能表,然後選取建立物件

圖 3-14 建立物件

圖 3-14 的描述如下
「圖 3-14 建立物件」說明

若要從特定綱要的現有表格建立表格,請在「導覽器」頁籤的表格物件上按一下滑鼠右鍵,然後選取作為樣板,如圖 3-15 所示。

若要編輯特定綱要的表格,請在「導覽器」頁籤中的表格物件上按一下滑鼠右鍵,然後選取編輯

圖 3-15 現有表格的編輯選項

圖 3-15 的描述如下
「圖 3-15 現有表格的編輯選項」描述

表格特性分為數個窗格。

如果您正在編輯現有的表格,您可以依任何順序瀏覽窗格。如果您在完成建立表格之前按一下「建立」,請在表格名稱上按一下滑鼠右鍵,選取編輯,然後繼續建立表格。

附註:

不建議編輯分割的表格。若要識別表格是否已分割,請在表格名稱上按一下滑鼠右鍵,然後選取編輯。如果分割表格,將會顯示警告訊息。

綱要:要在其中建立表格的資料庫綱要。依照預設,會在現有的綱要或您所登入的綱要中建立新表格。

名稱:表格的名稱。

對話方塊中的不同窗格說明如下:

資料欄窗格

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

一般頁籤

列出表格中可用的資料欄。

若要新增欄,請按一下新增欄 (+)。下方表格新增了新的資料列。選取列並輸入欄的詳細資料。

若要刪除欄,請選取該列,然後按一下移除欄 (-)。若要在表格中向上或向下移動資料欄,請選取該資料欄並使用向上箭號和向下箭號圖示。

圖 3-16 新增資料欄

圖 3-16 的描述如下
「圖 3-16 新增資料欄」描述
  • 名稱:資料欄的名稱。

  • 資料類型:資料欄的資料類型。

  • 預設值:如果未指定任何值,則插入資料列時會插入資料欄中的預設值。

  • 預設為空值:適用於 Oracle Database 12c 和更新版本。如果選取此選項,當資料列插入表格,且為資料欄指定的值為空值時,預設值就會插入資料欄中。

  • 表示式:用於計算資料欄中值的表示式。

  • 註解:資料欄的選擇性描述性註解。使用此欄位提供屬性的描述。

在表格中:

  • 主索引鍵:如果選取此選項,資料欄就會變成主索引鍵。

  • 識別資料欄:如果選取此選項,資料欄就會變成識別資料欄。這只適用於 Oracle Database 12c 和更新版本的版本。如需詳細資訊,請參閱「識別資料欄」頁籤。

限制頁標

顯示資料欄的「非空值」和「檢查限制條件」。檢查限制條件需要資料欄中的值才能符合指定的條件。

  • 非空值限制條件:名稱:非空值限制條件的名稱。

  • 非空值限制條件:非空值:如果選取此選項,資料欄必須包含資料。當您插入資料列時,無法指定此資料欄的值或明確的空值。如果未勾選此選項,則資料欄可以包含資料或不包含資料。主鍵欄位不得為 Null。

  • 檢查限制條件:名稱:檢查限制條件定義的名稱。

  • 檢查限制條件:限制條件:必須符合資料欄才能滿足檢查限制條件的條件。您可以使用任何有效的 CHECK 子句 (不含 CHECK 關鍵字)。例如,若要指出名為 RATING 之數值欄中的值必須從 1 到 10,您可以指定:評等 >=1 且評等 <= 10。

  • 已啟用:如果選取此選項,當資料欄中輸入或更新資料時,就會檢查限制條件。

  • 可延緩:如果選取此選項,您可以延緩檢查限制的有效性,直到交易結束為止。

  • 立即啟動:如果選取此選項,當您新增、更新或刪除資料欄中的資料時,就會檢查限制條件。

  • 驗證:如果選取此選項,則會檢查現有的資料以查看是否符合限制條件。

識別資料欄頁籤

適用於 Oracle Database 12c 和更新版本。「識別資料欄」頁籤會列出識別資料欄的特性。只有在選取「一般」頁籤中資料欄的「識別資料欄」核取方塊後,才能使用此頁籤。識別資料欄是一種自動增量資料欄,可用來識別表格資料列。表格只能指定一個識別資料欄。

  • 產生:一律表示無法在 INSERT 或 UPDATE 敘述句中明確包含識別資料欄的值。「預設」表示若未明確指定值,會自動產生識別資料欄的值,「預設為空值」表示只有在提供 NULL 值時,才會產生資料欄的值。

  • 開頭為:順序的起始值。

  • 增量:連續數字之間的間隔。

  • 最小值:序列的最低可能值。遞增順序的預設值為 1,遞減順序為 - (10^26)。

  • 最大值:序列的最高可能值。遞增序列的預設值為 10^27,遞減序列的預設值為 -1。

  • 快取快取大小:快取會讓順序值預先配置在快取中,以改善應用程式效能;快取大小代表快取中預先配置的順序值數目。沒有快取會導致順序值未預先配置在快取中。

  • 週期:指出在達到最大值 (針對遞增順序) 或最小值 (針對遞減順序) 之後,序列「繞過」是否重複使用數字。如果未啟用循環值,則序列在達到其最大值或最小值之後無法產生更多的值。

  • 順序:指示是否依要求的順序產生序號。如果已指定「無訂單」,則不保證序號按照請求的順序排列。

主索引鍵窗格

指定表格的主鍵。

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

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

  • 名稱:要與主索引鍵定義關聯的限制條件名稱。

  • 已啟用:如果勾選此選項,則會強制執行主索引鍵限制條件:亦即,主索引鍵資料欄 (或資料欄集) 中的資料必須是唯一的,而不是空值。

  • 索引:主索引鍵所參照的索引名稱。

  • 表格空間:與索引關聯的表格空間名稱。

  • 可用的資料欄:列出可新增至主索引鍵定義的資料欄。您可以視需要為主索引鍵選取多個屬性。

  • 選取的資料欄:列出主索引鍵定義中包含的資料欄。

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

唯一索引鍵窗格

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

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

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

  • 名稱:唯一限制條件的名稱。

  • 已啟用:如果選取此選項,則會強制實行唯一的限制條件。

  • 可靠:如果選取此選項,則在查詢重新寫入期間,會將 NOVALIDATE 模式的限制納入考量。

  • 可延緩:如果選取此選項,在後續交易中,可以延緩限制條件檢查,直到使用 SET CONSTRAINT (S) 陳述式的交易結束為止。

  • 最初立即:如果選取此選項,就會在每個後續的 SQL 敘述句結束時檢查限制條件。

  • 驗證:如果選取此選項,則會檢查現有資料,以查看是否符合限制條件。

  • 索引:唯一索引鍵所參照的索引名稱。

  • 表格空間:與索引關聯的表格空間名稱。

  • 可用的資料欄:列出可新增至唯一限制條件定義的資料欄。

  • 選取的資料欄:列出包含在唯一限制條件定義中的資料欄。

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

索引窗格

列出為表格定義的索引。

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

  • 名稱:索引的名稱。

  • 類型:Oracle 索引的類型。Non-unique 表示索引可包含多個相同的值;Unique 表示不允許重複的值;Bitmap 會將與索引鍵值相關聯的資料列 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 AI Database Utilities。opaque_format_spec 中指定的欄位名稱必須與表格定義中的資料欄相符,否則 Oracle Database 會忽略它們。

    • 使用 CLOB:可讓您透過子查詢衍生參數及其值。子查詢不可包含任何集合運算子或 ORDER BY 子句。它必須傳回一個資料列,其中包含 CLOB 資料類型的單一項目。

  • 拒絕限制:查詢外部資料時,在傳回 Oracle Database 錯誤並中止查詢之前,可能發生的轉換錯誤數目。

  • 專案欄:決定存取驅動程式在後續查詢中驗證外部表格列的方式。

    • ALL:處理所有欄值,不論選取哪些欄,並僅驗證具有完整有效欄項目的列。如果有任何資料欄值產生錯誤 (例如資料類型轉換錯誤),即使查詢的選取清單中未參照該資料欄,也會拒絕該資料列。

    • 已參考:僅處理查詢選取清單中的那些資料欄。

    ALL 設定可確保一致的結果集。REFERENCED 設定會根據後續查詢中參照的資料欄,產生不同數目的傳回資料列,但其速度比 ALL 設定快。如果後續查詢選取外部表格的所有資料欄,則設定值的行為會相同。

  • 位置:指定外部表格的資料檔。使用「新增 (+)」圖示來新增每個位置規格。

    • 對於 ORACLE_LOADER 與 ORACLE_DATAPUMP,檔案會以 directory:file 格式命名。目錄部分是選擇性的。如果遺漏,則會使用預設目錄作為檔案的目錄。如果您使用 ORACLE_LOADER 存取驅動程式,則可在檔案名稱中使用萬用字元。星號 (*) 表示多個字元,問號 (?) 表示單一字元。

    • 對於 ORACLE_HDFS,LOCATION 是目錄或檔案的統一資源 ID (URI) 清單。沒有與 URI 關聯的目錄物件。

    • 針對 ORACLE_HIVE,不會使用 LOCATION。而是會讀取 Hadoop HCatalog 表格,以取得資料來源位置 (可以是檔案或其他資料庫) 的相關資訊。

不透明格式規格

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

舉例而言:

RECORDS DELIMITED BY NEWLINE CHARACTERSET US7ASCII
    TERRITORY AMERICA
    BADFILE log_file_dir:'ext_1v3.bad'
    LOGFILE log_file_dir:'ext_1v3.log'
    FIELDS TERMINATED BY "|" OPTIONALLY ENCLOSED BY '^' LDRTRIM
    ( PROD_ID,
      CUST_ID ,
      TIME_ID DATE(10) "YYYY-MM-DD",
      CHANNEL_ID ,
      PROMO_ID ,
      QUANTITY_SOLD ,
      AMOUNT_SOLD ,
      UNIT_COST ,
      UNIT_PRICE
    )

以及完整敘述句:

CREATE TABLE SH.SALES_TRANSACTIONS_EXT
    (
      PROD_ID NUMBER ,
      CUST_ID NUMBER , 
      TIME_ID DATE ,
      CHANNEL_ID NUMBER ,
      PROMO_ID NUMBER ,
      QUANTITY_SOLD NUMBER , 
     AMOUNT_SOLD NUMBER (10,2) , 
     UNIT_COST NUMBER (10,2) , 
     UNIT_PRICE NUMBER (10,2)
     )
     ORGANIZATION EXTERNAL
     (
     TYPE ORACLE_LOADER
     DEFAULT DIRECTORY DATA_FILE_DIR
     ACCESS PARAMETERS
     (
     RECORDS DELIMITED BY NEWLINE CHARACTERSET US7ASCII
    TERRITORY AMERICA
    BADFILE log_file_dir:'ext_1v3.bad'
    LOGFILE log_file_dir:'ext_1v3.log'
    FIELDS TERMINATED BY "|" OPTIONALLY ENCLOSED BY '^' LDRTRIM
    ( PROD_ID ,
      CUST_ID ,
      TIME_ID DATE(10) "YYYY-MM-DD",
      CHANNEL_ID ,
      PROMO_ID ,
      QUANTITY_SOLD ,
      AMOUNT_SOLD ,
      UNIT_COST ,
      UNIT_PRICE
    )
    )
     LOCATION ( "DATA_FILE_DIR":'sale1v3.dat')
     )
     REJECT LIMIT 100
 ;

CLOB 子查詢

輸入或複製並貼上查詢。

附註:

如需有關外部表格欄位的詳細資訊,請參閱 Oracle AI Database UtilitiesOracle AI Database SQL Language Reference

具體化視觀表窗格

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

查詢:包含檢視定義之查詢部分的 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 命令的結果。如果有任何錯誤,請移至適當的窗格,修正錯誤,然後再次執行命令。您可以儲存至文字檔或清除輸出。

索引特性對話方塊

當您建立或編輯索引時,會顯示「索引特性」對話方塊。

若要為選取的綱要建立索引,請在 SQL 的「導覽器」頁籤中,從物件類型下拉式清單中選取索引,按一下物件子功能表 物件子功能表,然後選取建立物件

若要編輯所選綱要的索引,請在「導覽器」頁籤中的表格物件上按一下滑鼠右鍵,然後選取編輯

定義窗格

  • 綱要:擁有與索引相關聯之表格的資料庫綱要。

  • 表格:與索引相關聯之表格的名稱。

  • 綱要:要在其中建立索引的資料庫。

  • 表格空間:索引的表格空間。

  • 名稱:索引的名稱。

  • 類型:Oracle 索引的類型。
    • 非唯一表示索引可以包含多個相同的值。

    • 唯一表示不允許重複的值。

    • 點陣圖會將與索引鍵值相關聯的資料列 ID 儲存為點陣圖。

  • 表示式:資料欄名稱或資料欄表示式。資料欄表示式是從資料欄、常數、SQL 函數以及使用者定義的函數所建立的表示式。當您指定資料欄表示式時,會建立一個以函數為基礎的索引。

  • 可用的資料欄:表格中可用的資料欄。

  • 選取的資料欄:為索引選取的資料欄。按一下「新增選取的資料欄 >」,從「可用的資料欄」清單中移動資料欄。

  • 順序ASC 代表遞增索引 (以遞增順序排序的索引值); DESC 代表遞減索引 (以遞減順序排序的索引值)。

DDL 窗格

您可以複查並儲存建立或編輯索引時產生的 SQL 敘述句。如果您要進行任何變更,請返回「定義」窗格,然後在該處進行變更。

  • 針對新索引,按一下建立以檢視產生的 DDL 敘述句。

  • 編輯索引特性時,按一下 UPDATE 以檢視產生的 ALTER 敘述句。若為新索引,將無法使用 UPDATE 頁籤。

完成後,請按一下套用

Output pane -「輸出」窗格

顯示 DDL 命令的結果。如果有任何錯誤,請移至「定義」窗格,修正錯誤,然後再次執行命令。您可以儲存至文字檔或清除輸出。

序列特性對話方塊

當您建立或編輯序列時,會顯示「序列特性」對話方塊。

若要建立所選綱要的順序,請在 SQL 的「導覽器」頁籤中,從物件類型下拉式清單中選取順序,按一下物件子功能表 物件子功能表,然後選取建立物件

若要編輯所選綱要的順序,請在「導覽器」頁籤中的順序物件上按一下滑鼠右鍵,然後選取編輯

序列是一個物件,可供多位使用者產生唯一的整數。您可以使用序列來自動產生主索引鍵值。

特性窗格

  • 綱要:要在其中建立順序的資料庫綱要。

  • 名稱:順序的名稱。

  • 開頭為:順序的起始值。

  • 增量:連續數字之間的間隔。

  • 最小值:序列的最低可能值。遞增順序的預設值為 1,遞減順序為 - (10^26)。

  • 最大值:序列的最高可能值。遞增序列的預設值為 10^27,遞減序列的預設值為 -1。

  • 快取快取大小Cache 會讓順序值預先配置在快取中,以改善應用程式效能;快取大小代表快取中預先配置的順序值數目。No Cache 會導致順序值不會預先配置在快取中。

  • 週期:指出在達到最大值 (針對遞增順序) 或最小值 (針對遞減順序) 之後,序列「繞過」是否重複使用數字。如果未啟用循環值,則序列在達到其最大值或最小值之後無法產生更多的值。

  • 順序:指示是否依要求的順序產生序號。如果指定無順序,則不保證序號是依照要求的順序。

DDL 窗格

您可以複查並儲存建立或編輯順序時產生的 SQL 敘述句。若要進行任何變更,請返回「特性」窗格,然後在該處進行變更。

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

  • 編輯序列時,按一下 UPDATE 以檢視產生的 ALTER 敘述句。對於新順序,將無法使用 UPDATE 頁籤。

完成時,請按一下套用

Output pane -「輸出」窗格

顯示 DDL 命令的結果。如果有任何錯誤,請移至「特性」窗格,修正錯誤,然後再次執行命令。您已儲存至文字檔或清除輸出。

「檢視屬性」對話方塊

當您建立或編輯檢視時,會顯示「檢視特性」對話方塊。

您可以從 SQL 或 Data Modeler 的「導覽器」頁籤開啟「檢視特性」對話方塊。

若要建立所選綱要的檢視,請在 SQL 的「導覽器」頁籤中,從物件類型下拉式清單中選取檢視,按一下「物件」子功能表 物件子功能表,然後選取建立物件

若要從所選綱要的現有樣板建立視觀表,請在「導覽器」頁籤中選取要建立的視觀表,按一下滑鼠右鍵並選取作為樣板

若要編輯所選綱要的檢視,請在「導覽器」窗格中的檢視物件上按一下滑鼠右鍵,然後選取編輯

綱要:要在其中建立檢視的資料庫綱要。

名稱:檢視的名稱。

對話方塊中的不同窗格說明如下:

SQL 查詢窗格

使用 SELECT 和 FROM 關鍵字以及擷取所需資訊所需的語法,來輸入或複製和貼上檢視的 SQL 查詢。查詢之後不需要分號。

資料欄窗格

按一下「重新整理資料欄」重新整理欄,即可自動在此窗格填入資料欄。您可以選取必要列,並在「標頭別名」與「備註」欄位中進行變更,以編輯欄。

儲存體窗格

  • 建立時強制執行:選取以建立檢視,不論檢視的基礎表格或參照的物件類型是否存在,或包含檢視之綱要的擁有者是否具有其權限。在對視觀表發出任何 SELECT、INSERT、UPDATE 或 DELETE 敘述句之前,這些條件必須為真。如果視圖定義包含任何約束,則建立視圖 ... 如果基礎表格不存在或參照的物件類型不存在,則 FORCE 會失敗。建立檢視 ... 如果視觀表定義命名的限制條件不存在,則 FORCE 也會失敗。

  • 查詢限制唯讀可防止檢視用於新增、刪除或變更基礎表格中的資料。檢查選項會禁止對基礎表格進行任何變更,以產生不包含在此檢視中的資料列。

您可以使用「主索引鍵」、「唯一索引鍵」、「外來索引鍵」以及「註解」窗格,視需要新增或編輯特性。

DDL 窗格

根據提供的輸入,會產生 DDL 敘述句。您可以複查和儲存 SQL 敘述句。如果您要進行任何變更,請返回相關窗格,然後在該處進行變更。

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

  • 編輯檢視時,按一下 UPDATE 以檢視產生的 ALTER 敘述句。對於新檢視,將無法使用 UPDATE 頁籤。

完成時,請按一下套用

Output pane -「輸出」窗格

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

同義字特性對話方塊

當您建立同義字時,會顯示「同義字特性」對話方塊。

建立所選綱要的同義字的方法有兩種:

  • 在 SQL 的「導覽器」頁籤中,用滑鼠右鍵按一下要建立同義字的物件,然後選取新增同義字。在此情況下,您只能在「特性」窗格中編輯的欄位是「公用」和「同義字名稱」。其餘欄位的值會由選取的物件預先決定。

  • 在 SQL 的「導覽器」頁籤中,從下拉式清單中選取同義字公用同義字的物件類型。按一下「物件」子功能表 物件子功能表,然後選取建立物件。「特性」對話方塊中的所有欄位都可供編輯。

對話方塊中的不同窗格說明如下:

特性窗格

  • 公用:如果核取此選項,所有使用者都可以存取同義字。不過,每個使用者都必須具備相關物件的適當權限,才能使用同義字。如果未核取此選項,同義字就是專用同義字,而且只能在其綱要內存取。

  • 同義字綱要:要在其中建立同義字的資料庫綱要。

  • 同義字名稱:同義字的名稱。專用同義字在其綱要內必須是唯一的;公用同義字在資料庫內必須是唯一的。

  • 物件類型:指定此同義字所參照的物件類型。

  • 物件綱要:包含此同義字所參照之物件或名稱的綱要。

  • 資料庫篩選:選取「物件類型」和「物件綱要」之後,所選類型的物件清單可能會非常長。若要篩選物件名稱,請輸入搜尋項目,然後按一下「重新整理 重新整理」。「物件名稱」欄位會在下拉式清單中自動填入適當的物件名稱。

  • 物件名稱:選取此同義字所參照的物件名稱。

  • 資料庫連結:輸入完整或部分的資料庫連結,為物件所在之遠端資料庫的綱要物件建立同義字。如果您指定「資料庫連結」並省略綱要,則同義字會參照資料庫連結所指定之綱要中的物件。Oracle 建議您指定包含遠端資料庫中物件的綱要。如果省略「資料庫連結」,Oracle Database 會假設物件位於本機資料庫。

DDL 窗格

根據提供的輸入,會產生 DDL 敘述句。您可以複查和儲存 SQL 敘述句。如果您要進行任何變更,請返回相關窗格,然後在該處進行變更。

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

  • 編輯檢視時,按一下 UPDATE 以檢視產生的 ALTER 敘述句。對於新檢視,將無法使用 UPDATE 頁籤。

完成時,請按一下套用

Output pane -「輸出」窗格

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

具體化視觀表日誌特性對話方塊

「具體化視觀表日誌特性」對話方塊會在您建立或編輯具體化視觀表日誌時顯示,此日誌是與具體化視觀表之主要表格關聯的表格。

若要為選取的綱要建立具體化視觀表日誌,請在 SQL 的「導覽器」頁籤中,從物件類型下拉式清單中選取具體化視觀表日誌,按一下「物件」子功能表 物件子功能表,然後選取建立物件

若要編輯,請在「導覽器」窗格中的具體化視觀表日誌物件上按一下滑鼠右鍵,然後選取編輯

綱要:要在其中建立具體化視觀表日誌的資料庫綱要。

表格:要與此具體化視觀表日誌關聯之具體化視觀表的主要表格名稱。

「屬性」頁籤

  • 已記錄資料列 ID表示所有已變更資料列的資料列 ID 都應記錄在具體化視觀表日誌中。表示不應將所有已變更資料列的資料列 ID 記錄在具體化視觀表日誌中。

  • 已記錄主索引鍵表示所有已變更資料列的主索引鍵應記錄在具體化視觀表日誌中;表示不應將所有已變更資料列的主索引鍵記錄在具體化視觀表日誌中。

  • 新值會同時儲存舊值和新值,以更新具體化視觀表日誌中的 DML 作業;會停用記錄具體化視觀表日誌中的新值。如果此日誌適用於您具有單一表格具體化聚總檢視的表格,而且您想要讓具體化視觀表適用於快速重新整理,則必須指定「是」。

  • 記錄的物件 ID :僅用於記錄物件表格:表示應將每個修改之資料列的系統產生或使用者定義物件識別碼記錄在具體化視觀表日誌中。表示系統產生或使用者定義的每個已修改資料列物件 ID 不應記錄在具體化視觀表日誌中。

  • 快取:對於經常存取的資料, CACHE 會指定在執行完整表格掃描時,針對此日誌擷取的區塊會置於緩衝區快取中最近使用清單的最近使用結尾。此屬性對於小型查詢表格很有用。NOCACHE 指定將區塊置於 LRU 清單最近使用的最少結尾。

  • 平行:如果是 YES ,具體化視觀表日誌將支援平行作業。

  • 已記錄順序表示提供額外訂購資訊的順序值應記錄在具體化視觀表日誌中。表示提供其他排序資訊的順序值不應記錄在具體化視觀表日誌中。需要序號 (亦即此選項為「是」),才能在某些更新案例之後支援快速重新整理。

  • 確認 SCN :如果啟用此選項,就會指示資料庫使用確認 SCN 資料,而非時戳。

  • 可用的資料欄選取的資料欄:要記錄在具體化視觀表日誌中的其他資料欄,亦即子查詢具體化視觀表所參照的非主要資料欄。若要選取一或多個篩選資料欄,請使用箭號按鈕將資料欄從「可用」移至「已選取」。

儲存體頁籤

  • 表格空間:要在其中建立具體化視觀表日誌的表格空間

  • 記錄日誌,以建立具體化視觀表日誌的記錄日誌特性。

  • 緩衝區模式:選取 KEEP 可將區段中的區塊放入 KEEP 緩衝區集區。選取 RECYCLE ,將區段中的區塊放入 RECYCLE 集區。選取 DEFAULT 指示預設緩衝區集區。

  • 可用百分比:指定一個整數,代表保留供未來更新物件資料列之資料庫物件每個資料區塊中的空間百分比。PCTFREE 的值必須是 0 到 99 的值。

  • 使用的百分比:指定一個整數,代表 Oracle 針對資料庫物件的每個資料區塊所維護的最小已使用空間百分比。PCTUSED 指定為 0 到 99 的正整數,且預設為 40。

  • Initrans :指定配置給資料庫物件之每個資料區塊內配置的並行交易項目起始數目。此值的範圍從 1 到 255,且預設值為 1。

  • 清單:在具有手動區段空間管理的表格空間中,針對表格空間和倒回區段以外的物件,指定表格、分割區、叢集或索引之每個可用清單群組的可用清單數目。此參數的預設值與最小值為 1,表示每個可用清單群組皆包含一個可用清單。

  • 重新列示群組:在具有手動區段空間管理的表格空間中,指定要建立之資料庫物件的可用清單群組數目。

  • 起始擴充區塊:指定物件第一個擴充區塊的大小。

  • 下一個擴充區塊:指定要配置給物件的下一個擴充區塊大小 (位元組)。

  • 增加百分比:在本機管理的表格空間中,Oracle Database 會在建立區段時使用 PCTINCREASE 的值來決定起始區段大小,並在後續的空間配置期間忽略此參數。

  • 擴充區塊數目下限:在本機管理的表格空間中,Oracle Database 會將 MINEXTENTS 值與 PCTINCREASE、INITIAL 以及 NEXT 搭配使用,來決定起始區段大小。

  • 擴充區塊上限:此儲存體參數只對說明管理之表格空間中的物件有效。指定 Oracle 可以配置給物件的擴充區塊總數 (包括第一個擴充區塊)。

  • 無限制:若要視需要自動配置擴充區塊,請選取此選項。Oracle 建議將此設定減至最小分散程度。

清除頁籤

  • 類型:在 IMMEDIATE SYNCHRONOUS 中,具體化視觀表日誌會在重新整理後立即永久清除。這是預設值。在 IMMEDIATE ASYNCHRONOUS 中,具體化視觀表日誌會在重新整理作業之後,於個別的 Oracle Scheduler 工作中永久清除。

  • 延緩、開始為、下一個、重複間隔:設定與具體化視觀表重新整理無關的排定永久清除,並在 CREATE 或 ALTER MATERIALIZED VIEW LOG 敘述句期間起始。

重新整理分頁

  • 類型同步重新整理會建立可用於同步重新整理的暫存日誌。指定要建立的暫存日誌名稱。將在主要表格所在的綱要中建立暫存日誌。快速重新整理會建立可用於快速重新整理的具體化視觀表日誌。將在主要表格所在的相同綱要中建立具體化視觀表日誌。這是預設值。

DDL 窗格

根據提供的輸入,會產生 DDL 敘述句。您可以複查和儲存 SQL 敘述句。如果您要進行任何變更,請返回相關窗格,然後在該處進行變更。

  • 若為新的具體化視觀表日誌,請按一下 CREATE 以檢視產生的 DDL 敘述句。

  • 編輯具體化視觀表日誌時,請按一下 UPDATE 以檢視產生的 ALTER 敘述句。對於新的具體化視觀表日誌,將無法使用 UPDATE 頁籤。

完成後,請按一下套用

Output pane -「輸出」窗格

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

隱含外來索引鍵

隱含外來索引鍵是表格之間存在但未在資料庫中定義的相依性。在資料倉儲環境中,不建立外來索引鍵是很常見的做法。不過,為了簡報或報告目的,必須顯示這些相依性。

您可以透過定義物件或在資料說明中尋找物件,來顯示星狀綱要中物件的隱含外來索引鍵。隱含外來索引鍵可以有多個來源。

定義隱含外來索引鍵

您可以使用兩種方式定義隱含外來索引鍵:

  • 使用隱含外來鍵對話方塊

  • 將箭號拖曳至圖表中參照的物件

使用隱含外來鍵對話方塊

您可以使用 Data Modeler 中的「隱含外來索引鍵」對話方塊來定義隱含外來索引鍵。

  1. 在 Data Modeler 圖表中,在物件 (表格或檢視) 上按一下滑鼠右鍵,然後選取隱含外來索引鍵

    圖 3-17 選取物件的隱含外來索引鍵

    select_implied_foreign_keys.png 的描述如下
    select_implied_foreign_keys.png 圖解描述

    將會顯示「隱含外來索引鍵」對話方塊。

  2. 在「隱含外來鍵」對話方塊中,按一下 + 以在方格中新增項目。

  3. 選取方格中的項目,以啟用並在下列欄位中輸入值:

    • 參照的物件:圖表中與來源物件相依的物件。

    • 本機資料欄:來源物件中資料欄的名稱。

    • 參照的資料欄:目標物件中資料欄的名稱。

    • 尋找來源:自動預先填入,顯示是否已在資料說明中定義或找到隱含的外來索引鍵。

  4. 按一下確定。圖表中會顯示隱含的外來索引鍵相依性,其中包含虛線。

    圖 3-18 兩個物件之間的虛線

    點線

將箭號拖曳至圖表中的參照物件

您也可以使用下列方式定義隱含外來索引鍵:

  1. 選取圖表上的來源物件。

  2. 按一下並拖曳帶有藍色指示器的小曲線箭頭至參考的物件。相依性將會在圖表上以虛線顯示。

    圖 3-19 拖曳藍色指示器

    圖 3-19 的描述請參閱下方
    「圖 3-19 拖曳藍色指示器」的描述
  3. 在來源物件上按一下右鍵,然後在「隱含外來鍵」對話方塊中輸入欄名稱。

在資料字典中尋找隱含的外來索引鍵

在資料說明中搜尋數種類型的定義,即可找到星狀綱要。

在「導覽器」頁籤中的物件 (表格或視觀表) 上按一下滑鼠右鍵,然後選取將物件新增為星形綱要至圖表。物件必須是事實表格。接著會搜尋資料說明,尋找與物件相關的結合和相依性,例如:

  • 為所選表格所定義的外來鍵至其他表格。如果稍後發現相同資料欄的隱含外來索引鍵,圖表中就不會顯示它們。

  • 用於點陣圖結合索引的定義、具有聚總的具體化視觀表,以及屬性叢集的結合。

  • 依據事實表格中的維度定義和資料欄名稱比對的相依性。

  • 分析視觀表和 OLAP 立方體和維度的事實和維度定義。