我正在制作一张发票软件,我希望它能保存每张发票。将发票存储在数据库中
用户通过选择一个客户来创建发票,然而许多项目正在向客户收费。鉴于大多数发票都有多个项目,将它们保存到数据库的最佳方式是什么,而不会令人难以置信的冗余?如果需要,我愿意重新整理我的整个数据库。
我的表是这样的:
客户表:
Id /Primary key
FullName
Address
Phone
项目表(所提供的产品表):
Id /Primary key
ItemName
Price
Description
发票表(保存发票):
Id /Primary key
CustId /Foreign key is Id in Customer table
ItemId /Foreign key is Id in Item table
Notes
因此,如果用户有多个发票项目,每一个是否作为单独的条目存储在发票项目表中?所有属于发票的项目都具有相同的InvoiceId? – 2012-04-25 23:59:50
@ToddBauer正确。对于每张发票,都会有一个带有ID的“发票”记录。对于每个发票上的每个项目,您将创建一个将项目连接到发票的“InvoiceItem”。如果可以将多个相同的项目添加到发票中,那么为'InvoiceItem'设置一个'quantity'列是很常见的。 – dasblinkenlight 2012-04-26 00:30:35
非常好!我也会添加一个数量行。关于主题,我想告诉你,你的解释说得很清楚,我很感谢你的时间和精力。答:选中。继续打好战斗。 – 2012-04-26 00:34:00