SI Object Browser ERには、「マニュアルなどの片隅にしか書かれていない」という理由で「便利だけどなかなか知られていない機能」がたくさんあります。今回はそのような機能から特に知っていてほしい10の機能をご紹介します!
論理名・物理名の大文字小文字自動変換設定を行う
エンティティ名や属性名については設計する案件によってすべて小文字で作成するケースや大文字で作成するなどさまざまなケースがあると思います。SI Object Browser ERでは「ツール」メニューの「オプション」→「オブジェクト」タブより自動変換設定が可能です。
画面1.オプション画面(「オブジェクト」タブ)
論理名、物理名ごとに設定をすることができます。既定ではいずれも「大文字」となっていますが「小文字」に変更すると入力時に必ず小文字に自動変換されます。自動変換機能を使わず、大文字小文字をミックスして設計したい場合は「両方」を選択しましょう。画面1の例では論理名を「両方」、物理名を「大文字」としています。この場合は画面2の通り、エンティティ編集画面にある物理名の個所が自動で大文字に変換されるようになります。
画面2.エンティティ画面(物理名が自動で大文字に変換された例)
大文字小文字を一括変換する
また、「ツール」メニュー→「オブジェクト名一括変換」より、ER図上の任意の個所を一括で大文字や小文字に変換することもできます。
画面3.オブジェクト名一括変換画面
変換方法として「大文字に変換」「小文字で変換」「指定した文字を置換え」の3種類が用意されています。「指定した文字を置換え」を選択すれば任意の対象文字列と置換後文字列を指定することができます。
また、画面下側のにある「変換対象オブジェクト」の欄で変換の対象箇所を限定することもできます。画面3の例では属性の論理名の部分だけを置換対象に設定しています。対象箇所を限定することにより、間違って変な個所を変換しないようにすることができます。設定後は「開始」ボタンを押すことで一発で置き換えされます!
ドメインをドラッグ&ドロップで配置する
ドメインとは属性の名前やデータ型、デフォルト値などの設定をテンプレート化する機能です。作成したドメインは通常はエンティティの詳細画面の「ドメイン」列より割り当てますが、実はモデルエクスプローラ(ER図全体を表示している画面)の左ツリーにあるドメイン名を選択し、対象のエンティティ上にドラッグ&ドロップすることで設定することもできます!まとめて配置したい場合はこの方法で作成する方法が効率的です。
画面4.モデルエクスプローラ(ドラッグ&ドロップで配置した例)
まとめてドメイン化する
ドメインの利用にあたっては、はじめにドメイン定義作成してからエンティティに割り当てるのが通常ですが、新規のシステムの場合はある程度設計を進めないと共通利用する属性がわからないことから、後でドメインを作成したいケースもあると思います。そこで、SI Object Browser ERでは、作成済みのエンティティ(属性)情報からドメインを逆生成する方法も用意しています!
まず、「モデル」メニュー→属性リスト画面を選択します。ER図内で定義された全エンティティの属性一覧が表示されます。ので、ここからドメインにしたい属性を右クリック→「ドメインの作成」を選択する方法です。これで属性の名前やデータ型などの情報をもとにドメインが生成されます。属性一覧画面では属性名でのソートや絞り込み検索ができるので効率よくドメイン化すべき共通列を探してドメインができます。
画面5.属性リスト画面
また、画面5のようにまとめて属性を選択してドメイン登録することも可能です。この場合は2つ以上共通定義のあるドメインだけがドメイン登録されます!
論理上(ER図上)だけのリレーションにする
SI Object Browser ER上で作成したリレーションは、最終的には物理的には外部キー制約として作成されますが、昨今のシステムでは物理データベース上には外部キーを作らない(ER図上だけ関連情報を定義する)ケースの方が多いと思います。そのような場合はリレーションを右クリックして「論理リレーション」に設定しましょう。リレーションが青色になれば成功です。これで、フォワードエンジニアリングを実行しても外部キーとして作成されないリレーションとなります。
画面7.モデルエクスプローラ(論理リレーションに設定する例)
既定で論理リレーションにする
上述の方法で論理リレーションに設定することができますが、そもそも「リレーションの新規作成時に自動で論理リレーションとして作成してほしい」と思うのではないでしょうか。その場合は「ツール」メニューの「オプション」→「操作」タブより「論理モデルにのみ論理リレーションを生成」を選択しましょう。
画面7.オプション画面(「操作」タブ)
上記設定後、リレーションを新規作成した場合は自動で論理リレーションとして作成されるようになります!
まとめて論理リレーションに変換する
上述の方法で作成時にデフォルトで論理リレーションにすることができますが、「すでにリレーションをたくさん作成してしまった…」という方もいると思います。しかし、そんな方もご安心を。実は後で全てのリレーションを論理リレーションに一括変換することもできます!
「モデル」メニュー→「リレーションリスト」を選択すると、リレーションの一覧が表示されますので、Ctrl+Aキーでリレーションを全選択して右クリック→「対象モデルの変更」→「論理モデルのみ」を選択するだけです。
画面8.リレーションリスト画面
これで全てのリレーションが論理リレーションに変換されます!ちなみに同様の方法で通常の(論理・物理モデル両方有効な)リレーションや、物理リレーションに変換することもできます。
リバースエンジニアリング時にリレーションを自動生成する
もう1つリレーション関連のTIPSをご紹介します。SI Object Browser ERには「リバースエンジニアリング」という機能で物理データベースからER図を自動生成することができますが、物理データベース側に外部キー制約がない場合は、リレーションは自動生成されず、エンティティのみリバースとなります。そのため、外部キー制約がない場合はリバースエンジニアリング後にリレーションを手動設定する必要がありますが、実はリレーションを自動生成する方法があります。
リバースエンジニアリング画面で「オプション」タブに切り替え「インデックス情報を元にリレーションシップを推定」または「カラム名をもとにリレーションシップを推定」を選択します。
画面9.リバースエンジニアリングのオプション画面
前者はインテックスの対象列名が他のエンティティの主キー列名と一致する場合に自動でリレーションを生成するオプション、後者はエンティティ間に共通の名前の列があった場合にリレーションが自動生成されるオプションとなります。これらのいずれかまたは、両方を選択した上で「開始」ボタンを押すとリレーションが自動生成されます。
画面10.モデルエクスプローラ(リレーションを自動生成した例)
ただし、この方法は機械的な自動生成となることにご注意ください。例えば、「カラム名をもとにリレーションシップを推定」をONにした場合、A,B,Cに同じ属性があった場合はAB、AC、BC間にリレーションを生成しますが、ABとBC間だけに設定したいというケースには対応できません。そのため、自動生成後はER図全体を見直し、適宜修正する前提でご利用いただければと思います。 |
削除したエンティティを復活する
エンティティを誤って削除してしまった場合、通常のアンドゥ、リドゥ機能では元に戻すことはできませんが、SI Object Browser ERの画面上部のツールバーにある「削除前に戻す」、またはCtrl+Tキーで削除前の状態に戻すことができます!
画面11.SI Object Browser ERのツールボタン
ただし、2つ前に削除したエンティティを元に戻すことはできないため、間違ってエンティティを削除した場合はすぐに復元するようにしましょう。
ER図を以前のバージョンに復元する
上述の削除前に戻る機能では1つ削除前の状態までしか復元することができませんが、もし、もっと前の状態に戻したい場合は「ファイル」メニュー→「EDMファイルの保存履歴」より復元することもできます。
画面12.SI Object Browser ERの「ファイル」メニュー
選択後は以下の画面が表示されます。保存を実行するごとに自動で履歴がとられています。また、ある履歴を選択して「ロールバック」ボタンを押すことで履歴時点のバージョンに戻すことが可能です!
画面13.EDMファイルの保存履歴画面
また、2つの履歴を選択して「比較」ボタンよりバージョン間の変更点を確認することも可能です!
画面14.EDMファイルの比較画面
履歴機能においては、内部では保存することにバックアップ用のER図が保存されています。 このバックアップ用のERファイルが保存される場所は、既定では「C:\ProgramData\OBER●\temp\」(●はERのバージョンが入ります。)また、このフォルダパスは「ツール」→「オプション」→「フォルダ」タブにある「保存履歴管理フォルダ」の設定より変更することもできます。例えば、ネットワーク共有されたサーバー上のパスを設定することで複数ユーザーと変更履歴を共有する運用も可能です。
画面15.オプション画面(「フォルダ」タブ) |
以上が、SI Object Browser ERの便利だけどマニアックな機能でした。いずれも覚えておくと設計の時間が短縮できること間違いなしですので、ぜひ今後使っていただけたらと思います!
- カテゴリ:
- キーワード: