在我的网站上,我正在创建发票功能。
发票具有静态信息:公司信息和收件人信息。
但它也具有动态信息:小时数,说明,总金额等。
客户可以使用上面的动态信息添加多行。
现在我的问题是
如何将其实现到数据库中?
目前,我有一个名为“发票”的表,其中的列将包含上面的所有信息。
但是通过这种方式,行将具有不必要的信息,例如公司和收货人信息,实际上每个发票只需要插入一次。
你们认为我将如何解决这个问题?
我想避免使用2个表,但是如果没有其他选择,那么我会的。
问候
最佳答案
如果要使用完全关系数据库,则需要创建第二个表。这将保存客户信息。然后,该密钥将成为“发票”表中的外键,因此您只需要存储一次客户信息。这将是实现此类建议的推荐方法。
另一种方法(我不建议这样做)是您需要创建对“父”发票(存储客户信息的发票)的循环引用。然后,每次创建新发票时,都必须插入该父记录ID,这样便可以检索存储的信息。对于同一客户的所有其他发票,您只需将该信息留为空白即可。