首页 > 解决方案 > 在 MySQL 中构造和存储部分数据的最佳方法是什么?

问题描述

我对如何提出数据库的结构有一些疑问,困境是我必须存储序列化数据还是最好用关系字段制作一个表。

一个例子是假设该应用程序:

我目前正在提出一个结构,其中我们有:

好吧,在“course_has_inscriptions”表中,我们有以下字段:

数组如下所示:

$quotas = [];
$quotas ['2022-01'] ['value'] = 200
$quotas ['2022-02'] ['value'] = 200
$quotas ['2022-03'] ['value'] = 200

如果我不是这样做,而是在我存储的另一个“引号”类型的关系表中执行它,是否有任何优势:

谢谢

标签: phpmysqldatabaseserialization

解决方案


始终选择更简单的选项,即另一张桌子。这更容易,因为数据更容易访问。如果您序列化数据,则必须先检索它并取消序列化才能使用它,如果您使用另一个表,您可以简单地检索和使用它。您实际上可以使用 MySQL 查询的强大功能。

想想看。例如,稍后您将制作一个包含付款的表格,并且您想检查人们是否支付了他们需要支付的费用。如果你序列化你不能用 MySQL 做的数据,你就不得不用 PHP 来做,这不是你想要的。

遇到这个问题很多次的人,总结了几条规则。他们称之为数据规范化


推荐阅读