2017-09-27 105 views
0

我遇到的問題是,我的應用試圖向客戶展示其開具發票歷史記錄的幾個月,並且我不確定如何保存所有數據。我應該使用什麼方法來存儲許多類別的數據?

目前我有我所有的許多客戶數據存儲在SQLiteDatabase,我認爲這將是最簡單的選擇,但我不知道如何去保存他們的先前購買。

我應該繼續使用SQLite,並且爲每個事先充電建立更多的列,還是有更好的選擇?

DB模式是

表=客戶

COLUMN1=ID 
COLUMN2=NAME 
COLUMN3=ADDRESS 
COLUMN4=SPECIAL NOTES 

在這裏,我能想到的最好的辦法,是增加列被指控的服務,和他們三人copys以便具有幾個月前的歷史。比如,

Col4month1=Service1 
Col5month1=Service2 
Col6month1=Service3 
Col7month1=Service4 

Col8month2=Service1 
Col9month2=Service2 
Col10month2=Service3 
Col11month2=Service4 

當然有。如果您發佈模式,或它的代表性要做到這一點

+0

我想你需要更多的行,每個時間戳,這意味着另一個表。但很難說沒有看到數據庫模式和示例數據。 –

+0

你究竟會問這個問題?總之,對於任何比創建這篇文章時彈出窗口更有幫助的人,我會盡我所能發佈我的數據庫計劃。 –

+0

絕對共享您的架構或該架構的代表性示例。然而,從臀部拍攝,這聽起來像是一張發票表的工作,@CL – Brian

回答

1

一個更簡單的方法,我可以調整這一點,但根據您的描述聽起來就像CL建議的那樣,您需要一張兒童表格。這將是這個樣子:

Client 
    ID    --primary key 
    First_Name 
    Last_Name 
    etc. 

Invoice 
    ID    --primary key 
    Client_ID  --foreign key link to Client 
    Invoice_Date 
    Invoice_Amount 
    etc. 

Invoice_Line_Item 
    ID    --primary key 
    Invoice_ID  --foreign key link to Invoice 
    Item_Number 
    Quantity 
    etc. 

通過上述結構,客戶端可以將多張發票,每張發票可以有多個項目,他們都一起鏈接的外鍵。那有意義嗎?

+0

非常感謝,完美答案。將會如何更新。我已經upvoted你的awnser,但我太新了:(謝謝你的時間 –

+0

你非常歡迎 - 我們都是新來的,一定要記住這是「接受」 - 我被賦予瞭解這使得其他人更容易找到。 – Brian

相關問題