Java 为一个Flashcard程序创建多个包含相同模式的SQLite数据库,这是错误的做法吗?

Java 为一个Flashcard程序创建多个包含相同模式的SQLite数据库,这是错误的做法吗?,java,sqlite,Java,Sqlite,我目前正试图找到一种方法,可以导入/导出数据集。我需要分享一副抽认卡。 每个抽认卡包括: 前文本字符串 反向文本字符串 eFactorfloat/real 间隔整数 计数整数 我的想法是,我希望用户创建一副抽认卡,并能够共享这副抽认卡。这个概念与anki中的deck/.anki文件非常相似。目前,我正在使用SQLite3存储flaschard数据。我曾考虑过使用XML,但我觉得SQL是一种更符合逻辑的方法 我最初的计划是允许用户创建多个SQLite DB文件,因为我觉得这种方法有一些关键优势

我目前正试图找到一种方法,可以导入/导出数据集。我需要分享一副抽认卡。 每个抽认卡包括:

  • 前文本
    字符串
  • 反向文本
    字符串
  • eFactor
    float
    /
    real
  • 间隔
    整数
  • 计数
    整数
我的想法是,我希望用户创建一副抽认卡,并能够共享这副抽认卡。这个概念与
anki
中的deck/.anki文件非常相似。目前,我正在使用SQLite3存储flaschard数据。我曾考虑过使用XML,但我觉得SQL是一种更符合逻辑的方法

我最初的计划是允许用户创建多个SQLite DB文件,因为我觉得这种方法有一些关键优势

  • 1) 共享一个db文件比从SQLite数据库导出一个表并最终共享一个文件更容易
  • 2) 如果用户希望删除数据组,只需删除db文件即可
至于消极方面:我可以理解,创建多个SQLite fb文件可能会被视为浪费资源或“混乱”


这种方法是可行的还是会被认为是糟糕的编程实践?我对解决这个问题的不同方法持开放态度。

我认为每个数据组有一个单独的.db文件是完全可以接受的。正如您所提到的,它允许更容易地添加/删除甲板。甲板的共享也简单得多——您只需发送一个文件即可。这比打开一些“主甲板”,然后导出希望共享的甲板的替代方法要容易得多


每个组之间不会有太多重复的数据(一些模式信息),所以这不是一个很大的浪费。但是,如果您更改了方案,您必须小心甲板内部的版本控制。对于多个文件来说,这可能有点棘手。

感谢您的回复,如果我预见到架构的任何更改,我将记住版本控制问题。