クライアントが変更を送信できるプロジェクトがあり、管理者は提案を見て、承認、編集して承認、編集して承認のためにクライアントに送り返す、または拒否することができます。
誰かが編集を気に入らず、元に戻したい場合に備えて、編集が行われたときに元の提案を保持したいので、悪夢になる2セットのデータが必要になります。
これが私の現在のシステムで、より効率的である必要があると思います。より良いアイデアが必要です。
どのフィールドが編集されたかを正確に確認したいので、すべてのフィールドのステータスが必要です。
mySQL
Table proposal_deal
+----------+------------+--------------+--------------+--------------+
| deal_id | name |name_status | price | price_status |
+----------+------------+--------------+--------------+--------------+
| 1 | deal 1 | 1 |12.00 | 1 |
+----------+------------+------------- +--------------+--------------+
Table deal
+------+---------+-----------+--------------+
| id |deal_id | name |price |
+------+--------+------------+--------------+
| 1 | 1 | deal 1 |12.00 |
+------+--------+------------+------------- +
これらのテーブルには多くのフィールドがあるため、ステータス列も多くあります。このようなすべてのフィールド ステータス情報を格納する status という 3 番目のテーブルを追加する方がよいのではないかと考えています。
mySQL
Table proposal_deal
+----------+------------+-------------+
| deal_id | name |price |
+----------+------------+-------------+
| 1 | deal 1 |12.00 |
+----------+------------+-------------+
Table deal
+------+---------+-----------+--------------+
| id |deal_id | name |price |
+------+--------+------------+--------------+
| 1 | 1 | deal 1 |12.00 |
+------+--------+------------+------------- +
Table status
+------+--------+-------------+--------------+
| id |deal_id | column_name |status |
+------+--------+-------------+--------------+
| 1 | 1 | name | 1 |
+------+--------+-------------+------------- +
DB に多くの呼び出しを行うときの効率だけでなく、設計目的のために何が簡単になるでしょうか?
私はすでに最初のアプローチから始めていますが、頭痛の種ですが、他のアプローチが同じになる場合は変更したくありません..
誰にも意見がありますか(きっとそう思います)、または別のアプローチがありますか?
ありがとう