我应该规范化该数据库吗?

时间:2020-01-22 15:29:17

标签: php sql laravel database-normalization

我正在laravel中构建一个API,允许人们创建要在渠道上运行的工作。

一个频道可能是AmazonUK,AmazonDE或Ebay。

一个工作可能是“ update_stock”或“ fetch_orders”

我将拥有一个实现'update_stock'和'fetch_orders'函数的AmazonUK类,一个实现该功能的AmazonDE类,以及一个实现该功能的Ebay类。

我将所有这些作业存储在SQL表中。完成作业需要一个作业ID,频道,job_type和其他各种列。

所以我的问题是,因为我的通道实际上是php中的类,而我的job_types实际上是这些类上的方法,所以我应该对上表进行规范化,以便“通道”列实际上是“通道ID”,是否与“渠道”表匹配,例如,id 1映射到渠道AmazonUK,还有一个job_types表,其中id 1映射到“ update_stock”?

我已经阅读了一些有关规范化的知识,发现规范化的主要好处不是减小大小,所以我不确定100%将从规范化这些列中获得什么好处,而不仅仅是存储渠道以“ AmazonUK”,作业类型为“ update_stock”。

我希望得到一些建议。

1 个答案:

答案 0 :(得分:0)

绝对应该创建描述符表。

假设您决定,一个更好的名称适合类,所以您只需在表中重命名,而不是在 10 个不同的地方更改代码的字符串。

此外,您可能希望向用户“Amazon UK”而不是 AmazonUk 显示,因此您只需添加新的 db 列。

如果你使用 Laravel 迁移,你也可以在那里添加插入。