0

我对 Android 和 SQLite 很陌生。我目前正在开发一个需要用户创建他们最喜欢的艺术家列表的应用程序。

我已经实现了一些已经显示此艺术家数据的图表。我相信我可以很容易地弄清楚如何实现将数据添加到列表中。

我正在考虑在 SQLite 中有两个单独的表:

  • 列表(将存储用户创建的列表名称)

  • ChartItems(将存储图表项目及其所属的列表)

但是,在这种情况下,Lists 表只需要一个字段“ListName”,所以我认为为此拥有一个表可能并不重要。

从用户获取输入时是否可以动态创建表?

例如:用户创建一个列表,该值随后用于创建一个表。

谢谢。

4

1 回答 1

0

您不想即时创建新表。你对两张桌子的提议很好。列表表应该至少有两个字段 - 一个称为 id 或 _id 的整数字段,它是主键,以及一个用于列表名称的文本字段。Chartitems 表将有一个字段 (listid),其中包含它所属列表的 id。这意味着一个图表项只能属于一个列表,而将一个图表项添加到列表中是通过在其记录中设置 listid 字段来实现的。这是一对多的关系。

如果您想在多个列表中拥有一个图表项,那么您需要一个多对多关系,这是通过拥有第三个表(链接)来实现的。此表将有一个字段映射到列表 (listid),还有一个字段映射到图表项 (itemid)。要将图表项添加到列表中,您需要在链接表中创建适当的链接条目。在这种情况下,chartitem 表不需要 listid 字段。

我建议阅读更多关于数据库关系的内容以阐明这些概念。我强烈建议遵循的一个原则是让每个表都包含一个名为 id 的字段,它是该表的主键,并将其用于其他表的所有引用。从长远来看,这比在关系中使用其他字段(如名称)要好得多。

于 2013-02-26T23:08:43.637 回答