我有一种情况,我需要将二进制数据作为blob列存储在Oracle数据库中。我的数据库中有三个不同的表格,我需要为每条记录存储一个blob数据。并非每个记录都必须始终具有blob数据。它依赖于时间和用户。blob数据库设计 - 保存在单独的表中?
- 表一将为几乎每个记录存储* .doc文件。
- 表二将随意存储* .xml。
- 表三将存储的图像(频率未知)
这是保持一个单独的表来存储它指向相应的表PK的各种BLOB数据的好方法? (是的,没有FK,我假设程序会维护它)。它会像下面的一些事情,
BLOB|PK_ID|TABLE_NAME
或者,它是一个好主意,让BLOB列在不同的表?
至于我的应用程序运行时而言,
表2会很频繁读取。虽然blob列将不被要求。
表2的记录将被频繁删除。
各个表中的其他blob数据将不会经常访问。所有的blob内容将根据需要进行阅读。
我在想第一种方法会对我更好。在性能或可维护性方面对此设计有何顾虑?
在不知不觉中,我试图做同样的事情,在1-1关系中添加新列,并为1-N添加新表。我不确定LOB。我将在这里与oracle专家讨论并回来...... 感谢您的建议。 – user331311 2010-05-24 04:23:28