*

Eclipseの「DBViewer」プラグインの使い方[後編]

公開日: : 最終更新日:2015/05/03 Eclipse


スポンサードリンク



Eclipseの「DBViewer」プラグインの使い方[前編]
では、「DBViewer」プラグインの基本的な使い方を説明させていただきました。

Eclipseの「DBViewer」プラグインの使い方[後編]では、すこし応用的な利用方法を説明させていただきます。

DBツリー・ビューの右クリックメニューの説明

データベース定義選択時のメニュー

データベース定義選択時のメニューの右クリックメニューは以下の通りです。
スクリーンショット 2015-04-08 17.57.01

このメニューに関しては説明は不要かと思います。

スキーマ選択時のメニュー

スキーマ選択時のメニューの右クリックメニューは以下の通りです。
スクリーンショット 2015-04-08 17.59.00

「更新」と「スキーマ名をコピーする」は説明不要かと思います。

「DDLの比較」ですが、2つのスキーマを選択すると有効になります。
2つのスキーマに含まれるオブジェクトのDDLの比較を行う機能となります。

実際にINFORMATION_SCHEMAとPUBLICを選択し、「DDLの比較」を行ってみました。
スクリーンショット 2015-04-08 18.03.18

すると画面は以下のように表示されました。
スクリーンショット 2015-04-08 18.04.57

今回の比較では、「比較先にのみ含まれるもの」が1つ存在する状態ですので、比較の結果ビューの上部はこのような結果になっています。
スクリーンショット 2015-04-08 18.07.29

比較の結果ビューの下部には、実際のDDLのDIFFが表示されます。
スクリーンショット 2015-04-08 18.07.29

今行った「DDLの比較」は同じデータベース定義の異なるスキーマを比較しましたが、異なるデータベース定義の同じスキーマを比較することも可能です。

あれー?、おかしいなー、こっちのDBだと動作するけど、こっちのDBだと動作しないなんて状況に遭遇した時には「DDLの比較」を行うと早く問題点が見つかるかもしれません。

TABLE選択時のメニュー

TABLE選択時のメニューの右クリックメニューは以下の通りです。
スクリーンショット 2015-04-08 18.14.01

「更新」につきましては、他のノード選択時と同じ考え方の動作となります。
TABLE選択時は、テーブル定義の再読み込みが行われます。

「全てのカラム情報を取得する」は、全てのテーブルのカラムの情報を取得する機能です。
スクリーンショット 2015-04-08 18.18.32

任意のテーブル選択時のメニュー

任意のテーブルを選択し、マウスの右クリックを行うと以下の画像の赤枠部分のメニューが表示されます。
スクリーンショット 2015-04-07 21.41.36

以降では任意のテーブル選択時の各メニューの説明をさせていただきます。

開く

「開く」をクリックすると「エディタエリア」に対象テーブルを操作するできる「テーブル編集エディター」が表示されます。
このビューの詳細は「テーブル編集エディター」で説明させていただきます。

更新

対象テーブルの定義を再読み込みします。

テーブル名をコピー

テーブル名をクリップボードにコピーします。

テーブル名(論理名)をコピー

テーブルの論理名をクリップボードにコピーします。
論理名が指定されていない場合は普通のテーブル名をクリップボードにコピーします。

Select文としてコピー

選択しているテーブルのSelect文をクリップボードにコピーします。

PERSONテーブルを対象として処理を行った場合は以下のSQLとなります。

Comment文としてコピー

対象テーブルに付与されているコメント(テーブル、カラム等)をクリップボードにコピーします。

テーブル名の変更

テーブル名の変更画面が表示されますので、変更後の名前を入力後に「OK」ボタンをクリックします。
スクリーンショット 2015-04-08 18.39.44

実際にPERSONテーブルをNEW_PERSONテーブルに変更してみます。
スクリーンショット 2015-04-08 18.41.24

「更新」を行わなくてもDBツリー・ビューに表示されていたPERSONがNEW_PERSONに変更されました。
スクリーンショット 2015-04-08 18.44.03

レコードの一括削除

そのままですが、対象テーブルのレコードを全て削除します。

CSV出力

CSV形式で対象テーブルのレコードをファイルに出力する機能です。
実際の出力結果は以下のようになります。

1行目がカラム名、2行目以降がレコードとなります。

DDLの比較

これはスキーマの所でも出てきましたね、任意の2つのテーブルのDDLの比較を行う機能となります。

