我应该使用单独的表来存储图像文件名吗?

Bri*_*Bri 6 database-design

我正在学习数据库设计,我正在编写一个带有后端数据库的 Java GUI 程序。我的数据库中的主表在每一行中存储不同的产品。我有一些列,例如:product_id (PK)、价格、stock_quantity 等。我还有八列存储该产品图像的文件名:img_file_1、img_file_2 ... img_file_8。Java 程序使用这些文件名来查找要显示在该产品屏幕上的图像。

这是糟糕的设计吗?我应该将这些文件名存储在他们自己的表中,并在我的主表中为该表添加外键吗?

该程序按原样运行良好,但我想确保我正在学习良好的习惯。

Dav*_*ett 4

如果每个图像都有特定的用途,那么这没问题,但是您的列名称应该更具体,例如 img_thumbnail,尽管我仍然会使用一个单独的表,其中的列包含有关每个图像使用的信息。

更好的设计是遵循第一范式并将图像放在单独的表中,特别是如果图像没有特定的差异化用途。这样可以更清晰地存储有关图像的额外数据(如果您稍后需要)等等。