書籍、出版社、ソース(特定の書籍へのリンクなど)に関する情報を追加できるアプリケーションを作成しています。 各ユーザーは、書籍やジャンル(出版社など)に関する情報を追加または編集することができます。 。 ユーザーが書籍に関する情報を追加または変更すると、この情報は彼のためにのみ利用可能となり、司会者は情報の正確性をチェックしません。確認後、情報はすべてのユーザーが利用できるようになります。
私のデータベーススキーマhereが表示されます。
ユーザーが投稿した変更に関する情報はどのように保存する必要がありますか?ユーザーが投稿した変更に関する情報を保存する方法は?
答えて
少なくとも2つの基本的なアプローチがあります。
オプション1:パラレルテーブルの変更を保留します - このオプションでは、同一のテーブルを持つスキーマをメインスキーマに重複させますが、各テーブルには追加の編集関連情報このオプションでproposed_by、proposed_datetimeなどapproval_status、approved_by、
として、あなたはすべての提案された変更を追跡するだろうし、彼らはモデレータがそれらを承認した場合にのみ、テーブルの主なセットに書き込まれます。これらのパラレル・テーブルに提案された変更の履歴を保持するか、承認され拒否された変更を保留にして、保留中の変更のみを残すことができます。それはあなたのビジネス要件に依存します。
オプション2:トラックは、ステータスフラグとメインテーブルの変更を保留 - このオプションでは、あなたは、あなたのメインテーブルに身をオプション1からの変更追跡列を追加します。 status_flagの列を使用して、どのレコードが公式で、提案された変更が保留中であったかを示すこともできます。必要に応じて、拒否された変更を追跡することもできます。
どのオプションを選択できますか?すべてのデザインはトレードオフです。ニーズに応じて、これらのオプションのいずれかを使用できます。最初のオプションの問題は、すべてのテーブルを複製し、その上に変更トラッキング列を追加する必要があることです。 2番目のオプションの問題は、がというコードを読み取るコードが、保留中の変更をすべて除外して考慮する必要があるためです。
私はクリーンなコードのファンです。その理由から、私はおそらくオプション1に傾いているでしょうが、あなたのビジネス要件を知らないので、あなた自身の決定を下す必要があります。
- 1. セッションにユーザー情報を保存する最善の方法は?
- 2. iOSのユーザーに関する情報を保存する
- 3. ユーザーに関する情報を保存するSpring MVC
- 4. dbなしでユーザー情報を保存する方法
- 5. Liferay:ポートレットのユーザー情報を保存する方法は?
- 6. SQL - ユーザーの中間サインイン情報を保存する方法
- 7. JavaScript:ユーザーが投稿したときにフォームを変更する
- 8. Joomlaのユーザー情報の投稿
- 9. CasperJSに情報を投稿する方法
- 10. DBに情報を投稿する方がいいですか?
- 11. Djangoにユーザーに関する追加情報を保存するには?
- 12. 特定のユーザーが投稿した投稿を返信する方法は?
- 13. バックグラウンドでユーザーに関する情報を保持する方法は? [Android]
- 14. 幼虫の投稿のユーザー情報の取得に関する問題
- 15. Firebaseリアルタイムデータベースを使用してユーザー情報を保存する方法は?
- 16. サービスまたはlocalStorageのユーザー情報を角で保存する
- 17. CakePHP 3 - ユーザーが投稿したユーザーを投稿する
- 18. サーバー上の情報を投稿する
- 19. オリエンテーションの変更が発生したときにsavedInstanceStateを使用してカメラ情報を保存する方法
- 20. C#SQL Server - ユーザーが削除されたときにアイテムのユーザーに関する情報を保存します。
- 21. ユーザーの資格情報を保存するためのより良い方法
- 22. アップロード後にファイル情報をデータベースに保存する方法は?
- 23. 保存した情報を保存
- 24. Wordpressのsingle.phpから、.phpファイルに投稿情報を投稿する方法はありますか?
- 25. Symfony2の "access_control"情報をデータベースに保存する方法は?
- 26. SCNNodeに追加情報を保存する方法は?
- 27. Python3:ショートスクリプトの情報をCSVファイルに保存する方法は?
- 28. Reduxストアにログイン資格情報を保存する方法は?
- 29. ジョブの情報(パラメータ、ステータス...)をデータベースに保存する方法は?
- 30. PHP:情報をクッキーに保存する安全な方法は?