在数据库中存储文件路径

布兰登·戴维斯(Brandon Davis)

背景资料

我正在一个项目中具有文件路径字段,该文件路径字段是“一对一”关系(允许发票对象只有一个文件)或“一对多”关系(索赔对象具有可以添加的许多文件)对此)。

我到目前为止所拥有的

我目前有两个想法。

1)所有文件一个数据库

我有一个[声明]数据库

Claim (PK) --- Name --- Address
1              Joe      Some Place

我有一个[发票]数据库

Invoice (PK) --- Vendor --- FilePathID
100              12         1

还有一个[附件]数据库

UID (PK) --- Claim --- Description --- FilePath
1            NULL      Invoice         path\to\invoice
2            1         Receipt         path\to\receipt
3            1         Image           path\to\image

这将以以下方式工作:

将在[Invoice]对象中明确定义[Invoice]文件(在这种情况下为[Attachment] ID 1)。然后,文件将通过“附件”数据库中的链接号(在上述情况下为声明1)附加到[Claim]对象。这样,我们可以进行查询以列出[Claim]的所有附件,但同时将[Invoice]文件保留在由该文件的UID编号链接的同一[Attachments]数据库中。这样就可以将所有上载映射到单个数据库中。

我唯一关心的是在为[发票]上传的文件上,Claim字段保留为NULL。

2)文件路径存储在多个数据库中

这几乎与上面的示例相同,但是它不是在[附件]数据库中链接FilePath,而是直接在[发票]数据库中定义。像这样:

我有一个[声明]数据库

Claim (PK) --- Name --- Address
1              Joe      Some Place

我有一个[发票]数据库

Invoice (PK) --- Vendor --- FilePath
100              12         path\to\invoice

还有一个[附件]数据库

UID (PK) --- Claim --- Description --- FilePath
1            1         Receipt         path\to\receipt
2            1         Image           path\to\image

此方法允许[Attachments]数据库中的Claim字段永远不会为NULL,但是它将找到[Attachments] FilePath的区域分隔开。

在这一点上,我在两种方法之间感到非常痛苦。有没有一种首选的方法或最佳实践来做到这一点,或者真的只是觉得舒服吗?

更新

我们必须对至少4个对象执行此操作。不只是两个。


非常感谢,非常感谢您的帮助,

布兰登

达里乌斯·马卡蒂斯(Darius Makaitis)

不确定这是否是“最佳做法”,但这是一种选择3:

[要求]表格:

ClaimID (PK) --- Name --- Address
1                Joe      Some Place

[发票]表:

InvoiceID (PK) --- Vendor
100                12     

[附件]表:

AttachmentID (PK) --- Description --- FilePath
1                     Invoice         path\to\invoice
2                     Receipt         path\to\receipt
3                     Image           path\to\image

[声明]表:

ClaimID (FK) --- AttachmentID (FK)
1                2
1                3

[InvoiceAttachment]表:

InvoiceID (FK) --- AttachmentID (FK)
100                1

如果您需要数据库来强制一张发票只能有一个附件,请在InvoiceAttachment表中的Invoice列上放置一个唯一约束。

另外,如果您只希望有一个表来处理附件关系,则可以执行以下操作:

[AttachmentRlshp]表:

AttachmentID (FK) --- EntityID --- EntityType
1                     100          Invoice
2                     1            Claim
3                     1            Claim

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在数据库中存储文件路径

来自分类Dev

在数据库中存储路径文件

来自分类Dev

使用存储在数据库中的路径显示imageview

来自分类Dev

在数据库中存储图像路径

来自分类Dev

尝试在数据库中存储文件路径名时,为什么返回null?

来自分类Dev

为什么将文件名和上传路径存储在数据库中?

来自分类Dev

想要在数据库中存储多个文件路径

来自分类Dev

如何使用php将文件路径存储在数据库中?

来自分类Dev

Laravel 更新 - 图片上传的文件路径未存储在数据库中

来自分类Dev

快照:下载存储在数据库中的文件

来自分类Dev

将映像存储在数据库与文件系统中

来自分类Dev

将映像存储在数据库与文件系统中

来自分类Dev

获取要存储在数据库中的文件类型

来自分类Dev

将 autocad 文件存储在数据库中

来自分类Dev

无法在数据库中存储文件名

来自分类Dev

在MySQL数据库中存储图像文件的路径

来自分类Dev

在数据库中存储ID

来自分类Dev

在数据库中存储CSS

来自分类Dev

在数据库中存储逻辑

来自分类Dev

在数据库中存储数组

来自分类Dev

借助保存在数据库中的路径从存储中检索图像并显示在listView中

来自分类Dev

如何在React中显示以文件形式下载并保存在服务器上的文件夹中且文件路径存储在数据库中的图像?

来自分类Dev

为什么完整的图像路径未存储在数据库中?

来自分类Dev

如何获取存储在数据库中的图像路径并设置为按钮

来自分类Dev

无法选择具有存储在数据库中的路径的图像

来自分类Dev

无法在网页上显示图像,图像路径存储在数据库中

来自分类Dev

如何从存储在数据库中的路径显示图像?在 Laravel

来自分类Dev

如何在数据库中存储订单历史,尤其是旧图片路径?

来自分类Dev

MongoDB-将文件存储在数据库中还是外部存储中?

Related 相关文章

  1. 1

    在数据库中存储文件路径

  2. 2

    在数据库中存储路径文件

  3. 3

    使用存储在数据库中的路径显示imageview

  4. 4

    在数据库中存储图像路径

  5. 5

    尝试在数据库中存储文件路径名时,为什么返回null?

  6. 6

    为什么将文件名和上传路径存储在数据库中?

  7. 7

    想要在数据库中存储多个文件路径

  8. 8

    如何使用php将文件路径存储在数据库中?

  9. 9

    Laravel 更新 - 图片上传的文件路径未存储在数据库中

  10. 10

    快照:下载存储在数据库中的文件

  11. 11

    将映像存储在数据库与文件系统中

  12. 12

    将映像存储在数据库与文件系统中

  13. 13

    获取要存储在数据库中的文件类型

  14. 14

    将 autocad 文件存储在数据库中

  15. 15

    无法在数据库中存储文件名

  16. 16

    在MySQL数据库中存储图像文件的路径

  17. 17

    在数据库中存储ID

  18. 18

    在数据库中存储CSS

  19. 19

    在数据库中存储逻辑

  20. 20

    在数据库中存储数组

  21. 21

    借助保存在数据库中的路径从存储中检索图像并显示在listView中

  22. 22

    如何在React中显示以文件形式下载并保存在服务器上的文件夹中且文件路径存储在数据库中的图像?

  23. 23

    为什么完整的图像路径未存储在数据库中?

  24. 24

    如何获取存储在数据库中的图像路径并设置为按钮

  25. 25

    无法选择具有存储在数据库中的路径的图像

  26. 26

    无法在网页上显示图像,图像路径存储在数据库中

  27. 27

    如何从存储在数据库中的路径显示图像?在 Laravel

  28. 28

    如何在数据库中存储订单历史,尤其是旧图片路径?

  29. 29

    MongoDB-将文件存储在数据库中还是外部存储中?

热门标签

归档