适当的数据库/数据结构,其中数据绑定到本地文件系统

时间:2018-11-20 02:22:31

标签: database data-structures filesystems realm

我有一个iOS应用,用户可以在其中创建SessionsSession主要包括一个可选的音频记录(本地保存)和一些与会话相关的统计信息。

用户还可以:

  • 创建文件夹(也在设备上创建)
  • 重命名音频文件
  • 重命名文件夹
  • 将音频文件移动到另一个文件夹。
  • 将文件夹移动到另一个文件夹。

现在,会话完成后,我将其存储在数据库中,格式类似于:

    var id: String = ""
    var duration: Double = 0
    var filename: String?
    var path: String = ""
    var isDirectory: Bool = false
    var data: SessionStats?

似乎当前的数据库设计与文件系统过度耦合。问题是当文件夹名称更改或移动时,我必须为该文件夹内的会话更新数据库中的所有path字段。如果文件夹被删除,我还必须找到该文件夹​​的所有子项,以将其从数据库中删除。似乎还可能存在文件系统和数据库不同步的情况(如果由于某种原因更新失败)。

是否有更好的结构?现在,我正在为数据库使用realm,但是我对所有解决方案都开放。

0 个答案:

没有答案