お気に入りの登録

ブラウザのブックマークのような機能です。
良く利用するテーブルを「お気に入り」に登録しておくととても便利です。

実際に、NEW_PERSONテーブルを「お気に入り」に登録してみます。

メニューをクリックすると以下の画面が表示されます。
スクリーンショット 2015-04-09 13.36.05

「お気に入り」を選択し、「OK」ボタンをクリックするとDBツリー・ビューの一番下の「お気に入り」の配下にNEW_PERSONテーブルが追加されました。
スクリーンショット 2015-04-09 13.41.23

また本機能では、「お気に入り」とのノード名を変更することも可能です。
「お気に入り」を選択し、「変更」ボタンをクリックします。
スクリーンショット 2015-04-09 13.44.00

「フォルダ名の変更」画面が表示されますので、変更後の名前を入力し「OK」ボタンをクリックすることで、変更が行えます。
スクリーンショット 2015-04-09 13.46.36

「お気に入りの登録」では、サブフォルダを予め作成しておくと、そのフォルダにお気に入りを登録することが可能です。

サブフォルだを作成するには、「お気に入り」ノードを選択し、マウスの右クリックメニューを表示し、「新しいフォルダ」メニューをクリックします。
スクリーンショット 2015-04-09 13.52.21

フォルダ名を入力し、「OK」ボタンをクリックします。
スクリーンショット 2015-04-09 13.55.01

すると「お気に入り」の配下にサブフォルダが追加されました。
当然ですが、「お気に入りの追加」画面にもサブフォルは表示されますし。サブフォルダを選択してオブジェクトを保存することも可能です。
スクリーンショット 2015-04-09 13.59.00

「テーブル編集エディター」

先ほどテーブル名変更でPERSONテーブルをNEW_PERSONテーブルに変更しましたが、名前は元に戻してください。
(構成が変わって、PERSONテーブルの時に作成した内容ですので・・・)

画面の説明

初期表示時に登録されているレコードが表示されます。登録されているレコードが大量な場合は、一部のレコードだけを表示します。
この部分については後述させていただきます。
スクリーンショット 2015-04-08 13.43.47

左上にテーブル名が表示されます。またテーブル名の右側にある×をクリックするとこのビューが閉じられます。
スクリーンショット 2015-04-08 13.43.47

ビュー上部にあるボタン群の説明

本ビューの情報にあるボタン群の説明をさせていただきます。

「レコードを追加」ボタン

スクリーンショット 2015-04-08 13.45.39

本ボタンをクリックするとビューは以下のように変わりますので、各カラムの項目を指定した後にエンターキーを押下すると、新しいレコードが追加されます。
スクリーンショット 2015-04-08 13.50.15

Not Null制約が設定されていない項目の初期値はとして初期表示されます。
「DBViewer」プラグインではカラムの値がnullの場合は、と表示される仕様となっていますので、このような初期表示を行っています。

「レコードを削除」ボタン

スクリーンショット 2015-04-08 13.45.39

選択している行の削除を行うボタンです。行が選択されていない場合は本ボタンは不活性となり押下できなくなります。
複数の行を選択している場合は、複数の行が削除されます。

試しに、名古屋鬼門と大阪花子の行を選択した状態で「レコードを削除」ボタンをクリックしてみます。
スクリーンショット 2015-04-08 14.03.27

2レコードともに削除されました。
スクリーンショット 2015-04-08 14.05.01

「検索」ボタン

スクリーンショット 2015-04-08 14.08.48

検索ボタンは、Whereで指定された条件にあったレコードの検索を実行するボタンです。
Whereに何も指定しない場合は、条件なしの検索となります。

一度検索に利用したWereの内容は、Wereのテキストボックスの右側の以下の画像の赤枠部分をクリックすることで選択可能です。
スクリーンショット 2015-04-08 14.17.32

「フィルター」ボタン

スクリーンショット 2015-04-09 19.19.30

本ボタンをクリックすると以下の画面が表示されます。
スクリーンショット 2015-04-09 16.39.55

表示するカラムや、表示時のソート順を指定することが可能です。

・フィルター・パターン(一致する名前が表示されます)
このチェックボックスをチェックすると、フィルターの名前が指定できます。
名前が指定できると言っても、複数のフィルターが作成でき、そのフィルターを選択できる機能が存在しません、意味不明ですが、備考欄的な利用は可能です。

