1
0

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.

【DB設計】マスターとトランザクション

Posted at

今までDB設計を考える上でマスターテーブルしか必要のない設計ばかりしていたが、
今回初めてトランザクションテーブルが必要になる設計をすることになったのでまとめてみた。

DB設計ではテーブルを考えるときにマスター用のテーブルとトランザクション用のテーブルに分けて考えるとスムーズに設計できる。

マスター

頻繁に更新しない基本的なデータを扱う。
使い分けて考える上での特徴のひとつ:updated_atカラムが必要

例:ユーザーテーブル、商品テーブル

ユーザーテーブル

ユーザーID 名前 メールアドレス
1 山田太郎 taro.y@hogehoge.jp
2 佐藤理恵 sato_rie@hogehoge.jp

商品テーブル

商品ID 商品名 単価
1 hoge農家の卵 198
2 おいしい牛乳 158

トランザクション

履歴(実行された事実)を残しておく。
使い分けて考える上での特徴のひとつ:updated_atカラムが必要ない

例:注文履歴テーブル

注文履歴テーブル

注文ID ユーザーID 商品ID 購入日
1 3 2 2022/3/2
2 8 4 2022/1/23
1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?