トランザクションとはいったい何でしょうか?
トランザクションの日本語訳を見ると次のようになっています。
取引、売買、処理、取り扱い、処置、業務
トランザクションは日本語訳そのままです。
取引や売買情報を記録して保存した情報をトランザクションテーブルといいます。
トランザクションテーブルははデータベースを作成するときに必ず作成します。
その特徴を抑えておくと、データの整理に役立ちます。
それではトランザクションテーブルの特徴を確認していきましょう。
データベースのトランザクションとは?
データベースのテーブルはデータの特徴によって次の2種類に分類できます。
- トランザクション
- マスタ
トランザクションテーブルには活動履歴が保存されます。
マスタテーブルは人や物を識別する情報や特徴が保存されます。
トランザクションの具体例では、受注情報、発注情報です。
注文書をやり取りしたときの注文書の情報がトランザクションです。
あなたがSNSで記事を投稿したとしましょう。
自分の書いた記事はトランザクションです。
その記事の内容は1回限りの活動情報だからです。
一方、あなたアイコンやプロフィールはマスタ情報にあたります。
投稿記事のように活動履歴として流れていくデータがトランザクションです。
いつでも共有情報として使える状態を表したのがマスタです。
トランザクションテーブルの特徴
トランザクションテーブルは次の特徴があります。
- データの増えるスピードが早い
- 活動中はデータの変更が多いが、活動が終わると変更されなくなる
それではそれぞれの詳細を見ていきましょう。
データの増えるスピードが早い
トランザクションは活動履歴なのでデータが増えるスピードが早いです。
Twitterのつぶやきや、Amazonでの購入履歴を見るとわかるのではないでしょうか?
日々の活動の記録なのでデータが蓄積される特徴があります。
活動中はデータの変更が多いが、活動が終わると変更されなくなる
ネットショップでの発注を思い出してみてください。
発注を確定するまでは、数量を変えたり、発注する商品を何度も変えたりしていませんか?
ですが、一度発注が終ってからデータの変更をしたことはありますか?
このように、仕掛中のデータはよく変更されますが、完了したらとたんに変更されなくなるという特徴があります。
トランザクションの種類
トランザクションテーブルは細かく見ると次の3つの種類に別れます。
- 活動履歴
- 取引履歴
- ログ
活動履歴はSNSの投稿を考えてもらえばいいでしょう。
情報の記録です。
取引履歴は発注など契約情報の記録です。
この取引履歴データの特徴は、完了後のデータ変更はNGということです。
発注金額を後で書き換えたら不正になってしまいますよね?
最後にログはログイン履歴など活動記録です。
このログは自動でシステム内に作成される点と、削除しても問題がでないのが特徴です。
ログデータはデータベースのテーブルとして持たずに、ファイルにすることが多いです。
この3つの特徴をまとめると次のようになります。
種類 | 完了後の変更可否 | 削除可否 |
---|---|---|
活動履歴 | ○ | ○ |
取引履歴 | ✕ | ✕ |
ログ | ✕ | ○ |
まとめ
トランザクションテーブルについて見てきました。
トランザクションテーブルは取引や売買情報を保存するデータです。
データの増えるスピードが早く、いったん完了すると変更が少ないという特徴があります。
この特徴を抑えて、テーブル設計を行うと使いやすいデータベースが作成できます。
マスタテーブルとトランザクションテーブルは正規化したあとのテーブルの分類です。
もし正規化について知りたい場合は、「データベースの正規化の手順をわかりやすく解説」の記事をご確認ください。