В настоящее время я работаю над приложением, в которое добавляю магазины, в которых покупатели могут купить товар. Теперь у меня есть канал json с магазинами, из которого я могу получить все данные магазина.
Поля, такие как телефон, почтовый индекс и адрес, являются стандартными и простыми в применении. Но канал json также дает мне список дней недели, когда магазин будет открываться / закрываться.
У меня нет опыта внедрения чего-то подобного в базу данных. Как бы я пошел осуществить это? Я думаю, что просто выгрузка массива в одном поле — это, вероятно, плохая идея, но, опять же, мне не придется это придумывать, так как он обновляется только из фида json через вызовы API.
Я бы, вероятно, создал что-то вроде таблицы creation_hours. Я бы, вероятно, использовал:
Но каждый магазин будет иметь свои будние дни 1,2,3,4,5,6, соответствующие с понедельника по субботу. Это, вероятно, вызвало бы много повторных данных, но я думаю, что просто нет пути к этому?
Надеюсь, кто-нибудь может направить меня в правильном направлении.
Пример подачи в json:
openinghours: [
{
closing: "18:00",
weekday: 0,
opening: "12:00"},
{
closing: "18:00",
weekday: 1,
opening: "09:00"},
{
closing: "18:00",
weekday: 2,
opening: "09:00"},
{
closing: "18:00",
weekday: 3,
opening: "09:00"},
{
closing: "18:00",
weekday: 4,
opening: "09:00"},
{
closing: "17:30",
weekday: 5,
opening: "09:00"},
{
closing: null,
weekday: 6,
opening: null
}
],
lng: 4.6217623,
id: 5014
Во-первых, нужно ли хранить эти данные для вашего приложения? Вполне допустимо игнорировать часы открытия / закрытия, если вы никогда не собираетесь их использовать.
если ты являются собираетесь использовать эти данные, это будет только для отображения? Если это так, вы можете просто сохранить массив JSON в его первоначальном формате в поле «часы» для таблицы магазинов и декодировать его при необходимости. Если данные должны быть поиск, тогда да, вы, вероятно, собираетесь создать таблицу «один ко многим», как описано выше. В качестве альтернативы, вы можете создать таблицу со столбцами для каждого дня:
store_id mon_op mon_clos tue_op tue_clos . . . sat_op sat_clos
Это позволило бы избежать проблемы «один ко многим», но на самом деле не намного яснее. Однако какой бы формат вы ни выбрали, я бы порекомендовал преобразовать часовую строку в подходящий формат даты / времени для удобства поиска.
Других решений пока нет …