Мой вопрос касается создания правильной схемы или способа хранения данных, которые я собираю. Мое приложение работает Laravel 6.
Итак, у меня есть несколько «кампаний», пример которых выглядит так:
{
"campaign_name": "Campaign 1",
"keywords": ["keyword 1", "keyword 2", "keyword 3"], // there may be hundreds of keywords
"urls": ["google.com", "bing.com", "example.com"], // there may be many urls
"business_names": ["Google", "Bing, "Example"], // there may be many business_names
"locations": [
{
"address": "location 1", //this is a postal address
"lat": "-37.8183",
"lng": "144.957"
},
{
"address": "location 2", //this is a postal address
"lat": "-37.7861",
"lng": "145.312"
}
// there may be 50-100 locations.
]
}
Каждый URL (и каждое название компании) будет получить соответствие каждому ключевому слову вместе с каждым местоположением.
ie:
google.com
- keyword 1 location 1
- keyword 1 location 2
- keyword 1 location 3
- keyword 2 location 1
- keyword 2 location 2
// etc etc. there may be hundreds of keywords and hundreds of locations.
bing.com
- keyword 1 location 1
- keyword 1 location 2
// etc etc as above.
Каждая из этих конкатенаций будет иметь точки данных временных рядов, которые я хочу сохранить и в конечном итоге запросить.
Я вижу, как можно настроить несколько таблиц, чтобы справиться с этим, но есть ли способ немного упростить это, сохранив некоторые json?
Большинство моих миграций в проектах были довольно просто с одним отношением, но это немного сложнее для меня.
Любая помощь приветствуется. В идеале я хотел бы по возможности избегать ряда таблиц и сложных сводок или ассоциаций (понимая преимущества нормализации ...)