用于壁纸的MySQL表结构
选项1用于壁纸的MySQL表结构,mysql,sql,database-design,Mysql,Sql,Database Design,选项1 壁纸表格 |墙| id |墙|名称|缩略图|预览|上传|日期|视图|下载|路径| 1280x800 |路径| 1366x768 |路径| 1920x1080| 选项2 壁纸表格 |墙| id |墙|名称|上传|日期|视图|下载| wallpaper\u thumnail\u预览table |缩略图预览id墙id(F)缩略图预览1预览2预览3| 壁纸路径表格 |路径id | |墙id(F)| |路径| |路径|列将存储所有大小路径 样本数据 path_id wall_id
壁纸
表格
|墙| id |墙|名称|缩略图|预览|上传|日期|视图|下载|路径| 1280x800 |路径| 1366x768 |路径| 1920x1080|
选项2
壁纸
表格
|墙| id |墙|名称|上传|日期|视图|下载|
wallpaper\u thumnail\u预览
table
|缩略图预览id墙id(F)缩略图预览1预览2预览3|
壁纸路径
表格
|路径id | |墙id(F)| |路径|
|路径|列将存储所有大小路径
样本数据
path_id wall_id path
----------- ----------- -----------
1 2 wallpaper1_1280x800.jpg
2 2 wallpaper1_1366x768.jpg
3 3 wallpaper3_1280x800.jpg
4 4 wallpaper4_1920x1080.jpg
上面,我已经“尝试”说明了数据库设计的两种方法,只是想征求您的意见/建议,在这两种方法中,哪一种是更好的方法?我会将缩略图保留在主
墙纸
表中,除非每个墙纸的缩略图数量未定义。我假设您有一个64x64小缩略图和一个200x200大缩略图;一些小的定义集
我会将实际图像的路径推到一个单独的表中,如您的第二个方案中所示。您可能希望在将来提供不同分辨率的墙纸(比如最新的移动设备),而这种容易预料的情况不需要更改DDL。请注意,此表应具有
宽度
和高度
字段。我希望您不是认真建议在path
中存储多个路径 非常感谢你的建议!不,我不是在路径
的一个字段中存储多个路径,每个大小都有自己的行。对于宽度和高度,我使用了一个不同的表,并用墙id
来引用它,这会好吗?那么墙纸
表中的纹理不是图像,而是特定分辨率的图像?在这种情况下,不需要单独的表,您可以将该图像的路径存储在此表中的字段中。不过,对我来说,这听起来效率不高;当然,每个图像都有您想要跟踪的信息,比如author?amm它不是存储在表中的实际图像,只是不同大小的路径。对于图像的作者/创建者,我想把它放在墙纸
表中,而不是墙纸路径
表中,这样好吗?我添加了一些示例数据供参考。我建议将墙纸本身特有的任何信息当然放在墙纸
表中。第二个表(每个图像有一条记录)是有意义的,因为您可以合理地预期,您将希望在将来支持其他分辨率。至于缩略图,如果您已经有了一张带有{墙纸,分辨率}纹理的表,那么您也可以将缩略图存储在这里。