我需要使用CSV文件将数据导入数据库,这是我的表结构。
一辆车可以有多个附件(图片,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"
,还是有其他方法可以实现呢?
答案 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。