我需要在 Oracle/SQL 中设计一个表,数据将通过 Java/C# 应用程序通过 CSV 上传,其中包含 50 个字段(映射到表的列)。从 CSV 导入数据时如何设计具有以下约束的表/数据库
- CSV 可能会在现有 50 个字段中添加新字段。
In that case instead of adding column to table manually & load data. How can we design table for smooth/automatic file handling with dynamic fields
例如:
CSV 中包含 S_ID、S_NAME、SUBJECT、MARK_VALUE 字段
+------+---------+-------------+------------+
| S_ID | S_NAME | SUBJECT | MARK_VALUE |
+------+---------+-------------+------------+
| 1 | Stud | SUB_1 | 50 |
| 2 | Stud | SUB_2 | 60 |
| 3 | Stud | SUB_3 | 70 |
+------+---------+-------------+------------+
如果 CSV 添加了新字段“RANK”(类似的更多字段)并且我需要将所有新字段存储在表中,该怎么办?
请为此考虑提出数据库设计建议
最佳答案
所以我想到的方法很少,其中一种方法是在一个表中包含元数据(记录)信息(列名、数据类型、任何约束),并拥有另一个具有足够大编号的自由格式表。将保存数据的列。在将数据插入该表时使用元数据表来维护数据完整性和其他内容。
关于java - 数据加载期间表中的 SQL 动态列处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55135195/