mso*_*mon 7 database-design database-recommendation
我正在设置一个用于数据管理的 Web 界面。用户上传 CSV 或类似结构的文件,我想将这些文件存储在数据库中,以便他们可以对它们进行操作——过滤、排序、绘图等。
我不知道如何在数据库中正确建模。我有几个想法,但似乎没有一个是正确的方法。
为每个上传的 CSV 创建一个新表。这意味着可以适当地键入每一列(整数、字符串、日期等),并且每条记录都将对应于 CSV 文件中的一行。这似乎是问题的自然概念——但是如果我必须为每个上传的文件创建一个新表,性能会成为问题吗?
制作一个表格,其中每个记录代表一个数据集 (CSV),并有其他表格,其中数据点在其记录中具有其数据集的 id。这意味着来自给定数据集的所有数据都分布在不同的表中,并且会有很多冗余(因为每个数据点都会存储数据集的 id)。但是,这意味着不必为每个数据集创建表。
2 的其他变体。我的大多数其他想法都是对数字 2 的变体,其中包含不同数量的间接。
我的问题本质上是“我如何正确建模?”,也就是说,具有合理扩展的能力。
大多数数据都是科学的,那么我该如何处理大小不一的数据集,从微不足道的(比如 10 列和 100 行)到大量的(数百列和数千/数百万行)?
tl; dr:我如何从数据库中任意数量的格式良好的 CSV 中对任意数据进行建模,每个 CSV 的新表的性能是否可以接受?
这个问题太开放了,很难说太多。
你为什么要使用数据库?Excel 可以完成您到目前为止所描述的所有操作。
但说真的,请避免在数据库中创建一个可以存储任何类型数据的内部系统。您已经有了一个称为数据库的数据库。编写代码来创建您需要的表。这有什么不好呢?我说选项1。
您知道,如果您想要无限的灵活性,那么一块平方英里的白板怎么样?