【问题标题】:Database design for images图像数据库设计
【发布时间】:2013-10-21 17:56:27
【问题描述】:

我正在设计我的数据库结构,我需要一些建议: 我有可以从类别中选择的图像,并且可以上传其他图像,我应该为每个好友保存选择的图像...

我有几个选择:

  1. 我可以将上传的图片和预定义的图片放在同一个表中,并放置一个标志来区分它们,我知道使用标志可能会有风险..

  2. 我可以将上传的图像和预定义的图像放入 2 个不同的表中,但在这种情况下,如果我需要将所选图像的 id 放入好友表中,我将无法知道这是从哪个表中id 已给出(因为图像 id 是一个递增的整数)

那么我该如何设计呢?哪种方法更好,为什么?

【问题讨论】:

    标签: sql database database-design database-connection database-schema


    【解决方案1】:

    我会做出这些假设:

    • 您有一个包含预定义图像的表格。每张图片都有一个 id。
    • 用户可以上传自己的图像。上传的图片仅供该用户使用。
    • 每个用户只能上传一张图片。

    在这种情况下,您应该在好友表中定义两列,imageimageID。 为这些列定义默认值,image 为 NULL,imageID 为 1。 在 imageID 和predefined_images 表之间定义一个参照完整性约束。

    如果 image 列为 NULL,您的程序应该加载 imageID 中指定的图像。

    例如:

    SELECT COALESCE( b.image, p.imagedata )
    FROM buddy b, predefined_images p 
    WHERE b.imageID = p.ID
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-31
      • 2014-08-26
      • 1970-01-01
      • 2014-12-07
      • 2017-02-02
      相关资源
      最近更新 更多