【发布时间】:2019-09-03 02:01:02
【问题描述】:
我目前正在开发一个将显示项目列表的 web 应用程序。该列表是动态的,并且可以在用户之间更改。一个很好的类比是将对象想象成书,数据库支持它作为图书馆。
我的Book 数据库将包含图书馆中所有书籍的列表。
- 用户可以将一本书添加到他们的收藏中。
- 如果用户想要将新书添加到他们的收藏中,他们也会将其添加到图书馆。
- 如果用户想要将一本新书添加到他们的收藏中并且它存在于图书馆中,则不会将任何内容添加到图书数据库中。
目前我的表格非常简单:Book(id, name)。我可以通过 API 调用访问有关这些书籍的大量信息,例如封面、页数等。我想存储这些信息的一个子集,尤其是图像 url。
我认为一个明智的方法是更改我的 Book 表,使其看起来像:Book(id, name, imageUrl, otherValue, idOfThisBookInApiCallTable) idOfThisBookInApiCallTable 值将允许我在需要时获取其他属性,但是我有两个问题我不确定如何继续。
首先,这个表很容易与 APITable 过时。我预计不会有太大变化(如果有的话),但风险是存在的。
其次,存储的图像是我主要关心的问题,在可能有 50 本书的页面上,我每次都会调用图像的 url。我认为一个明智的解决方案是在本地下载图像,然后在重复访问时提供它,但我不确定这是否是正确的方法。
请问是否有人可以看到这种方法的任何问题和/或建议更好的方法?我在 db/web/app 设计方面的经验有限,所以有点超出我的深度。
如果在本地保存图像是正确的方法,是否有“最佳”方法? 提前感谢您的任何帮助/建议/建议。
【问题讨论】:
标签: java database spring database-design