IRI Workbenchは、データベース内の複数のテーブルで作業するための多くの機能を提供します。これには、次のウィザードが含まれます。データベースのプロファイル。列を分類します。データのサブセット化、マスク、および移行。テストデータを生成します。など
IRI Workbenchのツールは、これらのウィザードで使用できるテーブルを選択したり、特定の関係図で使用したり、テーブルをスキャンして機密値のパターンやコレクションを検索したりするのに役立ちます。データベース内のテーブルが多すぎると、すべてのデータとメタデータを視覚化、選択、およびスキャンするのが困難になる可能性があります。このデータ過負荷の問題に対する1つの解決策は、特定の時間に表示されるテーブルをフィルタリングすることです。
フィルター
一度に小さなテーブルのセットを操作する方が簡単です。通常、一度に数百の関連テーブルが妥当な量です。幸い、IRI Workbenchには、フィルターを使用して表示されるテーブルのリストを制限するメカニズムがあります。
フィルターで除外されたテーブルは、データベース構造のメインビューであるデータソースエクスプローラーのリストから除外されます。また、ウィザードの選択リストには表示されず、スキーマ全体のデータスキャン中にスキップされるため、見つけにくいデータの分類が高速化されます。管理可能な量のデータを使用してテーブルの数を論理セットに減らすと、ユーザーは手元のタスクに集中しやすくなります。複数の接続プロファイルを作成して、特定のタスクに関連するテーブルのみを表示できます。
テーブル名による単純なフィルタリングは、Eclipse Data Tools Platform(DTP)プロジェクトの組み込み機能であり、IRIWorkbenchのデータベースアクセスに使用されます。ただし、特定の文字列で始まる、含まれる、または終わるテーブル名を指定する場合にのみ使用できます。より洗練されたアプローチが必要になる場合があります。
DTPでは、スキーマごとに、テーブル名のリストを含めるか除外するかを選択することもできます。これには、すべてのテーブル名をウィザードページにロードしてから、含めるまたは除外するすべてのテーブル名にチェックマークの選択を適用することが含まれます。これは少数のテーブルではうまく機能しますが、テーブルのリストが数千、さらには数万に増えるとすぐに管理できなくなります。
ユーザーが提供する外部リストに基づいて、名前でテーブルを選択できる比較的簡単な回避策があります。このリストは、外部ツールによって、またはSQLクエリの結果として生成される可能性があります。例として、この投稿では、これをどのように達成できるかを段階的に示します。
テーブルリストを作成する
テーブルリストの作成には、さまざまなクエリメソッドを使用できます。便利な方法の1つは、データの行がゼロのすべてのテーブルを除外することです。ただし、この特定の例では、SQLクエリを使用して、テーブル名との照合に基づいてフィルターに含めるテーブルのリストを抽出します。例をわかりやすくするために、選択したテーブルのリストは短くします。同じ手法で、はるかに長いリストに基づいてテーブルをフィルタリングできます。
この例で対象となるテーブルには2つの形式があり、文字Dで始まり、任意の文字、アンダースコアが続くか、文字列「IRI_」で始まります。その後、いずれかのパターンの後に、任意の数の追加文字を続けることができます。
構造化照会言語(SQL)では、アンダースコアは単一のワイルドカード文字を表すため、アンダースコアは意図的に対象の文字として選択されました。したがって、DTPフィルター式またはSQLステートメントでアンダースコアを使用するのは簡単ではありません。
この例はOracleデータベースに基づいており、クエリのwhere句で文字通り使用できるようにアンダースコア文字をエスケープする方法を示しています。上記の基準に一致するテーブルリストを生成するクエリ:
SELECT TABLE_NAME FROM ALL_TABLES WHERE ( TABLE_NAME LIKE 'D_\_%' ESCAPE '\' OR TABLE_NAME LIKE 'IRI\_%' ESCAPE '\' ) AND OWNER LIKE 'SCOTT' ;
文字通りに解釈する必要がある場合は、バックスラッシュを使用してアンダースコア文字をエスケープすることに注意してください。このクエリは、SQLスクラップブックから実行できます。 IRIWorkbench内のファイル。結果はSQL結果に表示されます ビューウィンドウ。 SQLスクラップブックファイルエディタにカーソルを置き、コンテキストメニューを右クリックして、[すべて実行]を選択します。 。
クエリは、フィルタリングされたテーブルリストを必要とする他のスキーマ(OWNER)に対しても個別に実行する必要があります。異なるスキーマのクエリ結果は別々に保持され、同様の方法で処理されます。
結果は結果1で表示できます SQL結果のタブ 見る。そのビューのコンテキストメニューから、[エクスポート>現在の結果]を選択します 。次のダイアログで、結果をCSV形式のファイルとしてワークスペースのプロジェクトフォルダーにエクスポートします。
テーブルリストから接続プロファイルへのインポートファイル
Eclipse DTPは、特別に定義されたXMLファイルとの間で1つ以上のデータベース接続プロファイルをインポートおよびエクスポートするためのメカニズムを提供します。ここでの手順は、最初にインポートファイルに挿入するCSVファイルを準備し、次にフィルタリングされる接続プロファイルをエクスポートし、最後にテーブル名のリストをフィルター条件としてエクスポートファイルを変更することです。
IRIWorkbenchテキストエディタでCSVデータファイルを開きます。 CSVファイルは、必要に応じて正確にフォーマットされません。まず、列見出しのある最初の行を削除します。次に、テーブル名は二重引用符ではなく一重引用符で囲む必要があり、各名前はコンマで区切る必要があります。
Ctrl + Fを押して、検索/置換を表示します ダイアログ。 Fに次のパターンを入力します ind: ^”(。*)” $ およびR e 場所: ‘\ 1’、 通常のeを選択します x プレス オプション。 交換を押します A ll ボタンをクリックして、ファイルを保存します。これで、テーブルリストファイルをインポートファイルで使用できるようになりました。
次のステップは、テーブル名フィルターを適用せずにデータベース接続プロファイルのエクスポートを準備することです。接続プロファイルのエクスポートボタンは、データソースエクスプローラーにあります ツールバーを表示します。右向きの矢印が付いたバスケットのように見えます。フィルタが必要な接続プロファイルの横にチェックマークを付け、プロジェクトワークスペースで拡張子が.xmlのファイル名を指定します。また、ファイルの内容を暗号化するのチェックを必ず外してください ファイルを保存する前にボックスを選択してください。
IRIWorkbenchでXMLエクスポートファイルを開きます。 ソースをクリックします XMLエディタウィンドウの下部にあるタブ。 Shift + Ctrl + Fを押して、XMLを複数の行にフォーマットし、編集しやすくします。上部近く、プロファイルのすぐ内側 タグは、属性 idを持つ行です および名前 。
https://www.guidgen.com/などのWebサイトにアクセスし、新しいGUIDを生成して、 idの値を置き換えます。 属性。 名前を編集します 「filtered」という単語、または新しい接続プロファイルを識別するその他のインジケーターを追加する属性。
以下は、接続プロファイルの例の前後のビューです。
変更前:
後:
次に、次の行を見つけます。
<org.eclipse.datatools.connectivity.sqm.filterSettings />
タグ内にすでに追加の要素がある場合は、接続プロファイルのスキーマにすでにフィルターが適用されていることを意味します。それらはそのままにして、追加のスキーマ用に新しいテーブルフィルターを挿入することができます。
それ以外の場合は、接続プロファイルのプロパティを編集して、再度エクスポートする前にそれらを削除できます。上記の行は、次のように置き換える必要があります。
<org.eclipse.datatools.connectivity.sqm.filterSettings> <property name="::SCOTT::DatatoolsTableFilterPredicate" value="IN()" /> </org.eclipse.datatools.connectivity.sqm.filterSettings>
テーブルのリストを含む編集済みのCSVデータファイルに戻ります。すべてのテキストを選択し、クリップボードにコピーします。 XMLファイルに戻り、すぐ上のテキストの括弧の間にクリップボードの内容を直接貼り付けます。スキーマ(OWNER)名がプロパティにある場合は注意してください タグ。フィルタリングするスキーマの名前と一致するように変更する必要があります。
テーブルリストを含む追加のスキーマがある場合は、手順を繰り返してプロパティを追加します。 タグ。テーブルリストを含めるのではなく除外する必要がある場合は、キーワード NOTを挿入します。 INという単語の前 。この単純な例で得られるXMLを以下に示します。より複雑なデータベースでは、数千行のテーブル名が存在する場合があります。すべての編集が完了したら、ファイル>名前を付けて保存…を選択します ファイルを新しい名前で保存します。
フィルタリングされた接続プロファイルをインポートする
新しく作成されたフィルタリングされた接続プロファイルXMLファイルをインポートして、フィルタリングを適用した状態で、エクスポートされたプロファイルの新しいコピーを作成できます。接続プロファイルのインポートボタンは、データソースエクスプローラーにあります エクスポートボタンのすぐ左にあるツールバーを表示します。右下向きの矢印が付いたバスケットのように見えます。テーブルリストで変更されたXMLファイルを参照します。同じ名前のプロファイルがすでに存在する場合は、チェックボックスをオンにして上書きします。
最後に、接続プロファイルを開き、フィルタリングされたスキーマに移動すると、リストにあるテーブルのみが表示されます。