php - MYSQL表有静态值和动态值

标签 php mysql sql database database-design

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

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

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

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

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

问候

最佳答案

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

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

关于php - MYSQL表有静态值和动态值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24418301/

相关文章:

php - WordPress MySQL 查询结果 - 如何突出显示在显示表中找到的字符串

php - 如何使用 Wiktionary API 获取发音数据?

mysql - On 子句中的未知列(但确实存在)

mysql - 按过去一小时的观看次数排序 [MySQL]

mysql - SQL获取同一列但同一表中不同日期的值差异

mysql - 这 2 个 JOIN 有什么区别?

php - 使用 PayPal API 促进用户对用户的交易

php - 在 Woocommerce 中价格字段为空时隐藏不含税的价格

MYSQL查询帮助(EAV表)

java - 用sql查找圆内的点