2017-09-27 30 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

相关问题