0

大家
好,我有一个照片库,我问自己是否应该为画廊创建一个数据库或保持简单 [文件夹/图像名称] 并从中获取信息。


这是画廊 http://sdrv.ms/17SJBOy


这是我已经获取的信息 http://sdrv.ms/13rhc6c
我认为我应该建立一个数据库来保存 Date_upload、Modified、Comments 等内容;而且我需要一些帮助来插入 SQL 命令:D 我以前尝试过,但不知何故失败了,请问有什么建议吗?

4

1 回答 1

1

这真的取决于你想做什么。如果您正在构建一个简单的本地图像浏览器并且不需要交互/元信息,那么只需扫描文件系统即可。

如果这是一个共享画廊,并且您希望能够命名、描述、分类等……那么您绝对需要一个数据库。

要考虑的另一件事是,用户会上传这些图像吗?你打算如何支持他们?您访问服务器的文件系统是否容易?如果您需要代码和图库非常便携且易于备份,我建议将图像存储在数据库中的 blob 列中。

我这样做的方法是拥有三张桌子。

  1. 图像 blob 表将存储实际图像 blob 及其包含的数据的 md5。
  2. 图像 URL 表将存储一个 URL,通过该 URL 可以访问图像 blob。
  3. 图像数据表将存储有关每个图像 blob 的信息。文件类型、上传日期、上传者、尺寸、文件大小、标题、描述、类别、标签等...

为什么要分离 blob 和数据?因为您的 blob 表可能会很快变得非常大,并且为了性能和可维护性,将它分离出来会让您头疼。

为什么要将 URL 与 blob/数据表分开?因为您可以为同一张图像拥有多个 URL,而无需复制图像数据。

为什么要使用 MD5 而不仅仅是 ID?因此,您可以防止存储重复图像,并且可以将现有元信息与具有已知 MD5 的新图像匹配。您不必担心 MD5 冲突。

关于这一切的实际 SQL,您需要先尝试执行此操作,然后在遇到困难时提出具体问题。我们不是来写你的代码的 :) SQL 并不难学,只要花点时间玩一下它。

于 2013-08-16T21:37:58.870 回答