・選択
カラム情報の先頭にある選択チェックボックスで、そのカラムの表示・非表示を制御できます。主キーはグレーアウトされてチェックを外すことが不可となっています。主キーのカラムを非表示にしてしまうとどのレコードを表示しているか分からなくなる可能性が発生するため、ユーザーに無意味な選択肢を与えないようにとの意図だと思います。

とりあえず、カラム:ADDRを非表示にしてみます。
スクリーンショット 2015-04-09 16.58.53

この結果、画面には以下のように表示されました。
スクリーンショット 2015-04-09 17.01.20

予想どうりですね、このように注目したいカラムだけを表示することが可能です。

・ソート
次に、ソートの説明をさせていただきます。
先ほど外したADDRのチェックは元に戻した状態から説明いたします。

任意のカラムのソートの欄をクリックすることで、そのカラムで降順、昇順、ソートしないとの設定が行えます。

カラム:NAMEのソートを1回クリックすると以下の画像のようになります。分かりやすいようにソートの欄に赤枠を付けています。
この状態は、NAMEの昇順(ascending)を指定したことを意味します。
スクリーンショット 2015-04-09 18.56.43

再度同じ場所をクリックすると、今度は以下の画像のようになります。
この状態は、NAMEの降順(descending)を指定したことを意味します。
スクリーンショット 2015-04-09 19.01.00

再度同じ場所をクリックすると、今度は以下の画像のようになります。
この状態は、NAMEでソートしない事を意味します。
スクリーンショット 2015-04-09 19.04.03

少し「DBViewer」プラグインの話とは離れますが、SQLでSelect文を発行する時にorder byを指定しない場合に、Selectされる行データの並びがどのようになるご存知でしょうか?

答えは、「各データベースプロダクトによって異なる。」が正解です。全く同じSQLを発行しても、毎回、結果の行データの並びが異なるデータベースも存在しますので、Select文を書く時には必ずorder by句を付与する必要があります。

まあ、検索するたびに結果の並びが異なるシステムってのも人間味があって個人的には嫌いではないですが、レビューでは絶対指摘します。

フィルター機能のソート説明に戻ります。
ソートは複数のカラムに設定可能です。

NAMEは昇順、ADDRは降順との指定ももちろん可能です。
スクリーンショット 2015-04-09 19.12.27

なお、ソートに関しましては、本ビューのカラムをクリックすることでも実施可能です。
スクリーンショット 2015-04-09 19.22.17

「カラム幅を固定」ボタン

スクリーンショット 2015-04-09 19.19.30

このボタンを押して「カラム幅を固定」しておかないと、検索や、フィルターを適用するとカラム幅はデフォルトに戻ってしまいます。

せっかく広げたのにデフォルトの幅に戻ると、また広げないといけないですよね。
NAMEカラムを広げて「カラム幅を固定」をチェックした状態で「検索」ボタンをクリックします。
スクリーンショット 2015-04-09 19.26.40

すると画面は以下のようになります。
スクリーンショット 2015-04-09 19.26.40

静止画なんで分かりにくいですね・・・
今度は、「カラム幅を固定」のチェックを外した状態で「検索」ボタンをクリックします。
スクリーンショット 2015-04-09 19.30.13

すると画面は以下のようになります。NAMEのカラムの幅がデフォルトの長さに変わりました。
スクリーンショット 2015-04-09 19.30.59

ビューの行選択時のメニューの説明

ビューに表示されている検索結果の行を選択後に、マウスの右クリックで表示されるメニューの説明をさせていただきます。
スクリーンショット 2015-04-09 19.35.58

新規レコード

これは「レコードを追加」ボタンと同じ動作となります。

レコードをコピー

選択しているレコード(複数も可)データをクリップボードにコピーします。
この機能はを用いて、データをコピーした後に「レコードを貼り付ける」機能を利用することでレコードをインサートすることが可能です。

レコードをTrimしてコピーする(前後の半角スペースを削除)

特に説明は不要かと思います。半角スペースのトリム以外は「レコードをコピー」と同様です。

レコードを貼り付ける

コピーしたレコードを貼り付けることができます。

レコードを削除

選択しているレコード(複数も可)データを削除します。

全て選択

表示されている全レコードを選択状態にします。

INSERT文に変換してコピー

対象レコード(複数も可)に対応するInsert文がクリップボードにコピーされます。

CSV出力

1行目がカラムデータ、2行目以降が選択しているレコードのデータとなるCSVデータの出力が行えます。

監視

