0

我目前维护一个数据库表,其中包含一些存储在文件系统中的图像信息。此设置适用于我目前记录的数十万张照片。

对于用户默认图像,我维护一个包含照片的单独文件夹,但这已成为维护的噩梦。我应该创建第二个表来存储对表 1 中默认照片的引用,还是最好在表 1 中添加一个新字段,该字段是我可以设置为指示默认照片的布尔值?

我的桌子看起来像这样:

image_table
id  user_id  file_name 
1   6        xvy.jpeg  
2   6        abc.jpeg  
3   6        def.jpeg

建议的解决方案:

image_table
id  user_id  file_name default
1   6        xvy.jpeg  0
2   6        abc.jpeg  1
3   6        def.jpeg  0

在这个提议的解决方案中,似乎我需要进行两次 SQL 调用来重置默认值,然后如果用户更改了第二次调用来设置新的默认照片......

4

2 回答 2

1

如果您采用这种方法,如果第二个表与第一个表具有相同的列,则最好添加新字段而不是添加新表。

推理:如果我需要从两个表中获取值,我需要做一个麻烦的 UNION。如果您有三个或更多表都包含相同类型的数据,而我同时想要所有这些表怎么办?它只是变得越来越笨拙,而且编码起来也更加笨拙。

于 2013-03-14T23:56:04.867 回答
0

好吧,我可以看到您正在使用一些 SQL 数据库,但不要误会我为什么不尝试使用 NoSQL 数据库,例如 MongoDB。我知道创建一个字段作为标志或创建一个新表似乎不是一个好的设计。

于 2013-03-15T00:03:24.567 回答