phpMyAdminの使い方_ リレーショナル

Windows

リレーショナルデータベース(RDB)とは、「テーブル」という表形式の構造で管理するエクセルの表のイメージです。行をレコードと呼び、列をフィールドと呼びます。1行に1件のデータが格納され、1レコードとなります。が、各レコードのデータは必ず”一意”であることが条件となります。データの重複を避けることで、検索スピードを上げることができるのです。ここでは、複数のテーブルにリレーションを貼り、リレーショナルデータベースを実践してみます。

スポンサーリンク

所属の追加

現在、データベース(jinji)のテーブル(staff_list)では、所属という項目がない為、どこの部署なのかを識別することができません。そこで、所属という項目を追加して、それが識別できるようにしてみます。

Xamppの起動

ApacheとMySQLの起動

MySQLを使うためには、Apacheも必要となりますので、両方起動します。

MySQLのAdminの起動

Adminをクリックすると、phpMyAdminというツールが開きます。このphpMyAdminを通してMySQL(MariaDB)にアクセスすることとなります。

対象ファイルの選択

データベース(jinji)の選択

テーブル(staff_list)の選択

所属カラムの追加

ここでテーブル(staff_list)に、どこの部署なのかを識別するための「所属」という項目を追加します。

「構造」タブをクリック

カラムの追加

staff_nameの後に、「syozoku」という名前でカラムを1つ追加します。

「所属データ」の入力

所属カラムを追加したことで、どこの部署なのかを識別することができるようになりました。ここでは、相田さんと山内さんが同じ1号館の所属であることがわかります。そこで、さらに1号館等の所属の電話番号も一緒に管理したい等という場合は、カラムを追加しなければなりません。すると、どんどんとテーブルが肥大化してしまいます。また、相田さんが異動で1号館から2号館に移動した場合には、syozokuの項目を変更しなければならなくなり、非常に効率がわるくなります。そこで、このような場合は、テーブルを分けることをします。折角、部署カラムを追加したのですが、この方法ではメンテナンスも大変ですので、staff_listとは別に、新たな所属テーブルを作成して、2つのテーブルを関連付けて管理することとします。

所属カラムの削除

そこで、テーブルを分ければ、syozokuのカラムは不要となりますので削除しておきます。

カラムの削除

syozokuにチェックを入れて、「削除」をクリックします。

カラム削除結果

所属テーブルの作成

Xamppの起動

ApacheとMySQLの起動

MySQLを使うためには、Apacheも必要となりますので、両方起動します。

MySQLのAdminの起動

Adminをクリックすると、phpMyAdminというツールが開きます。このphpMyAdminを通してMySQL(MariaDB)にアクセスすることとなります。

テーブルの作成

所属を管理する新たなテーブル(syozoku)を作成します。

データベース(jinji)の選択

テーブル(syozoku)の作成

①テーブル名、カラム数の入力

テーブル名、カラム数を入力して「実行」をクリックします。

②カラム名、データ型の入力

名前は、id,name,tel、データ型は、INT,TEXT,TEXTとします。

③プライマリーキーの設定

idのカラムをプライマリーキーに設定します。

④オートインクリメントの設定

これでテーブルの設定が終わりましたので、「保存」をクリックします。

テーブル作成完了

データの入力

「挿入」タブのクリック

作成したテーブル(syozoku)にデータを入力します。

同様にして、以下を追加します。

「表示」タブのクリック

入力された内容を確認します。

これで、syozokuというテーブルには3つの部署の情報が格納されました。

staff_listと、syozokuの結びつけ

作成した所属テーブル(syozoku)と、スタッフリスト(staff_list)テーブルを結びつける為、スタッフリスト(staff_list)に、所属コード(syozoku_id)を設定するカラムを追加します。

カラムの追加

staff_listにカラムを追加します。

①「構造」タブのクリック

②カラムの設定

名前を「syozoku_id」、データ型を「INT」として、「保存」をクリックします。

③追加の確認

syozoku_idのカラムが追加されました。

このsyozoku_idに、syozokuテーブルのidを入力することで、結びつけることができます。

カラムへのデータの挿入

追加したカラム(syozoku_id)ヘ、所属コードを入力します。

このままでは、syozoku_idはセットされましたが、syozoku_id=11が1号館であるという事は、syozokuテーブルを検索しなければわかりません。データベースでは、リレーションを使って2つのデータベースがあたかも1つのデータベースであるかの如くふるまうことができます。

SQLの入力

①特定レコードのみ紐づけ

「実行」をクリックすると

staff_listのid=1の相田さんの情報が表示されますが、その前にsyozokuの情報が付属して表示されます。

②全レコードの紐づけ

WHERE句を無くして、「実行」をクリックすると、全てに対してsyozokuを紐づけることができます。

コメント

タイトルとURLをコピーしました