色々試行錯誤したのですが、分かりませんでした。

Import from Repository

こちらも色々試行錯誤したのですが、分かりませんでした。

その他の機能

カラムデータの更新

任意のレコードを選択し、任意のカラムをクリックするとセルが編集モードに変わり、データを変更することができます。
スクリーンショット 2015-04-09 21.28.01

他のレコードにフォーカスが移動したタイミングで、変更が確定されます。
変更時には、右下に赤文字で各種ショートカットキーの表示がされています。
スクリーンショット 2015-04-09 21.33.58

DDL表示タブ

ビューの下部の「DDL」タブをクリックすると「DDL」が表示されます。
スクリーンショット 2015-04-09 21.36.35

定義情報表示タブ

ビューの下部の「定義情報」タブをクリックすると「定義情報」が表示されます。
スクリーンショット 2015-04-09 21.37.35

ページャ機能

動作イメージの画像を取得するために103行のレコードを作成したのですが、ページャ機能が有効になりませんでした。
スクリーンショット 2015-04-09 22.21.42

HSQLDBは対応していたはずですが・・・、もう少し調べてみます。

Eclipseの「DBViewer」プラグインの使い方[後編]は以上です。


スポンサードリンク



関連記事

JUnit入門その3[Eclipse4.4のJUnitプラグインとMockフレームワークのJMockitの併用の基本]

JUnit入門その3ではMockフレームワークのJMockitを利用したテスト環境の構築と使い方につ

記事を読む

Eclipse4.4(Java)におけるビルド・パス関係の設定方法[ビルド・クラスパスの順序およびエクスポート設定]

Eclipse4.4(Java)におけるビルド関係のビルド・パス上の「ビルド・クラスパスの順序および

記事を読む

JDT betaを利用してJDK8(java 8)対応のEclipse開発環境を作成する[Mac編]

「Java 8の新機能について」では、どんな新機能があるか紹介させていただきました。 今後、少

記事を読む

Selenium入門その3[Selenium WebDriver(Java/Junit4)の使い方]

WebDriverでは、予め中継サーバを起動しなくても、テスト実行時にブラウザ拡張機能や、OSのネイ

記事を読む

Eclipse4.4(Java)におけるビルド・パス関係の設定方法[ビルド・パス上のソース・フォルダー]

Eclipse4.4(Java)におけるビルド関係のビルド・パス上のソース・フォルダーの利用方法を説

記事を読む

JUnit入門その5[DBUnitの概要説明]

前回エントリーでは「JUnit入門その4」と題してDBUnitをEclipseで動作させるための環境

記事を読む

JUnit入門その6[Eclipse4.4のJUnitプラグインとDBUnitの併用(便利に利用するためのユーティリティの作成)]

JUnit入門その4 でDBUnitの環境構築を説明させていただきました。 今回は、前提値デ

記事を読む

Java超入門 with Eclipse[5:クラスに関する基礎知識(メソッドをJUnitを使って説明)]

クラスに関する基礎知識シリーズも、いよいよメソッドを残すのみとなりました。 前回までは、Eclip

記事を読む

Eclipseの「DBViewer」プラグインの使い方[前編]

「HyperSQL」の環境を作成し、Eclipseの「DBViewer」プラグインを利用してSQLを

記事を読む

JUnit入門その2[Eclipse4.4のJUnitプラグインのassertThatの使い方]

JUnit入門その1ではEclipseのJUnitプラグインの基本的な使い方を説明させていただきまし

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Selenium入門その6[Selenium3でWebDriver(Java/Junit4)の環境を作成しEdge,Chrome,Firefoxで確認してみる]

Selenium3も3.0.1がリリースされましたし、今後は本格的にS

Selenium利用時のトラブルシューティング方法[クリック編]

Seleniumは便利なテスト自動化ツールですし、今後は更なる利用者の

Java8のラムダ式とStream APIを利用してコーディング量の削減サンプル集

Java8になりラムダ式と「Stream API」が利用できるようにな

Selenium入門その5[ページオブジェクトパターン(Page Object Design Pattern)を利用して変更に強いテストを作成する方法]

Selenium入門その2 では「UIマップファイル」と言う仕組みが

Javaによる非同期処理入門その1[非同期処理の実装方法の概説]

Javaによる非同期処理に関するエントリーを前々から作成したいと思って

→もっと見る

Optimization WordPress Plugins & Solutions by W3 EDGE
PAGE TOP ↑