目前我有三张桌子:产品,图片,products_images。因此,基本上我将产品的图像存储在"products_images“表中。当产品更新时,我从"products_images“表中删除与该产品相关的所有行,并添加新的行。另外,我需要保存订单,现在顺序是如何存储在数据库中。
这种做法正确吗?或者有一个更好的数据库结构来存储产品的图像?
发布于 2019-01-02 09:10:46
实体关系考虑
如果您没有在产品之间共享图像(不要对多个产品使用一个图像),那么您的关系实际上是一对多的,并且不需要products_images连接表。这将简化模型,使其:
id_product在Images表中将有一个指向Products(id_product)的外键。这样,当您想从产品中分离所有图像时,只需运行一个update语句:
UPDATE images SET id_product = NULL WHERE id_product = ?排序考虑
因为您需要保存图像存储在数据库中的顺序,这取决于您在Images表中有哪些列,例如,如果id_image被声明为SERIAL (自动递增整数值),您可以使用它。根据PostgreSQL中的经验规则(在没有聚集索引的情况下),请记住,如果需要对输出进行排序,则需要自己进行排序(例如:添加一个ORDER BY id_image)。
https://stackoverflow.com/questions/54003174
复制相似问题