WebMatrix で正規化されたテーブルを作ってみよう
2011年8月16日の『WebMatrix夏休み特番&勉強会』のネタを考えていた時にふと思いついたので、忘備録としてブログに書きたいと思います。
WebMatrix の特長の一つに 「Excel 感覚でデータベースを編集できる」 事があります。データベースの基礎を学ぶ際にこの機能を活用する事で、効率よく学習いただけるのではないかと思います。今回は WebMatrix のデータベース編集機能を活用して、正規化されたデータベースを作成したいと思います 。
本ブログ記事の構成は下記のようになっています。WebMatrix をインストール済みの方は、2. 以降をご覧ください。
- WebMatrix のインストール
- テーブルを作成する
- 第3正規形のテーブルを作成する
なお、今回は WebMatrix と一緒にインストールされている SQL Server Compact を使用します。
WebMatrix では下記のデータベースソフトウェアが対応していますので、他のデータベースソフトウェアを使っていただく事も可能です。
<WebMatrix に対応しているデータベースソフトウェア>
- SQL Server Compact Edition
- SQL Server 2005 / 2008 (Express Edition にも対応)
- MySQL 5.x / 6.x
1. WebMatrix のインストール
WebMatrix のインストールには Web Platform Installer 経由でのインストールをお勧めしています(お勧めの理由はこちらをご覧ください)。
本ブログでも Web Platform Installer 経由での WebMatrix インストール方法をご紹介します。
注意: Windows Update の自動更新は “OFF” にしてください。インストールが途中で止まる可能性があります。
(1) Web Platform Installer をインストールします。インストール方法はこちらをご覧ください。
(2) Web Platform Installer を起動し、画面上部の[プロダクト]をクリックすると、リストの中に「WebMatrix」があります。
WebMatrix の「追加」ボタンをクリックしてから[インストール] ボタンをクリックしてください。
(3) インストールされるソフトウェアの一覧が表示されます。ライセンス条項をご確認のうえ、[同意する] ボタンをクリックしてください。
WebMatrix と一緒にインストールされるソフトウェアは下記になります。
これらのソフトウェアは WebMatrix を動作させるためのテスト開発環境構築に必要なコンポーネントになります。
<WebMatrix と一緒にインストールされるソフトウェア> * は Windows XP 環境でのみインストールされます
WebMatrix |
IIS Express 7.5 |
ASP.NET Web Pages |
ASP.NET Web Pages 言語パック |
.NET Framework 4 |
Windows インストーラー (*) |
.NET Framework 2.0 SP2 (*) |
SQL Server System CLR 型 |
SQL Server Native Client |
SQL Server Compact 4.0 |
SQL Server Compact 4.0 Tools |
SQL Server 2008 R2 管理オブジェクト |
Web 配置ツール |
(4) (3) で表示されたソフトウェアがダウンロードおよびインストールされます。
途中、.NET Framework のインストールが完了すると再起動を要求されますので、再起動してください。
(5) 全てのソフトウェアのインストールが完了すると下記のような画面が表示されます。
(6) WebMatirx で PHP ファイルを編集する場合、デフォルトの文字コードを UTF-8 に設定する必要があります。
設定方法はこちらをご覧ください。
以上で、WebMatrix のインストールは完了です。
Windows Update の自動更新は “OFF” にした場合は、”ON”に戻すのをお忘れなく。
2. テーブルを作成する
WebMatrix のデータベース編集機能を使えば簡単にテーブルを作成できます。
ここでは、WebMatrix を使ったデータベースのテーブル作成方法をご紹介します。
(1) WebMatrix を起動し、[テンプレートからサイトを作成する](赤枠で囲まれた箇所)をクリックします。
(2) テンプレートの一覧が表示されますので、[空のサイト(英語)]をクリックします。
サイト名を半角英数字に変更してから[OK]ボタンをクリックしてください。
(3) サイトが作成されると下記の画面が表示されます。画面左下の [データベース] をクリックします。
(4) データベースの編集画面が表示されます。
画面上部の [新しいデータベース] をクリックすると、「xxx.sdf」というデータベースが作成されます。
(5) 作成したデータベースにある [テーブル] の文字をダブルクリックします。
メニューに「テーブル」タブが表示されますので、[新しいテーブル] をクリックします。
(6) テーブルの列名の設定画面が表示されます。列の名前の入力と、今回は文字列の入力を行いたいのでデータ型は「nchar」にしてください。
(7) 列を追加する場合は、画面上部の「テーブル」タグにある [新しい列] をクリックしてください。
(8) (6) と (7) を繰り返して第1正規形のテーブルを作成します。
(9) テーブルの作成が完了したら、画面上部の [保存] アイコンをクリックしてください。
テーブルの保存にあたり、テーブル名の入力を求められますので、お好みの名前を入力して [OK] ボタンをクリックしてください。
テーブルが保存されましたので続いてデータを入力します。
(10) 先程作成したテーブル名をダブルクリックすると、Excel のようなデータの入力画面が表示されますので、セルに直接文字を入力します。
他のセルに移動するとデータは自動でデータベースに保存されます。
以上で、テーブルの作成が完了しました。
3. 第3正規形のテーブルを作成する
第3正規形のテーブルを作成する場合はリレーションの作成が必要です。
ここでは、先程作成したテーブルを第3正規形にした場合のテーブルとリレーションの作成方法をご紹介します。
(1) 先程ご紹介した方法で、下記のようなテーブルを 2つ 新規作成します。
(2) 「必殺技」テーブルの「必殺技」列の「主キーかどうか」の項目を「True」にしてください。
(3) 「テーブル」タグ内のテーブルビューが「定義」になっていると、「関係」(リレーション)の [新規]がクリックできます。
「ヒーロー名」のテーブルビューを「定義」状態で、[新規] (赤枠で囲まれたところ)をクリックします。
(4) 関係(リレーション)の新規作成画面が表示されます。下記のように設定して [OK] ボタンをクリックします。
以上で、第3正規形のテーブルとリレーションの作成が完了しました。リレーションを作成すると、他のテーブルに関係するデータの削除ができなくなります。試しに「必殺技」テーブルのデータを削除しようとしてください。下記のエラーが表示されてデータの削除が拒否されます。
いかがでしたでしょうか?
テーブルとリレーションが「かんたん」に作成できることがご理解いただけたのであれば幸いです。
武田正樹