表の編集
表エンティティの横にある「アクション」(縦に並んだ3つのドット)の「編集」メニューで使用可能な「表の編集」ウィザードを使用して、オブジェクトを作成および編集できます。
「アクション」メニューから「編集をクリックすると、表の編集ウィザードが開きます。ペインには任意の順序でアクセスし、表を編集できます。表のプロパティはいくつかのペインにグループ分けされています。
- スキーマ: 表が存在するデータベース・スキーマ。
- 名前: 表名
- 「列」ペイン
- 「主キー」ペイン
- 「一意キー」ペイン
- 「索引」ペイン
- 「外部キー」ペイン
- 「表制約」ペイン
- 「コメント」ペイン
- 「記憶域」ペイン
- 「外部表プロパティ」ペイン
- 「マテリアライズド・ビュー」ペイン
- 「DDL」ペイン
- 出力画面
- 「列」ペイン
表内の各列のプロパティを指定します。 - 「主キー」ペイン
表の主キーを指定します。 - 「一意キー」ペイン
表の一意制約を1つ以上指定します。 - 「索引」ペイン
表に対して定義されている索引がリストされます。 - 「外部キー」ペイン
表に1つ以上の外部キーを指定します。 - 「表制約」ペイン
表に1つ以上のチェック制約を指定します。 - 「コメント」ペイン
このペインで説明的なコメントを入力します。 - 「記憶域」ペイン
表の記憶域オプションを指定できます。 - 「外部表のプロパティ」ペイン
外部表のオプションを指定します。 - 「マテリアライズド・ビュー」ペイン
マテリアライズド・ビューのオプションを指定します。 - 「DDLペイン」
オブジェクトの作成または編集時に生成されるSQL文を確認および保存できます。変更が必要な場合は該当するペインに戻って変更します。 - 「出力」ペイン
DDLコマンドの結果を表示します。
親トピック: カタログ・ツール
「列」ペイン 🔗
表の各列のプロパティを指定します。
一般タブ
- 名前: 列の名前。
- データ型: 列のデータ型。
- デフォルト: 値を指定しない場合のデフォルト値はnullです。
- NULLのデフォルト: Oracle Database 12c以降のリリースに適用できます。このオプションを選択すると、表に行が挿入されてその列に指定した値がNULLの場合、デフォルト値が列に挿入されます。
- 式: 列の値を計算する式。
- コメント: 列の説明コメント(オプション)。このフィールドを使用して、属性の説明を指定します。
- PK: このオプションを選択すると、列が主キーになります。
- ID列 : このオプションを選択すると、列がID列になります。これは、Oracle Database 12c以降のリリースにのみ適用できます。詳細は、「「ID列」タブ」を参照してください。
「制約」タブ
- Not Null制約: 名前: Not Null制約の名前。
- NULL以外制約: NULL以外: このオプションを選択すると、列にはデータが含まれている必要があります。行を挿入するときに、この列に値を指定することも、明示的なNULL値を指定することもできません。このオプションを選択しない場合、列にデータを含めることも含めないことも可能です。主キー列にNULLは指定できません。
- チェック制約: 名前: チェック制約定義の名前。
- チェック制約: 制約: チェック制約を満たす列に対して満たす必要がある条件。有効なCHECK句を使用できます(CHECKキーワードは不要)。たとえば、RATINGという数値列の値が1から10の範囲内でなければならないことを示すには、rating >=1 and rating <= 10と指定します。
- 有効: このオプションを選択すると、列にデータが入力または更新されるときに制約がチェックされます。
- 遅延可能: このオプションを選択すると、トランザクションの終了まで制約の妥当性チェックを遅らせることができます。
- 初期即時: このオプションを選択すると、列に対してデータを追加、更新または削除するたびに制約がチェックされます。
- 検証: このオプションを選択すると、既存のデータが制約に適合するかどうかがチェックされます。
親トピック: 表の編集
「主キー」ペイン 🔗
表の主キーを指定します。
主キーは、表の各行を一意に識別する列または列セットです。「一般」タブの列に対して「主キー」チェック・ボックスが選択されている場合、対応するフィールドが「主キー」ペインに自動的に移入されます。必要に応じてプロパティを変更できます。
主キーには索引が自動的に作成されます。
- 名前: 主キー定義に関連付ける制約の名前。
- 有効: このオプションを選択すると、主キー制約が適用されます。主キー列(または列セット)にはNULLではない一意のデータが必要です。
- 索引: 主キーrefers.Tablespaceが属する索引の名前: 索引に関連付けられている表領域の名前。
- 使用可能な列: 主キー定義に追加できる列のリスト。必要に応じて、主キーに複数の属性を選択できます。
- 選択済の列: 主キー定義に含まれている列のリスト。
主キー定義に列を追加するには、「使用可能な列」で列を選択して「追加」(>)アイコンをクリックします。主キー定義から列を削除するには、「選択済の列」で列を選択して「削除」(<)アイコンをクリックします。使用可能な列と選択した列(またはその逆)をすべて移動するには、「すべて追加」アイコン(>>)または「すべて削除」アイコン(<)を使用します。主キー定義内で列を上下に移動するには、「選択済の列」でその列を選択して矢印ボタンを使用します。
親トピック: 表の編集
「一意キー」ペイン 🔗
表に1つ以上の一意制約を指定します。
一意制約では、一意のデータ値が必要な列または列セットを指定します。各データ値はNULLではなく、列の他の値とは異なっている必要があります。
-
名前: 一意制約の名前。
- 有効: このオプションを選択すると、一意制約が適用されます。
- 依存: このオプションを選択すると、NOVALIDATEモードの制約が問合せリライト時に考慮されます。
- 遅延可能: このオプションを選択すると、後続のトランザクションでSET CONSTRAINT(S)文を使用してトランザクションの終了まで制約チェックを遅延できます。
- 初期即時: このオプションを選択すると、後続の各SQL文の終了時に制約が選択されます。
- 検証: このオプションを選択すると、既存のデータが制約に適合するかどうかがチェックされます。
- 索引: 一意キーが参照する索引の名前。
- 表領域: 索引に関連付けられた表領域の名前。
- 使用可能な列: 一意制約定義に追加できる列のリスト。
- 選択済の列: 一意制約定義に含まれている列のリスト。
一意制約定義に列を追加するには、「使用可能な列」で列を選択して「追加」(>)アイコンをクリックします。一意制約定義から列を削除するには、「選択済の列」で列を選択して「削除」(<)アイコンをクリックします。使用可能な列と選択した列(またはその逆)をすべて移動するには、「すべて追加」アイコン(>>)または「すべて削除」アイコン(<)を使用します。一意制約定義内で列を上下に移動するには、「選択済の列」でその列を選択して矢印ボタンを使用します。
親トピック: 表の編集
「索引」ペイン 🔗
表に対して定義されている索引がリストされます。
索引を追加するには、「索引の追加」(+)をクリックします。削除するには、その索引を選択して「索引の削除」(-)をクリックします。
- 名前: 索引の名前。
- タイプ: Oracle索引のタイプ。「一意でない」は、索引に同一の値を複数含められることを意味します。「一意」は、重複する値が許可されないことを意味します。「ビットマップ」では、キー値に関連付けられたROWIDがビットマップとして格納されます。
- 表領域: 索引の表領域の名前。
- 式: 列式とは、列、定数、SQLファンクションおよびユーザー定義ファンクションから構築した式です。列の式を指定すると、ファンクション・ベース索引が作成されます。
- 使用可能な列 および選択した列: 索引に対して選択した列。列を選択するには、「使用可能な列」ボックスの列をクリックしてから選択した列の追加アイコンをクリックして、「選択した列」ボックスに移動します。
親トピック: 表の編集
「外部キー」ペイン 🔗
表に1つ以上の外部キーを指定します。
外部キーは列(ローカル列)を指定し、その列のデータ値は、別の表の主キーまたは一意制約の値と一致します。
- 名前: 外部キー定義の名前。
- 有効: このオプションを選択すると、外部キーが適用されます。
- 依存、遅延可能、初期即時、検証: 「一意キー」ペインのこれらのフィールドの説明を参照してください。
- 参照先の制約: スキーマ: この外部キーで参照する主キーまたは一意制約を持つ表を含むスキーマの名前。
- 参照先の制約: 表: この外部キーで参照する主キーまたは一意制約を持つ表の名前。
- 参照先の制約: 制約: この外部キーで参照する主キーまたは一意制約の名前。
- 参照先の制約: 削除時: 参照先の表の行が削除され、その値を含む行がこの外部キーを含む表内に存在する場合に自動的に行われるアクション: NO ACTION (交差行で示されます)ダイアグラム内では、これらの行に対してアクションは実行されません。CASCADE (「X」で表示)はこれらの行を削除します。SET NULL (小さい円で表示)は、NULL値に設定可能な行のすべての列にNULLを設定します。
- アソシエーション: ローカル列: 外部キー定義に含まれている、現在選択している(ローカル)表の列のリスト。外部キー定義の各参照先の列に、編集済の表の列の名前を選択します。
- アソシエーション: 参照先列: ローカル列ごとに、その値と一致する値が必要な他の(外部の)表の列が示されます。
親トピック: 表の編集
「表制約」ペイン 🔗
表に1つ以上のチェック制約を指定します。
チェック制約では、表への行の挿入時、または既存の行の変更時に満たす必要がある条件を指定します。
- 名前: チェック制約定義の名前。
- チェック条件: 行がチェック制約を満たすために満たす必要がある条件。有効なCHECK句を使用できます(CHECKキーワードは不要)。たとえば、RATINGという数値列の値が1から10の範囲内でなければならないことを示すには、rating >=1 and rating <= 10と指定します。
- 有効: このオプションを選択すると、チェック制約が適用されます。
親トピック: 表の編集
「記憶域」ペイン 🔗
表の記憶域オプションを指定できます。
テーブルまたはインデックスを作成/編集すると、デフォルトのストレージ・オプションをオーバーライドできます。
- 組織: 表の格納および編成が、(索引)付きで行われるか、索引なし(ヒープ)で行われるか、外部表(外部)として行われるかを指定します。
- 表領域: 表または索引の表領域の名前。
- ロギング: ONは、表の作成および表に対する後続のINSERT操作がREDOログ・ファイルに記録されることを意味します。「オフ」の場合、これらの操作はREDOログ・ファイルに記録されません。
- 行のアーカイブ: 「はい」を指定すると、データベース内のアーカイブが有効になり、表内の行を不可視としてマークすることでアーカイブできます。
親トピック: 表の編集
「外部表プロパティ」ペイン 🔗
外部表のオプションを指定します。
外部表は読取り専用の表であり、これらのメタデータはデータベースに格納されますが、データはデータベースの外部に格納されます。
-
アクセス・ドライバ・タイプ: 外部表の型を指定します。
- ORACLE_LOADER: テキスト・データ・ファイルからデータを抽出します。これは、外部表から内部表にデータをロードするデフォルトのアクセス・ドライバです。
- – ORACLE_DATAPUMP: バイナリ・ダンプ・ファイルからデータを抽出します。このアクセス・ドライバは、ロードとアンロードの両方を実行できます。
- – ORACLE_BIGDATA: Oracle Big Data Applianceからデータを抽出します。
- – ORACLE_HDFS: Hadoop Distributed File System (HDFS)に格納されたデータを抽出します。
- – ORACLE_HIVE: Apache HIVEに格納されたデータを抽出します。
-
デフォルト・ディレクトリ: 明示的にディレクトリ・オブジェクトに名前を付けないすべての入出力ファイルに対して、使用するデフォルトのディレクトリを指定します。位置はディレクトリ・パスではなく、ディレクトリ・オブジェクトで指定されます。
- アクセス・パラメータ: 外部表で使用する特定のアクセス・ドライバのパラメータに値を割り当てます。アクセス・パラメータはオプションです。
- OPAQUE_FORMAT_SPEC: opaque_format_specは、ORACLE_LOADER、ORACLE_DATAPUMP、ORACLE_HDFSおよびORACLE_HIVEアクセス・ドライバのすべてのアクセス・パラメータを指定します。アクセス・パラメータの詳細は、『Oracle Databaseユーティリティ』を参照してください。opaque_format_specで指定するフィールド名は、表定義の列と一致している必要があります。それ以外の場合は、無視されます。
- USING CLOB: 副問合せを介してパラメータおよびその値を導出できます。副問合せには、集合演算子またはORDER BY句を含めません。CLOBデータ型の1つの項目を含む単一行を戻します。
- 制限の拒否: Oracle Databaseエラーが戻され、問合せが中断される前に、外部データの問合せ中に発生する可能性がある変換エラーの数。
- プロジェクト列: アクセス・ドライバが、後続の問合せで外部表の行を検証する方法を指定します。
- ALL: 選択した列に関係なくすべての列値が処理され、完全に有効な列エントリを持つ行のみが検証されます。データ型の変換エラーなど、列値でエラーが発生した場合は、その列が問合せの選択リストで参照されていない場合でも、行は拒否されます。
- REFERENCED: 問合せの選択リストの列のみが処理されます。「ALL」設定の場合、一貫した結果セットが得られます。「REFERENCED」設定では、後続の問合せで参照される列の数に応じて、戻される行の数が異なる可能性がありますが、「ALL」設定よりも高速です。後後の問合せで外部表のすべての列が選択される場合、設定の動作は同じになります。
- 場所: 外部表のデータ・ファイルを指定します。「追加」(+)アイコンを使用して、各場所の仕様を追加します。
-
ORACLE_LOADERおよびORACLE_DATAPUMPでは、ファイルの名前はdirectory:fileという形式になります。directoryの部分はオプションです。この部分を指定しないと、デフォルトのディレクトリがファイルのディレクトリとして使用されます。ORACLE_LOADERアクセス・ドライバを使用している場合は、ファイル名にワイルドカードを使用できます。アスタリスク(*)は複数文字を表し、疑問符(?)は1文字を表します。
- ORACLE_HDFSの場合、LOCATION句は、ディレクトリまたはファイルのUniform Resource Identifier (URI)のリストです。URIに関連付けられたディレクトリ・オブジェクトはありません。
- ORACLE_HIVEの場合、LOCATIONは使用されません。かわりに、Hadoop HCatalog表を読み取ってデータ・ソースの場所(ファイルや別のデータベース)に関する情報を取得します。
-
不透明なフォーマット仕様
ORACLE_LOADER、ORACLE_DATAPUMP、ORACLE_HDFSおよびORACLE_HIVEアクセス・ドライバのすべてのアクセス・パラメータを指定します。
CLOB副問合せ
問合せを入力するか、コピーして貼り付けます。
親トピック: 表の編集
「マテリアライズド・ビュー」ペイン 🔗
マテリアライズド・ビューのオプションを指定します。
問合せ: ビュー定義の問合せ部分のSQLコードが含まれます。問合せを入力するか、コピーして貼り付けます。
- 事前作成表: 「はい」の場合、既存の表が事前に初期化されたマテリアライズド・ビューとして登録されます。このオプションは、データ・ウェアハウス環境での大規模なマテリアライズド・ビューの登録に特に役立ちます。表は、作成されるマテリアライズド・ビューと同じ名前を持ち、同じスキーマ内に存在する必要があります。また、副問合せのマテリアライズ化を反映している必要があります。
- 精度の低下: 「はい」を指定すると、表またはマテリアライズド・ビューの列の精度が副問合せで戻される精度と正確に一致しない場合に精度の低下が許可されます。「いいえ」の場合、表またはマテリアライズド・ビューの列の精度は、副問合せによって戻される精度と正確に一致する必要があります。一致しない場合、作成操作は失敗します。
- 更新用: 「はい」を選択して、副問合せ、主キー、オブジェクトまたはROWIDマテリアライズド・ビューを更新できるようにします。アドバンスト・レプリケーションと組み合せて使用した場合、更新はマスターにも影響します。
- リアルタイムMV: 「はい」を選択すると、リアルタイムのマテリアライズド・ビューまたは通常のビューが作成されます。リアルタイムのマテリアライズド・ビューでは、データ変更によりマテリアライズド・ビューがその実表と同期していない場合も、ユーザーの問合せに対して最新のデータを提供します。マテリアライズド・ビューを変更するかわりに、オプティマイザはマテリアライズド・ビューの既存の行とログ・ファイル(マテリアライズド・ビュー・ログまたはダイレクト・ローダー・ログ)に記録された変更を結合する問合せを記述します。これは、問合せ時計算と呼ばれます。
- クエリー・リライト: 「有効化」を選択すると、マテリアライズド・ビューをクエリー・リライトに使用できます。クエリー・リライトは、マスター表に関して記述されたユーザー要求を、1つ以上のマテリアライズド・ビューを含む意味的に同等の要求に変換します。
- ビルド: マテリアライズド・ビューへの移入のタイミングを指定します。「即時」を選択すると、すぐにマテリアライズド・ビューに移入されます。「遅延」 を選択すると、次回のリフレッシュ操作でマテリアライズド・ビューに移入されます。「遅延」を指定した場合、最初の(遅延)リフレッシュは常に完全リフレッシュである必要があります。リフレッシュが行われるまで、マテリアライズド・ビューの値は古く使用不可の状態であるため、クエリー・リライトには使用できません。
- 索引の使用: はいの場合、デフォルト索引が作成されて使用され、マテリアライズド・ビューの増分(高速)リフレッシュの速度が向上します。いいえの場合、このデフォルト索引は作成されません。(たとえば、今は索引を作成せず、後でこのような索引を明示的に作成することもできます。)
- 索引表領域: マテリアライズド・ビューを作成する表領域を指定します。表領域を選択しない場合、マテリアライズド・ビューは、そのビューが含まれているスキーマのデフォルトの表領域に作成されます。
- キャッシュ: 「はい」の場合、全表スキャンの実行時に、この表に対して取得されたブロックは、バッファ・キャッシュ内の最低使用頻度(LRU)リストの最高使用頻度側に配置されます。この設定は小さい参照表に役立ちます。「いいえ」の場合、ブロックはLRUリストの少なくとも最近使用された端に配置されます。
Refresh句
-
リフレッシュ: リフレッシュ操作を有効にするには、「はい」を選択します。
- リフレッシュ・タイプ: 実行するリフレッシュ操作の方法は次のとおりです。
- 完全リフレッシュ: 高速リフレッシュが可能な場合でも、マテリアライズド・ビューの定義問合せを実行します。
- 高速リフレッシュ: マスター表に対して行われた変更に応じてリフレッシュを実行する、増分リフレッシュ方法を使用します。従来のDML変更の場合、変更はマスター表に関連付けられたマテリアライズド・ビュー・ログに格納されます。ダイレクト・パス・インサート操作の変更は、ダイレクト・ローダー・ログに格納されます。
- 強制リフレッシュ: 可能な場合は高速リフレッシュを実行し、そうでない場合は完全リフレッシュを実行します。
- アクション: 実行するリフレッシュ操作のタイプ。次のいずれかになります。
- 要求時: いずれかのDBMS_MVIEWリフレッシュ・プロシージャのコール時にリフレッシュを実行します。
- コミット時: マテリアライズド・ビューのマスター表で操作するトランザクションがデータベースでコミットされるたびに、高速リフレッシュを実行します。データベースはコミット・プロセスの一部としてリフレッシュ操作を実行するため、コミットの完了にかかる時間が長くなる可能性があります。
- 指定: 「開始」および「次」フィールドに指定した内容に従って、リフレッシュ操作を実行します。
- 開始日: 最初の自動リフレッシュ操作の開始日時。将来の日時である必要があります。
- 次回日付: 次の自動リフレッシュ操作の時間。「開始」および「次」の時間の間隔が、それ以降の自動リフレッシュ操作の間隔になります。値を指定しない場合、リフレッシュ操作は「開始」に指定した時間に1回のみ行われます。
- 次で: マテリアライズド・ビューのタイプを決定するリフレッシュ・タイプ。次のようになります。
- 主キー: 主キー・マテリアライズド・ビューを作成します。この場合、マテリアライズド・ビューでの高速リフレッシュの実行性に影響することなく、マテリアライズド・ビューのマスター表を再編成できます。
- 行ID: ROWIDマテリアライズド・ビューを作成します。このタイプのビューは、マスター表のすべての主キー列がマテリアライズド・ビューに含まれていない場合に役立ちます。
- デフォルトの記憶域: 「はい」の場合、DEFAULTでは、使用するロールバック・セグメントがOracle Databaseで自動的に選択されることを指定します。DEFAULTを指定する場合、
rollback_segment
は指定できません。DEFAULTは、マテリアライズド・ビューを(作成ではなく)変更する場合に有効です。 - 記憶域のタイプ: MASTERは、個々のマテリアライズド・ビュー用のリモート・マスター・サイトで使用されるリモート・ロールバック・セグメントを指定します。LOCALは、マテリアライズド・ビューを含むローカル・リフレッシュ・グループに使用されるリモート・ロールバック・セグメントを指定します。これがデフォルト値です。
- ロールバック・セグメント: ロールバック・セグメントの名前を入力します。
- 制約の使用: このオプションを選択すると、リフレッシュ操作中により多くのリライト・オプションを使用できるため、リフレッシュをより効率的に実行できるようになります。このオプションの動作は、「強制」と「信頼」のどちらを選択するかによって異なります。
- 強制: リフレッシュ操作中、必須の制約のみを使用します。
- 信頼性: データベース管理者は信頼できると宣言しているが、データベースで検証されていないディメンションおよび制約の情報を使用できます。ディメンションおよび制約の情報が有効であると、パフォーマンスが向上する場合があります。ただし、この情報が無効な場合、リフレッシュ・プロシージャが成功ステータスを戻しても、マテリアライズド・ビューが破損する可能性があります。
親トピック: 表の編集
「DDL」ペイン 🔗
オブジェクトの作成または編集時に生成されるSQL文を確認および保存できます。変更が必要な場合は該当するペインに戻って変更します。
新しい表の場合、「CREATE」をクリックして生成されたDDL文を表示します。
表のプロパティを編集する場合、「UPDATE」をクリックして、生成されたALTER文を表示します。
新しい表の場合、「UPDATE」タブは使用できません。終了したら、「適用」をクリックします。
親トピック: 表の編集
出力画面 🔗
DDLコマンドの結果を表示します。
エラーがある場合は、適切なペインに移動してエラーを修正し、コマンドを再度実行してください。テキスト・ファイルに保存したり、出力をクリアできます。
親トピック: 表の編集