小编典典

带有静态值和动态值的MYSQL表

sql

在我的网站上,我正在创建发票功能。发票具有静态信息:公司信息和收件人信息。但是它也具有动态信息:小时数,描述,总金额等。客户可以使用上面的动态信息添加多行。

现在我的问题是,如何将其实现到数据库中?

目前,我有一个名为“发票”的表,其中的列将包含上面的所有信息。但是通过这种方式,行将具有不必要的信息,例如公司和收货人信息,而实际上每个发票只需要插入一次即可。

你们认为我将如何解决这个问题?

我想避免使用2个表,但是如果没有其他选择,那么我会的。

你好


阅读 176

收藏
2021-04-14

共1个答案

小编典典

如果您想要一个完全关系数据库,那么您将需要创建第二个表。这将保存客户信息。然后,此密钥将成为“发票”表中的外键,因此您只需要存储一次客户信息。这将是实现类似方法的推荐方法。

另一种方法(我不建议这样做)是您需要创建对“父”发票(存储客户信息的发票)的循环引用。然后,每次创建新发票时,都必须插入该父记录ID,这样便可以检索存储的信息。对于同一客户的所有其他发票,您只需将该信息留为空白即可。

2021-04-14