database - 表应该动态创建吗?

标签 database database-design

我正在为收藏家制作一个应用程序,用户可以在其中上传他们想要收集的东西的列表

例如,某人想要收集鲜花,并上传了他想要收集的一些鲜花的列表,它可能看起来像这样:

Rose, Chrystanthemums, Narcissus

然后他们可以选择他们拥有的并朝着他们的目标努力。

当然,用户可以上传各种不同的列表,这就提出了应该如何保存和访问这些数据的问题。

我想到的一种方法是在用户每次上传列表时动态创建一个表,但在查找它时,这种做法通常不受欢迎,人们通常会建议其他替代方案。但是我想不出适合我的情况的替代方案。

this关于 DBA stack exchange 的问题,答复是在极少数情况下这是一种很好的做法。

我的情况是其中之一吗? 我应该如何设计它?

另外我明白我没有提供关于这个问题的很多细节,我也不是要求你为我设计这个。我只是要求提供一些一般准则或前进方向。

提前致谢!

最佳答案

你好@aMimikyu,举个像你提到的动态表一样简单的例子不会有帮助,相反可能会降低软件的性能,因为你可以使用一个表来存储用户列表,然后使用表的一列来标识用户正在保存的列表类型。但在我看来,存在动态表可能有用的情况:如果实体(数据的抽象表示)不能由同一类(模型)在每种不同类型的输入上进行管理。在这种情况下,可以即时创建模型和表格。

关于database - 表应该动态创建吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49586944/

相关文章:

python - 查找具有特定子行组合的父级 - SQLite 与 Python

mysql - 是否有最佳/有效的方法来比较多行的相似性/差异?

mysql - 多对多关系的单个 SQL 查询

mysql - 定期通过4-5张 table 连接可以吗?

database - 如果表上的并发锁之一重命名锁定的表,会发生什么情况?

c - 在sqlite3中,我们可以将sqlexecute(.....callback function...)转换为sqlite_prepare,step,finalize

sql-server - 使用GORM在同一张表上设置两个外键时,MS-SQL服务器引发错误

database-design - 我应该在应用程序中反射(reflect)数据库结构吗?

mysql - 使用 PHP 和 Mysql 进行库存管理

mysql - 评论系统数据库