Шаблон CSV для импорта данных - PullRequest
0 голосов
/ 26 июня 2018

Мне нужно импортировать данные в базу данных, используя файл CSV, и вот моя структура таблицы.

vehicle_db

Один автомобиль может иметь несколько вложений (изображения, PDF, документы и т. Д.)

Это мой текущий шаблон CSV.

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

Я застрял, когда есть более одного вложения для транспортного средства.

Как лучше всего добавлять несколько attachmentName в CSV?

Названия вложений, разделенных запятыми, вроде этого, "123.pdf, xyz.jpeg, test.png" или есть ли другой способ добиться этого?

Ответы [ 2 ]

0 голосов
/ 26 июня 2018

Проблема, с которой вы столкнулись, заключается в том, что вы пытаетесь отобразить структуру 1: n в плоский формат файла. Я обычно получаю такие данные в виде нескольких строк, например:

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

тогда вам придется преобразовать это при импорте. По вашему подходу, у этого нет никаких ограничений в количестве вложений, которые могут быть добавлены. Недостатком является то, что требуется больше места через резервирование.

Это противоположность нормализации в модели отношения сущность.

0 голосов
/ 26 июня 2018

Разделите CSV-файлы на два (импортируйте вложение транспортного средства таблицы отдельно) и добавьте VehicleID в Vehicle_attachment для ссылки на таблицу Vehicle. Возможно, вам придется экспортировать таблицу транспортных средств, чтобы использовать сгенерированные там идентификаторы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...