はじめに
このチュートリアルでは、既存のデータベーススキーマをリレーショナルモデルおよび論理モデルにリバースエンジニアリングするために使用できる、MySQLWorkbenchソフトウェアのMySQLリバースエンジニアリングツールを紹介します。エンティティ、属性、識別子、および関係で構成されるエンティティ関係モデルとしてモデル化されたビジネスユーザー要件から始まる典型的なデータベース開発プロセスについて考えてみます。次に、このE-Rモデルは、リレーション、属性、キー、および外部キーで構成されるリレーショナルモデルに変換されます。リレーショナルモデルは、テーブル、列、および一意の主キーと外部キーの制約を含む制約のセットとして、リレーショナルデータベースに実装できます。
リレーショナルデータベーススキーマがすでに実装されているが、データベースの設計に使用された元のリレーショナルモデルまたはエンティティリレーションシップモデルが不足している状況に遭遇する可能性があります。このような状況では、データベーススキーマからモデルをリバースエンジニアリングすることで、E-Rモデルを再作成できる場合があります。これを実現するには、次の手順を実行する必要があります。
- データベーススキーマを接続し、既存のすべてのテーブル、それらの列、およびそれらの主キーと外部キーの制約を特定します。
- 既存のテーブルと制約のセットに対応するリレーショナルモデルを構築します。
- リレーショナルモデルからE-Rモデルを推測します。
前提条件
このチュートリアルを開始する前に、MySQLWorkbenchをダウンロードしてインストールしたことを確認してください。
また、「HR」(またはその他の)サンプルMySQLデータベーススキーマへの資格情報(ホスト名、ポート、サービス名、ユーザー名、パスワード)も必要です。
次の手順は、MySQLデータベースのサンプル人材スキーマに接続されたWindows7上のMySQLWorkbench 6.3CommunityEditionを使用して実行されました。
新しいMySQLデータベース接続を作成する
MySQLデータベースを操作する前に、まずターゲットサーバーとデータベーススキーマへの必要な接続を設定すると便利です。これらをMySQLWorkbenchに保存すると、すぐに呼び出して作業を続行できます。
開始するには、[データベース]メニューをプルダウンし、[接続の管理]を選択します。新しい接続名、ホスト名(MySQLがローカルコンピューターで実行されている場合はlocalhostを使用)、ポート(3306)、およびユーザー名を入力します。
接続のテストをクリックします ボタンを押してパスワードを入力します。テストが成功したことを確認します。新しいデータベース接続を保存します。
データベース接続がテストされて保存されると、リバースエンジニアリングプロセスを開始できます。これについては次のページで説明します。
MySQLデータベーススキーマのリバースエンジニアリング
リバースエンジニアリングを開始するには、[データベース]メニューをプルダウンし、[リバースエンジニアリング]メニュー項目を選択します。
保存されたデータベース接続を選択するか、接続パラメータを入力して、ターゲットのMySQLデータベースに接続します。完了したら、次へをクリックします ボタン。
リバースエンジニアリングウィザードは、データベースにクエリを実行し、スキーマとテーブル情報を取得します。 次へをクリックします ボタンをクリックして続行します。
インポートするデータベーススキーマにチェックマークを付けます。 次へをクリックします 終了したらボタン。
すべてのデータベースオブジェクトが取得されます。 次へをクリックします ボタンをクリックして続行します。
次のステップは、必要に応じてオブジェクトをフィルタリングすることです。 [フィルターの表示]ボタンをクリックし、必要に応じてテーブルを含めるか除外します。このチュートリアルでは、このステップはスキップされます。 実行をクリックします ボタンをクリックして続行します。
この時点で、リバースエンジニアリングの手順が実行されます。 次へをクリックします ボタンをクリックして結果を表示します。
概要画面が表示されます。 完了をクリックします ボタンをクリックしてウィザードを終了します。
表が図に表示されます。これは、データベーススキーマに存在する主キーと外部キーの制約を示す物理レベルの図であることに注意してください。
この時点で、関係の追加やテーブルへの列の追加など、ダイアグラムに加えられた変更はすべて保存でき、MySQLデータベーススキーマに反映されます。
ダイアグラムを使用したMySQLテーブルの編集
テーブルを編集するには、テーブルを右クリックして、ポップアップメニューから[編集]を選択します。
ダイアグラムの左側にあるアイコンを使用して、テキスト、画像、新しいテーブル、ビュー、またはその他のオブジェクトをダイアグラムに追加します。
ダイアグラム表記の変更
使用されるデフォルトのMySQLWorkbenchダイアグラムの表記は、[モデル]メニューから変更できます。 Crow’s FootやUMLなどの別の表記法を使用するには、[モデル]メニューをプルダウンし、[オブジェクト表記法]を強調表示して、フライアウトメニューから[クラシック]を選択します。
UML表記を表示するには、[モデル]メニューをもう一度プルダウンし、[関係表記]を強調表示して、フライアウトメニューから[UML]を選択します。
ダイアグラムの表記はUMとして表示されます:
データ型を非表示にするには、[モデル]メニューを下に移動し、[モデルオプション]メニュー項目を選択します。
左側の[ダイアグラム]カテゴリを選択し、[列タイプを表示する]チェックボックスをオフにします。このダイアログボックスの下部にある[グローバル設定からデフォルトを使用する]オプションのチェックを外す必要がある場合もあります。
OKをクリックします ボタンをクリックして[モデルオプション]ダイアログボックスを閉じ、図を変更する必要があります:
MySQLモデルと図の保存
ダイアグラムを保存するには、[ファイル]メニューをプルダウンし、[モデルの保存]を選択します
適切なフォルダに移動し、モデルに名前を付けます。 保存をクリックします ボタンをクリックしてモデルを保存します。