表の編集
You can create and edit objects using Edit Table wizard available from the Edit menu in Actions (three vertical dots) besides the table entity.
「アクション」メニューから「編集」をクリックすると、「表の編集」ウィザードが開きます。ペインには任意の順序でアクセスし、表を編集できます。表のプロパティはいくつかのペインにグループ分けされています。
- スキーマ: 表が存在するデータベース・スキーマ。
- 名前: 表の名前。
- 「列」ペイン
- 「主キー」ペイン
- 「一意キー」ペイン
- 「索引」ペイン
- 「外部キー」ペイン
- 「表制約」ペイン
- 「コメント」ペイン
- 「記憶域」ペイン
- 「外部表プロパティ」ウィンドウ
- 「マテリアライズド・ビュー」ペイン
- 「DDL」ペイン
- 出力画面
- 「列」ペイン
表の各列のプロパティを指定します。 - 「主キー」ペイン
表の主キーを指定します。 - 「一意キー」ペイン
表に対して1つ以上の一意制約を指定します。 - 「索引」ペイン
表に対して定義されている索引がリストされます。 - 「外部キー」ペイン
表に対して1つ以上の外部キーを指定します。 - 「表制約」ペイン
表に対して1つ以上のチェック制約を指定します。 - 「コメント」ペイン
このペインで説明的なコメントを入力します。 - 記憶域ペイン
表の記憶域オプションを指定できます。 - 「外部表のプロパティ」ペイン
外部表のオプションを指定します。 - マテリアライズド・ビュー・ペイン
マテリアライズド・ビューのオプションを指定します。 - 「DDL」ペイン
オブジェクトの作成または編集時に生成されるSQL文を確認および保存できます。変更が必要な場合は、関連するペインに戻って変更します。 - 「出力」ペイン
DDLコマンドの結果を表示します。
親トピック: カタログ・ツール
「列」ペイン
表の各列のプロパティを指定します。
「一般」タブ
- 名前: 列の名前。
- データ型: 列のデータ型。
- デフォルト: 値を指定しない場合、デフォルト値はnullです。
- NULLでのデフォルト: Oracle Database 12c以降のリリースに適用できます。このオプションを選択すると、表に行が挿入されてその列に指定した値がNULLの場合、デフォルト値が列に挿入されます。
- 式: 列の値を計算するための式。
- コメント: 列についての説明コメント(オプション)。このフィールドを使用して、属性の説明を指定します。
- PK: このオプションを選択すると、列が主キーになります。
- ID列 : このオプションを選択すると、列がID列になります。これは、Oracle Database 12c以降のリリースにのみ適用できます。詳細は、「「ID列」タブ」を参照してください。
[制約]タブ
- NOT NULL制約: 名前: NOT Null制約の名前。
- NOT NULL制約: NOT NULL: このオプションを選択すると、列にはデータが含まれている必要があります。行を挿入するときに、この列に値を指定することも、明示的なNULL値を指定することもできません。このオプションを選択しない場合、列にデータを含めることも含めないことも可能です。主キー列はNULLにできません。
- CHECK制約: 名前: チェック制約定義の名前です。
- CHECK制約: 制約: チェック制約を満たす列に対して満たす必要がある条件。有効なCHECK句を使用できます(CHECKキーワードは不要)。たとえば、RATINGという数値列の値が1から10の範囲内でなければならないことを示すには、rating >=1 and rating <= 10と指定します。
- 有効: このオプションを選択すると、列にデータを入力または更新するときに制約がチェックされます。
- 遅延可能: このオプションを選択すると、トランザクションの終了まで制約の妥当性チェックを遅らせられます。
- 初期即時: このオプションを選択すると、列に対してデータを追加、更新または削除するたびに制約がチェックされます。
- 検証: このオプションを選択すると、既存のデータが制約に適合するかどうかがチェックされます。
親トピック: 表の編集
「主キー」ペイン
表の主キーを指定します。
主キーは、表の各行を一意に識別する列または列セットです。「一般」タブの列に対して「主キー」チェック・ボックスが選択されている場合、対応するフィールドが「主キー」ペインに自動的に移入されます。必要に応じてプロパティを変更できます。
主キーには索引が自動的に作成されます。
- 名前: 主キー定義に関連付ける制約の名前。
- 有効: このオプションを選択すると、主キー制約が適用されます。つまり、主キー列(または列セット)にはNULLではない一意のデータが必要です。
- 索引: 主キーがrefers.Tablespace参照する索引の名前。索引に関連付けられている表領域の名前。
- 使用可能な列: 主キー定義に追加できる列のリスト。必要に応じて、主キーに複数の属性を選択できます。
- 選択済の列: 主キー定義に含まれている列のリスト。
主キー定義に列を追加するには、「使用可能な列」で列を選択して「追加」(>)アイコンをクリックします。主キー定義から列を削除するには、「選択済の列」で列を選択して「削除」(<)アイコンをクリックします。使用可能リストから選択済(または逆)にすべての列を移動するには、「すべて追加」(>>)または「すべて削除」(<<)アイコンをクリックします。主キー定義内で列を上下に移動するには、「選択済の列」でその列を選択して矢印ボタンを使用します。
親トピック: 表の編集
「一意キー」ペイン
表に1つ以上の一意制約を指定します。
一意制約では、一意のデータ値が必要な列または列セットを指定します。各データ値はNULLではなく、列の他の値とは異なっている必要があります。
-
名前: 一意制約の名前。
- 有効: このオプションを選択すると、一意制約が適用されます。
- 依存: このオプションを選択すると、NOVALIDATEモードの制約は問合せリライト時に考慮されます。
- 遅延可能: このオプションを選択すると、後続のトランザクションでSET CONSTRAINT(S)文を使用してトランザクションの終了まで制約チェックを遅延できます。
- 初期即時: このオプションを選択すると、後続の各SQL文の終了時に制約がチェックされます。
- 検証: このオプションを選択すると、既存のデータが制約に適合するかどうかがチェックされます。
- 索引: 一意キーが言及する索引の名前。
- 表領域: 索引に関連付けられた表領域の名前。
- 使用可能な列: 一意制約定義に追加できる列のリスト。
- 選択済の列: 一意制約定義に含まれている列のリスト。
一意制約定義に列を追加するには、「使用可能な列」で列を選択して「追加」(>)アイコンをクリックします。一意制約定義から列を削除するには、「選択済の列」で列を選択して「削除」(<)アイコンをクリックします。使用可能リストから選択済(または逆)にすべての列を移動するには、「すべて追加」(>>)または「すべて削除」(<<)アイコンをクリックします。一意制約定義内で列を上下に移動するには、「選択済の列」でその列を選択して矢印ボタンを使用します。
親トピック: 表の編集
「索引」ペイン
表に対して定義されている索引がリストされます。
索引を追加するには、「索引の追加」(+)をクリックします。削除するには、その索引を選択して「索引の削除」(-)をクリックします。
- 名前: 索引の名前。
- タイプ: Oracle索引のタイプ。「一意でない」は、索引に同一の値を複数含められることを意味します。「一意」は、重複する値が許可されないことを意味します。「ビットマップ」では、キー値に関連付けられたROWIDがビットマップとして格納されます。
- 表領域: 索引の表領域の名前。
- 式: 列の式とは、列、定数、SQLファンクションおよびユーザー定義ファンクションから構築された式です。列の式を指定すると、ファンクション・ベース索引が作成されます。
- 「使用可能な列」および「選択した列」: 索引に対して選択した列。列を選択するには、「使用可能な列」ボックスの列をクリックしてから選択した列の追加アイコンをクリックして、「選択した列」ボックスに移動します。
親トピック: 表の編集
「外部キー」ペイン
表に1つ以上の外部キーを指定します。
外部キーは列(ローカル列)を指定し、その列のデータ値は、別の表の主キーまたは一意制約の値と一致します。
- 名前: 外部キー定義の名前。
- 有効: このオプションを選択すると、外部キーが適用されます。
- 「依存」、「遅延可能」、「初期即時」、「検証」: 「一意キー」ペインのこれらのフィールドの説明を参照してください。
- 参照先の制約: スキーマ: この外部キーの参照先となる主キーまたは一意制約を持つ表が含まれているスキーマの名前。
- 参照先の制約: 表: この外部キーの参照先となる主キーまたは一意制約を持つ表の名前。
- 参照先の制約: 制約: この外部キーの参照先となる主キーまたは一意制約の名前。
- 参照元の制約: 削除時: 参照先の表の行が削除され、その値が含まれる行がこの外部キーを含む表内に存在する場合に自動的に行われるアクション。「アクションなし」(「X」で表示)はこれらの行に対してアクションを実行しません。ダイアグラムでは、これらの行に対してアクションは実行されません。「アクションなし」(「X」で表示)はこれらの行に対してアクションを実行します。「カスケード」(「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リストの最低使用頻度端に配置されます。
リフレッシュ句
-
リフレッシュ: リフレッシュ操作を有効にするには、「はい」を選択します。
- リフレッシュ・タイプ: 実行されるリフレッシュ操作の方法。次のいずれかになります。
- 完全リフレッシュ: 高速リフレッシュが可能な場合でも、マテリアライズド・ビューの定義問合せを実行します。
- 高速リフレッシュ: マスター表に対して行われた変更に応じてリフレッシュを実行する、増分リフレッシュ方法を使用します。従来型DML変更の変更は、マスター・テーブルに関連付けられたマテリアライズド・ビュー・ログに格納されます。ダイレクト・パス・インサート操作の変更は、ダイレクト・ローダー・ログに格納されます。
- 強制リフレッシュ: 可能な場合は高速リフレッシュを実行し、そうでない場合は完全リフレッシュを実行します。
- アクション: 実行するリフレッシュ操作のタイプ。次のいずれかになります。
- 要求時: いずれかのDBMS_MVIEWリフレッシュ・プロシージャのコール時にリフレッシュを実行します。
- コミット時: マテリアライズド・ビューのマスター表で実行されるトランザクションがデータベースでコミットされるたびに、高速リフレッシュを実行します。データベースはコミット・プロセスの一部としてリフレッシュ操作を実行するため、コミットの完了にかかる時間が長くなる可能性があります。
- 指定: 「開始」および「次」フィールドに指定した内容に従って、リフレッシュ操作を実行します。
- 開始日: 最初の自動リフレッシュ操作の開始日時。将来の日時である必要があります。
- 次回日付: 次回の自動リフレッシュ操作の時間。「開始」および「次」に 指定した時間の間隔が、それ以降の自動リフレッシュ操作の期間になります。値を指定しない場合、リフレッシュ操作は「開始」に指定した時間に1回のみ行われます。
- 次: マテリアライズド・ビューのタイプを決定するリフレッシュ・タイプ。次のいずれかになります:
- 主キー: 主キー・マテリアライズド・ビューを作成します。この場合、マテリアライズド・ビューにおける高速リフレッシュの適格性に影響することなく、マテリアライズド・ビューのマスター表を再編成します。
- 行ID: ROWIDマテリアライズド・ビューを作成します。このタイプのビューは、マスター表のすべての主キー列がマテリアライズド・ビューに含まれていない場合に役立ちます。
- デフォルトの記憶域: 「はい」の場合、DEFAULTでは使用するロールバック・セグメントが自動的にOracle Databaseで選択されることを指定します。DEFAULTを指定する場合、
rollback_segment
は指定できません。DEFAULTは、マテリアライズド・ビューを(作成ではなく)変更する場合に有効です。 - 記憶域のタイプ: MASTERを使用すると、個々のマテリアライズド・ビュー用のリモート・マスター・サイトで使用されるリモート・ロールバック・セグメントを指定できます。LOCALは、マテリアライズド・ビューを含むローカル・リフレッシュ・グループに使用されるリモート・ロールバック・セグメントを指定します。これがデフォルト値です。
- ロールバック・セグメント: ロールバック・セグメントの名前を入力します。
- 制約の使用: このオプションを選択すると、リフレッシュ操作中により多くのリライト・オプションを使用できるため、リフレッシュをより効率的に実行できるようになります。このオプションの動作は、「強制」と「信頼」のどちらを選択するかによって異なります。
- 強制: リフレッシュ操作中、必須の制約のみを使用します。
- 信頼: データベース管理者は信頼できると宣言しているが、データベースでは検証されていないディメンションおよび制約の情報を使用できるようになります。ディメンションおよび制約の情報が有効であると、パフォーマンスが向上する場合があります。ただし、この情報が無効な場合、リフレッシュ・プロシージャが成功ステータスが戻されても、リフレッシュ・プロシージャによってマテリアライズド・ビューは破損する場合があります。
親トピック: 表の編集
「DDL」ペイン
オブジェクトの作成または編集時に生成されるSQL文を確認および保存できます。変更が必要な場合は、関連するペインに戻って変更します。
新しい表の場合、「CREATE」をクリックして生成されたDDL文を表示します。
表のプロパティを編集する場合、「UPDATE」をクリックして、生成されたALTER文を表示します。
新しい表の場合、「UPDATE」タブは使用できません。終了したら、「適用」をクリックします。
親トピック: 表の編集
出力画面
DDLコマンドの結果を表示します。
エラーがある場合は、適切なペインに移動してエラーを修正し、コマンドを再度実行してください。テキスト・ファイルに保存したり、出力をクリアできます。
親トピック: 表の編集