どのデータベースのスキーマを使用できま保存異なる種類の請求書データはもらえますか?
-
10-07-2019 - |
質問
しているシステムを作成しめることができご請求させるハウスの口座に送金引換(COD)有信メールが届きます。私が以下のテーブル:
受注
高貴な男たちによ
billingoption_id
BILLINGOPTIONS
billingoption_id
私のかわからないか、次のテーブルとして実装されるべきである、請求データです。べき私は別のテーブルの種類ごとに請求書オプションする計画です。COD、クレジットカード、ハウスカそういう外部キーカラムはテーブルを参照しセグメントでも過去最高の請求書データはもらえますか?
解決
行うことができるのでは:ビヨーク連邦準備銀行 billingoptions
テーブルは、分野の全ての種類、Nullのための分野いにお申し込みの指定の型、バンチの赤ちゃんのテーブルで"スターオフ"の親会社 billingoptions
表に示す。ともにメリットとデメリットがある。
そして、ヨーク連邦準備銀行がテーブル
- そのすべてのデータを参照している単一ます。
- 追跡対する外部キーカラムの依存関係や更新または挿入が効率.
- がすを修正する必要があるので、テーブルの構造を新規追加料金オプション、将来の可能性を無効に組み合わせのデータの蓄積が続いている(例えば、カードタイプとCODフラグを設定されている同社実績)。
の小さな赤ちゃんのテーブル、
- そのデータを分割し、プログラムのオブジェクト構造です。
- しているのは嬉しいを追加できる新しい支払いのオプションや、既存のものを気にせずに影響を与えます。
- の関係が非常に顕在化する。できない誤ってリンクの預金の他の預金からの外部キーが必要になることと関連付けができることで、承認されます。
- ものご紹介で多くのテーブルのデザインを必要とする多くの参加の可能性を痛めのナビゲート、などの効率的な付き合いを挿入します。
仕事をしてく小さな赤ちゃんです。うするとどうなるのかわかりません
Table Orders: --> OrderId PK --> (Lots of Other Fields) Table Payments: --> PaymentId PK --> OrderId (FK) [There may be more than one payment per order] --> PaymentType [Restricted field contains values like 'PAYPAL' or 'CREDIT', you use this to know which baby table to look up that can contain additional information] Table PaymentsPayPal: --> PaymentPayPalId PK --> PaymentId FK points to Table Payments --> TransactionNo --> (Other PayPal specific fields) Table PaymentsCheck: --> PaymentCheckId PK --> PaymentId FK points to Table Payments --> RoutingNo --> (Other e-check specific fields) + other tables for remaining payment types....
すべてのクレジットカードで支払いの三つの取引に関連するテーブル:
Table PaymentApprovals: --> PaymentApprovalId PK --> PaymentId FK points to Table Payments --> Status [Some flag meaning 'Succeeded', 'Failed', 'Reversed', etc] --> ProcessorMessage [Something the service sent back, like '(M) CVV2 Matched'] --> Amount --> (Other administrative fields) Table PaymentDeposits: --> PaymentDepositId PK --> PaymentApprovalId FK points to Table PaymentApprovals --> Status --> ProcessorMessage --> Amount --> (Other administrative fields) Table PaymentRefunds: --> PaymentRefundId PK --> PaymentDepositId FK points to Table PaymentDeposits --> Status --> ProcessorMessage --> Amount --> (Other administrative fields)
すべてのお支払い方法(クレジットカード、PayPal、Googleアウト、チェック、キャッシュ、クレジット決済システム)を抽象化に適合することの承認-->預金-->払い戻しを比喩のUIの電話と同じ方法 IPayment
や IPaymentProcessor
界面の異なる実装(CybersourcePaymentProcessor
, PayPalPaymentProcessor
, します。を抽象化しても、過去年半でこれらの異なる方法もあるのGUIの表示が異なるverbiageのユーザ(例えば、ただ"ということを許可"と"電荷"の代わりに"承認"や"預金"クレジットカード決済の場合、画面に入力するキャッシュを行う承認預金ステップを一挙に.)
希望の意いたしました。いるように聞こえるよい実際に保管支払い情報が便利であるとはいえるでしょうかということを考えることもできます。
他のヒント
物事に焦点を当てます。実際のもの。物事を簡単に、直接的に、そして最初に自然言語で記述してください。
その後、設計ガイダンスを要求するときに、定義を提供できます。場合によっては、定義を書く行為によってデザインが結晶化されます。
注文は重要です。注文の属性は何ですか?顧客、製品、支払い/請求オプション。
請求オプションは(ほとんど)ものです。明らかに、それらを定義して識別することができます。 (できるかどうかはわかりません。あなたの質問から、あなたはできるかもしれません。しかし、一文の要約がなければ、Billion Optionsで何が起こっているのか分かりません。
「請求データ」とは何ですか?これはどんなものですか?どの属性(またはプロパティ)がありますか?
「請求データ」の仕組み注文に関連する?請求オプションとどのように関係しますか?
質問を各項目の定義で自由に更新してください。