マスタとは何でしょうか?
わかるようでわからないという人が多いと思います。
この記事では例を使って、マスタについてわかりやすく説明します。
「なんでわざわざマスタテーブルを作るの?」
という疑問が、この記事を読むことでわかるようになります。
マスタテーブルとは?
データベースのテーブルは特徴によってマスタとトランザクションに分類できます。
マスタテーブルは人や物を識別する情報や特徴が保存されます。
トランザクションテーブルは活動履歴が保存されます。
具体的には、マスタテーブルは社員情報、顧客一覧、商品一覧です。
マスタテーブルの特徴として、他のテーブルと共有できることがあげられます。
あなたがSNSで記事を投稿したとしましょう。
自分の書いた記事の情報はトランザクションテーブルの情報です。
その記事の内容は1回限りの活動情報だからです。
あなたアイコンやプロフィールはマスタ情報です。
それはあなたが投稿した記事に共有して使えるからです。
投稿するたびに自分の名前やアイコンを登録するのは面倒ですよね。
このように共有できる情報を保存しているのがマスタテーブルです。
マスタテーブルの特徴
マスタテーブルは次の特徴があります。
- データの削除はできない
- トランザクションを入力する前に登録が必要
- データの変更は少ない
それではそれぞれの詳細を見ていきましょう。
データの削除はできない
マスタデータは基本的に削除しません。
その理由は、どのトランザクションテーブルで使われているか確認が難しいからです。
例えばSNSであなたの情報をマスタから削除したとします。
あなたが投稿した記事にはあなたを示す番号しか記録されていません。
ですので記事を見たときに誰が投稿したのかわからなくなってしまいます。
そのため削除できないのです。
もちろん使われていなければ削除できます。
ですが、ログイン履歴、投稿情報、参照情報など多くのテーブルで使われています。
実質的に確認が難しいので、マスタデータは一度登録したら削除しないのです。
間違って登録してしまったり、もう使わなくなった場合は「削除フラグ」や、「失効日」といった項目に情報をいれて区別します。
一度登録したら削除はしないのがマスタデータです。
トランザクションを入力する前に登録が必要
マスタ情報は必ず先に入力します。
そうしないとトランザクションデータは登録しません。
これは実生活の例を考えてみるとわかりやすいです。
銀行を使うには、まず身分証明をして口座登録しないと使えません。
いきなり1万円もっていっても銀行には預金させてもらえません。
ネットショッピングも多くのところはログイン登録が必要です。
ログインしなくても変えるネットショップもあります。
その場合、名前や送付先などたくさんの情報をいれないといけませんよね?
ログイン登録しているサイトはマスタ情報を使っているので入力を省略できるのです。
最初の登録はたいへんだけど、一度登録したら楽をできるのがマスタです。
データの変更は少ない
マスタデータは一度登録するとあまり変更はありません。
これはマスタに保存するデータの性質を考えるとわかります。
マスタのデータは人や物の特徴や識別できる情報を登録しているからです。
活動履歴を保存しているトランザクションデータはデータがどんどん増えますが、マスタデータは安定しています。
まとめ
マスタテーブルについて見てきました。
マスタテーブルは他のテーブルと共有して使う情報を保存しています。
それによって、入力の手間を省くことができます。
その一方、共有して使われるので削除しにくいです。
登録すると削除できないので慎重に登録する必要があります。
このような特徴を知っているとテーブル設計をするときに役にたつでしょう。
マスタテーブルとトランザクションテーブルは正規化したあとのテーブルの分類です。
もし正規化について知りたい場合は、「データベースの正規化の手順をわかりやすく解説」の記事をご確認ください。