既存のデータベースの構造についてどのくらいの頻度で疑問に思いましたか?それは、5年前のレガシーシステムまたはまったく新しいオープンソースプロジェクトである可能性があります。最も有名なコンテンツ管理システムであるWordPressの背後にあるデータベースのERD図を見てみましょう。
WordPressとは何ですか?どのように機能しますか?
WordPressは、2003年に最初にリリースされたオープンソースのCMS(コンテンツ管理システム)です。ブログプラットフォームとしてスタートしましたが、今日ではほとんどすべての用途に使用できるほどに発展しています。
WordPressはオープンソースプロジェクトであるため、多くの開発者が長年にわたってその機能を拡張してきました。 WordPress用に開発された何千ものウィジェット、テーマ、プラグインを見つけることができます。したがって、WordPress.orgが述べているように、「WordPressはあなたの想像力によってのみ制限されます。 (そして技術的なチョップ。)」舞台裏では、PHPサーバーサイドスクリプト言語とMySQLデータベースが力を提供します。
この記事の目的のために、私は次の手順に従ってWordPressをローカルにインストールしました:
- Apache、PHP、およびMySQL用のWindows Web開発環境であるWampServerをダウンロードしてインストールしました(注:Visual C ++再頒布可能パッケージの正しいフレーバーを最初にインストールする必要があります)。このステップでは、主に[次へ]ボタンをクリックしました。
- 次に、 phpMyAdminを使用して「wordpress_database」という名前のMySQLデータベースを作成しました;もちろん、任意の名前を選択して、後でそれを参照することができます。
- 実際のWordPressプログラムをダウンロードしてインストールしました。繰り返しますが、これは主に[次へ]をクリックしていました。
WordPressのインストール中に、ユーザー名、WordPressが使用するデータベースの名前、および接続の詳細を入力するように求められます。既存のMySQLデータベースの名前を指定する必要があります。また、データベース内のテーブルの命名に使用されるプレフィックスを選択できます。 (私は「wp_」を選択しました。)プレフィックスでテーブル名を開始することは、MySQLでは一般的な方法です。すべてがうまくいけば、プロジェクトのランダムなパスワードが生成され、ログインできます。ログインすると、次のようなWordPressダッシュボードが表示されます。
[[
WordPressオプションはデータベース設計とは関係がないため、ここでは詳しく説明しません。オンラインにはたくさんの資料があります-そしてもちろん本にもあります。本を読む☺–これらのトピックをかなり徹底的にカバーしています。
WordPressのエクスポート/インポートプロセス
次のステップは、WordPressページの背後にあるMySQLデータベースを確認することです。そのためには、 phpMyAdminを開く必要があります 。メイン画面を以下に示します。
画面の左側に、 “ wordpress_database”という名前のデータベースが表示されます。 テーブルリストが展開されています。すべてのテーブルに「wp_」があることに注意してください プレフィックス。次のステップは、 phpMyAdminからデータベース構造をエクスポートすることです。 それをVertabeloにインポートします。
これを行うには、[エクスポート]ボタンを使用してから、[カスタム]エクスポート方法を選択します。エクスポートするデータベース名を選択し、[フォーマット固有のオプション]でその構造を選択します。この場合、DDLステートメントを含むSQLファイルが作成され、ディスクに保存されます。
その後、Vertabelo.comにログインし、SQLファイルを新しいデータベースモデルにインポートします。ダッシュボードで、「CREATENEWMODEL」ボタンをクリックします。 「モデル名」テキストボックスに目的のVertabeloモデル名を入力し、「データベースエンジン」リストでMySQL5.5を選択します。
ほとんどの場合、空のデータベースから始めたいと思います。「モデリングの開始」ボタンをクリックすると、データベースが機能します。ただし、この場合、既存のSQLファイルを使用します。それを達成するには、次のことを行う必要があります。
- 「初期モデル」セクションで「SQLから」を選択します。
- [ファイルの選択]ボタンをクリックし、[参照]ボタンを使用してコンピューターからファイルを取得します。
- [SQLのインポート]ボタンをクリックします。
すべてがうまくいけば、「モデルは正常にインポートされました」と表示されます。また、「モデリング開始」ボタンが有効になります。それをクリックして、既存のモデルの使用を開始します。
これで、新しい機能を追加したり、自分自身と上品に表示されたデータベース設計を誇りに思うことができます。その絵は千の言葉の価値があることを忘れないでください!
この時点で、モデルはVertabeloで開き、最終的にSQLコードとしてだけでなくテーブルが表示されます。次のようなものが表示されます(テーブルを少し再配置しました):
最初に気付くのは、テーブル間に関係がないことです。これは、標準のWordPressインストールでは参照整合性が強制されないためです。 WordPressはMyISAMストレージエンジンを使用しています。MyISAMストレージエンジンは、より多くの機能とパフォーマンスを提供しますが、外部キーをサポートしていません。
この記事の目的のために、私は空のWordPressプロジェクトを作成しましたが、表示されるのは空白のページだけです。ばかげているように聞こえるかもしれませんが、WordPressデータベースモデルを調べるにはそれで十分です。 WordPressサイトがどれほど複雑であっても、常に同じテーブルを使用します。同じコアコードとメタフィールドを使用することで、WordPressは、機能、デザイン、スタイルがどれほど異なっていても、サイトを実行するのに十分な柔軟性が得られます。
見るべきWordPressはまだまだあります
WordPressは広く使用されており、そのシンプルさでよく知られているため、この例を作成しました。ただし、他のCMSや、データベースが背後にある他のプロジェクトを使用することもできます。既存のデータベースプロジェクトをデータベース設計ツールに移行したいという多くの状況を考えることができると思います。 Vertabeloには、以前に設計されたモデルをインポートして、システム内で作業を継続するオプションがあります。この記事の作成中に、DDLステートメントを含むファイルからのインポートを使用しました。
次の記事では、テーブル間の関係を確立し、テーブルの定義を詳しく見ていきます。それまでの間、下のコメントセクションでアイデアやフィードバックをお気軽に共有してください。