私は学生管理システムを作成しています。私は3つのテーブル、学生、手数料、student_feeを持っています。料金表には手数料が含まれ、student_feeにはstudent.studentidとfee.feeid学生が料金を支払うたびにstudentid、feeid、およびpaid_dateがstudent_feeテーブルに挿入されます。手数料は翌年に増額することができます。どうすれば払い戻し手数料の古い記録を失うことなく、アカウントに問題を生じさせることができますかMySQLで古い料金を失うことなく
答えて
の代わりに別途全体の履歴テーブルをやって、ちょうど支払額ためstudent_fee_paidテーブルにカラムを追加...あなたはまだ学生の全体の歴史のために直接それから問い合わせることができますそして、それは元...全て一つに歴史的価値を持つことになります。
そうでない場合はStudent Fee_ID DatePaid FeeAmount
X 1 1/1/2009 $25
X 1 1/1/2010 $25
X 1 1/1/2011 $30
X 1 1/1/2012 $35
あなたは30種類の手数料を持っている場合は、それだけで...大きなタスクに成長し、そして料金体系の量は、いくつかのために変わりますが、すべてではありません。それから何が...あなたは、現在の料金金額が何であっても、あなたの「料金」テーブルを維持することができますが、その金額を即座に捺印することができます。レートが年中に変わった場合でも、もう1つのトラブル/履歴の考慮事項...そうでなければ最小限のデータストレージ量が心配しないでください。
これは良いアイデアです、+1 – AndyMcKenna
ありがとう、解決済み – Kold
料金支払いテーブルの履歴を作成します。 StudentID、FeeID、DatePaid、AmountPaid
またはEffective Feeテーブルの日付。
効果的な料金表:詳細を教えてください... – Kold
料金の有効日を設定する方法についてもっと詳しく説明できますか?私はどちらがより良いアプローチかこれに関するチュートリアルのリンクになるか知りたいです – Kold
それはあなたが費用にEffectiveDate列を追加することです。手数料を変更するたびに、テーブルを更新することはありません。新しい手数料と有効期限の新しいレコードを挿入するだけです。その後、ある日に料金がどのようになったのかを確認したい場合は、問題の日付よりも早い有効日付のレコードを取得するだけです。それはその用途を持っていますが、おそらくあなたにとって最高のものではありません。 – AndyMcKenna
テーブルfees
とstudent_fee
をアーカイブ目的でコピーします。
SELECT INTO
コマンドを使用できます。
-1:MySQLはSELECT INTOをサポートしていません。 –
- 1. MagentoはUSPSで "ポストオフィス"料金ではなく "有料オンライン"料金を引き出せますか?
- 2. データベース設計:カスタム料金/請求料金
- 3. L1とL2ミス料金
- 4. 有料から無料のアプリ内課金へ行く
- 5. フィールドを失うことなくSplunkマップ
- 6. 親アクティビティを失うことなく新しいアクティビティを開く
- 7. データベースデザイン:カスタム料金表
- 8. 古いデータを失うことなくFileOutputStreamでデータを書き込む方法は?
- 9. コミットされていないファイルを失うことなくリセット
- 10. 複数の料金で家からの料金順で並べ替え
- 11. 定期的な申込料金チャージ
- 12. データベース:税金の保存料金と情報
- 13. Paypalアダプティブペイメント料金計算
- 14. iphone sdkでオリジナルを失うことなく画像をドラッグ
- 15. jqueryで高さを失うことなく高さをトグル
- 16. Androidアプリ内課金の料金の支払い方法を教えてください。
- 17. は、私は通貨料金でこのJSONファイルを持っているHTML
- 18. 固定料金でコール可能な予定を設定する
- 19. 古いコミットとマージすることなく、マスターでReashを隠す
- 20. IAMユーザがAWSアカウントでサービスに料金を支払うことはできますか?
- 21. woocommerceの商品数に基づく配送料金
- 22. ターゲットコントローラでデータを失うことなくモーダルビューを開くにはどうすればよいですか?
- 23. ホバーカラーを失うことなくハイパーリンクのフォアグラウンドを変更する
- 24. データを失うことなくアンドロイドAPKをアンインストールするには?
- 25. 精度を失うことなくダブルを保存する
- 26. JMS接続を失うことなくサーバーを再起動
- 27. Javascript DOM、スペーシング情報を失うことなくノードテキストを取得
- 28. フォーカスを失うことなく上にWinformを表示
- 29. jQuery:keyCode機能を失うことなく入力フィールドをクローン化
- 30. 設定を失うことなくopenwrtをアップグレードするには?
この質問とそのタイトルを書き換えてください。あなたが直面している問題は何であり、何が望ましい結果であるかは明確ではありません。 – gioele