什么更好?几个较小的数据库或一个大的数据库

Xen*_*ngo 0 sqlite android database-design

我正在做学习外语单词的应用程序,所以我将这些单词存储在我的数据库中。例如,这些单词分为3 个难度级别。每个级别都由一些单词组组成,这些组引入了 SQLite 数据库的表。我使用SQLiteOpenHelper作为应用程序和数据库之间的通信。

现在我的问题。什么是更好的?

  • 创建3 个较小的数据库,每个数据库对应每个级别并使用自己的 SQLiteOpenHelper,因此将 3 个数据库与 3 个开放帮助程序结合在一起。
  • 创建1 个大型数据库,其中有 3 个级别,这意味着很多表,但只有 1 个 SQLiteOpenHelper。

感谢您的任何建议或意见。

hak*_*elt 5

我建议 1 个大型数据库 (DB)。

您不应该担心创建大型数据库,数据库是为了存储大量数据(甚至是许多表)而发明的。创建和维护一个数据库比创建和维护多个数据库容易得多,并且使用一个数据库您的代码会更加清晰。

我不知道你的程序,但我会更进一步:如果你存储相同的信息,我宁愿将所有单词存储在同一个表中,并添加一列来显示级别,另一列来显示组他们属于哪个。

SQL 的主要思想是,您并不真正关心数据库需要多少空间以及查找查询结果需要多少时间,因为数据库管理系统(在您的情况下是 SQLiteOpenHelper 和 SQLite)非常高效考虑空间和时间。相反,您应该集中精力设计一个可以轻松扩展的系统(例如,如果您想向包含单词的表添加另一列(例如,您想存储有关单词的新信息),或者想要在发展后期),结构清晰。通过 SQL 的 SELECT 命令,您可能会损失几毫秒的时间来分隔组和级别,但您的数据库将更加灵活 - 您可以添加级别和组,并轻松添加有关单词的更多信息。设计一个好的数据库的关键:你应该将不同类型的数据存储在不同的表中,并将相同类型的数据存储在同一个表中......