如何将文件路径或URL放入数据库?

时间:2011-01-30 10:31:58

标签: sql mysql sqlite normalization

天真的方式是将整个路径作为字符串放入DB中,它适用于玩具DB。但是,这种方法存在一些缺陷。 例如,假设我在/ var / www / sites /下有100K文件,然后在DB中存储/ var / www / sites 100K次效率非常低。我相信有更好的方法可以这样做。

我想仅索引DVD上的文件路径,然后搜索mp3文件或目录等。首选的RDBMS是SQLite(可能是FTS Tables?)。我的目标是学习,我知道有很多桌面搜索引擎。

4 个答案:

答案 0 :(得分:4)

答案 1 :(得分:2)

  

然而,这种方法会产生非标准化的数据库。

那又怎样?第三个NF并不神圣。某些形式的非规范化导致更容易理解的数据模型。只要在转换/解析非标准化值时复制不会导致数据库大小或CPU负载方面出现问题,我就不用担心了。

答案 2 :(得分:1)

答案 3 :(得分:0)

我认为一种普遍合理的方法是从存储的路径中删除任何共性。例如,如果您只关心/ media /中的项目,那么显然没有意义存储路径的/ media /部分,因为当您需要重新构建完整路径时,您可以轻松添加它。