【目的】
データベースのテーブルタイプについて考えてみます。
【内容】
テーブルタイプとは、テーブルの種類を表したものと思っています。
「○○マスタ」、や「○○トラン(ザクション)」と言った様に明確に意識していなくても、なんとなく使っていたりもします。
「
XEAD Modeler」では
テーブルタイプを設定出来る為、改めてこの種類を考えてみました。
【結論】
以下の6種類に分かれると思います。
| | | |
| No | 名前 | 説明 |
| 0 | 未指定 | テーブルタイプが指定されていないテーブルの種類。テーブルの種類が決まらない際、一時的に使用する。 |
| 1 | マスタ | 更新頻度の低い、参照される事が多いデータを格納するテーブルの種類。 |
| 2 | トランザクション | 更新頻度の高い、変更される事が多いデータを格納するテーブルの種類。 |
| 3 | サマリ | 更新が無い、計算に時間が掛かる集計結果を格納するテーブルの種類。 |
| 4 | 履歴 | 更新が無い、処理等の履歴を格納するテーブルの種類。 |
| 5 | システム | システム全体に関わる変数等を格納するテーブルの種類。 |
以上です。
たとえばですが、部署マスターと社員マスターの間の関連を示すようなテーブルはどの種類に相当しますか?
返信削除人事システムでないので、トランザクションとして管理はしたくないような場合ですが、配置転換はあるようなケースです。
貴重な意見ありがとうございます、以下、現時点での私の考えです。
削除結論から言うと、基本的には「部署マスタ」と「社員マスタ」の様な「マスタ同士」の関連を示すテーブルは「マスタ」で良いと思います。
しかし、配置転換の「履歴」を管理する場合は「トラン」と分類する方が良いかもしれません。
上記表の「マスタ」と「トラン」等という分類はあくまでも管理上の分かり易くしている呼び名です。
ですので、各システムに合わせて命名のルールをもう少し厳密にしておく方が、命名・管理が楽になると思います。
(例)
「○○日付」が入るもの⇒「トラン」
(具体例)
「配置転換日付」が入るもの⇒「トラン」
「売上日付」が入るもの⇒「トラン」
「記事作成日付」が入るもの⇒「トラン」
以上ですが、参考になれば幸いです。