3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【講義10.php_rdb実践_複数テーブル操作】マスターテーブルについて

Last updated at Posted at 2021-07-18

#本記事について
今後の開発の参考になればと思い、マスターテーブルについて、講義内容や職場での実体験をまとめたもの。

##マスターテーブルについて
マスターテーブルとは、システムの運用上変更が頻繁にない基本的な情報が格納されたテーブル。
例えば、商品の情報が格納されたデータベースであれば「商品情報」「商品カテゴリ情報」がマスタテーブルになる。
「商品マスタ」「商品カテゴリマスタ」などと呼ばれる。
マスタは「m_」や「mst_」などの名前から始める、というルールでテーブル名がつけられる。
(テーブル名の例: mst_product,m_product)

##マスターテーブルの活用例
カラムの中で同じ値が繰り返し入る場合は、マスターテーブルを利用する。
ここでは顧客情報のテーブルに、関連するデータ(性別マスタ、職業マスタ)を紐付ける。
以下のような、3つのテーブルをINNER JOINを使用して結合する。
性別ID、職業IDにそれぞれ相対する名称を紐付ける。

①t_customer(顧客情報テーブル)

id custmer_name gender_id jod_id prefectures municipality  address
1 田中 1 2 東京都 港区 西麻布1丁目1番1号XXビル

②m_gender(性別マスタ)

id gender_name
1 女性
2 男性
その他

②m_job(職業マスタ)

id job_name
1 会社員
2 経営者・会社役員
3 学生
4 フリーター
その他

##sql文
 t_customer、m_gender、m_jobを内部結合。
 m_genderのgender_name、m_jobのjob_nameを表示する。

sql
SELECT * FROM t_customer 
INNER JOIN m_job ON t_customer.job_id = m_job.id 
INNER JOIN m_gender ON t_customer.gender_id = m_gender.id

##結果
t_customer(顧客情報テーブル)にgender_name(性別名称)、jod_name(職業名称)が表示される。

id custmer_name gender_id gender_name jod_id jod_name prefectures municipality  address
1 田中 1 女性 2 経営者・会社役員 東京都 港区 西麻布1丁目1番1号XXビル

以上。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?