数据导入的CSV模板

时间:2018-06-26 09:15:03

标签: sql-server node.js csv tsql

我需要使用CSV文件将数据导入数据库,这是我的表结构。

vehicle_db

一辆车可以有多个附件(图片,pdf,doc等。)

这是我当前的CSV模板。

"vehicleMake", "vehicleModel", "vehicleRego", "attachmentName" 
"Nissan",      "Qashqai",      "ASY504",      "abc.pdf"
"Hyundai",     "Lantra",       "OCR491",      "xyz.png"
"HONDA",       "CIVIC",        "WXO839",      "qwe.txt"

当一辆汽车的附件不止一个时,我被卡住了。

在CSV中添加多个attachmentName的最佳实践是什么?

用逗号分隔的附件名是这样的"123.pdf, xyz.jpeg, test.png",还是有其他方法可以实现呢?

2 个答案:

答案 0 :(得分:1)

您遇到的问题是,您正在尝试将1:n结构映射为平面文件格式。 我通常将这种数据分成多行,例如:

"HONDA",       "CIVIC",        "WXO839",      "123.txt"
"HONDA",       "CIVIC",        "WXO839",      "xyz.txt"
"HONDA",       "CIVIC",        "WXO839",      "test.txt"

然后您将不得不在导入时对其进行转换。 在您的方法中,此方法对可以添加的附件数量没有限制。缺点是需要更多的空间槽冗余。

这与实体关系模型中的规范化相反。

答案 1 :(得分:0)

将CSV文件一分为二(分别导入表格车辆附件),并在Vehicle_attachment中添加VehicleID以链接到Vehicle表。 您可能需要导出Vehicle表,以使用在那里生成的ID。