2012-04-25 8 views
0

問題は大きくありませんが、いつかロジックが来て、同じことが起こります。私はSQLテーブルに顧客データを保存する必要があります。顧客記録は優秀なシェットでこれのように見えます。契約期間は6ヶ月または12ヶ月です。すべての顧客は1ヶ月後に分割払いします。毎月2つのレコード分割払い金額とコミッション金額があります。 Excelシートは、このために、このはこのSQLテーブルの定義であり、関係は正しいですか?

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

のような記録データを持っている私は、SQLでこれらのテーブルを定義しています enter image description here

は、これらのテーブルが正しい方法ですか?そして、私は月の名前の記録について混乱しています。私は分割払いで分割払いのテーブルに入れます(firstInstallmentMonthfirstinstallmentfirstinstallmentCommision

私は混乱していますか?

+0

INSTALLMENTテーブルが正しく正規化されていません。 FIRST、SECOND、THIRDなどのグループを壊すのを見てください – Randy

+0

親切な例はありませんか? – buddy

答えて

2

を持っているので、私は、「割賦」テーブルに月置く http://en.wikipedia.org/wiki/Database_normalization

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日付形式を追加しました。

+0

はいこれは私が欲しいのですthanksssssssssss – buddy

1

私はこれ読んでお勧め:私はあなたのような何かに割賦テーブルを正規化したいと思う各割賦は別の月

関連する問題