0

問題は大きくありませんが、ロジックが難しくなるため、同じことが起こります。顧客データを SQL テーブルに保存する必要があります。顧客レコードは、Excel シートでは次のようになります。契約期間は 6 か月または 12 か月です。すべての顧客は、1 か月後に分割払いで支払います。毎月、分割払い金額と手数料金額の 2 つのレコードがあります。Excelシートにはこのようなレコードデータがあります

SR,
CustomerID,
Customername,
CompanyName,
relationType,
ContractStartDate,
ContractDuration,
TotalInstallment,
Comission,
paymentMode,
JanuaryInstallment,
JanuaryCommision,
...
DecemberMonthInstallment,
DecemberMonthCommision

このために、SQLでこれらのテーブルを定義しました: ここに画像の説明を入力

これらのテーブルは正しい方法ですか? そして、月名レコードについて混乱しています ( firstInstallmentMonth, firstinstallment, firstinstallmentCommision)

私は混乱しています、先輩を案内してくれますか?

4

2 に答える 2

2

分割払いテーブルを次のようなものに正規化したいと思います

Table INSTALMENT
    contract_id     -- FK to contract table
    date            -- used to specify month and date
    instalment      -- the instalment amount
    commission      -- the commission amount
    primary key (contract_id, date)

Excel シートを調べて、分割払いごとにエントリを作成できます (これは疑似コードであることに注意してください)。

insert into INSTALMENT 
   (contract_id, to_date('01-01-year', 'DD-MM-YYYY'), JanuaryInstalment, JanuaryCommission)
insert into INSTALMENT 
   (contract_id, to_date('01-02-year', 'DD-MM-YYYY'), FebruaryInstalment, FebruaryCommission)
insert into INSTALMENT 
   (contract_id, to_date('01-03-year', 'DD-MM-YYYY'), MarchInstalment, MarchCommission)

EDIT2: 混乱を避けるために疑似to_date日付形式を追加しました。

于 2012-04-25T11:44:39.463 に答える
1

これを読むことをお勧めします: http://en.wikipedia.org/wiki/Database_normalization

各分割払いには異なる月があるため、月を「分割払い」テーブルに入れます。

于 2012-04-25T11:39:12.507 に答える